VolumetricHeatSource

Description

Sets an initial condition while preserving a total specified volume integral. The VolumetricHeatSource is not an actual object in Cardinal, but only a convenience wrapper around the IntegralPreservingFunctionIC in MOOSE, which defines an initial condition as the combination of a function and a total "magnitude" (integral) that should be preserved. This action applies the initial condition:

u(r,t0)=q0f(r,t0) u(\vec{r}, t_0) = q_0 f(\vec{r}, t_0)(1)

where uu is the variable, ff is the function, and q0q_0 is a scaling factor used to preserve a total magnitude upon volume integration:

q0=QΩfdΩ q_0=\frac{Q}{\int_\Omega fd\Omega}(2)

where QQ is the total magnitude and Ω\Omega is the domain of integration. The parameters that must be provided for this action are:

  • variable: Variable to apply the initial condition to

  • function: Function providing the shape of the heat source

  • magnitude: Desired integrated total magnitude of the heat source

Example Input Syntax

We use custom Cardinal syntax in order to simplify setup of this initial condition. As an example, below we set a sinusoidal heat source with generic form sin(πzH)\sin{\left(\frac{\pi z}{H}\right)} for a total magnitude of 550 (upon volume integration). This means that the actual initial condition is q0sin(πzH)q_0\sin{\left(\frac{\pi z}{H}\right)}, where q0q_0 is determined in order to satisfy the specified total volume integral.

[Cardinal]
  [ICs]
    [VolumetricHeatSource]
      variable = power
      magnitude = 550.0
      function = 'sin(pi * z / 1.9)'
    []
  []
[]
(test/tests/ics/volumetric_heat_source_ic/sinusoidal_z.i)