BulkEnergyConservation

Description

Sets an initial condition for temperature given a heat source distribution as

(1)

where is the flow_direction, is the integration along directions perpendicular to , is the fluid mass flowrate, is the fluid isobaric specific heat capacity, is the temperature distribution, and is the inlet temperature. In other words, this boundary condition assumes basic bulk energy conservation based on a specified heat source distribution with flow along one main direction.

The BulkEnergyConservation is not an actual object in Cardinal, but instead a convenience wrapper around the BulkEnergyConservationIC that automatically sets up a number of postprocessors necessary for computing the initial condition. The parameters that must be set for this action include:

  • variable: Variable(s) to apply the initial condition to

  • num_layers: Number of layers to integrate the heat source along in Eq. (1)

  • flow_direction: Main flow direction, x, y, or z

  • mass_flowrate: Fluid mass flowrate,

  • cp: Fluid isobaric specific heat capacity,

  • inlet_T: Fluid inlet temperature,

Optional parameters for this action include:

  • positive_flow_direction: Whether the flow is in the positive direction (true) or negative direction (false). When set to false, this means that the heat source in Eq. (1) will be integrated cumulatively from to

  • direction_min: Minimum coordinate from which to integrate the heat source,

  • direction_max: Maximum coordinate to which to integrate the heat source,

If not provided, the minimum and maximum coordinates over which to integrate the heat source are obtained from a bounding box calculation.

Example Input Syntax

We use custom Cardinal syntax in order to simplify setup of this initial condition. When using the action syntax, this boundary condition must be paired with a VolumetricHeatSource which sets the functional form of the initial condition on the heat source.

As an example, below we set a sinusoidal heat source with generic form for a total magnitude of 1e5 (upon volume integration). This means that the actual initial condition is , where is determined in order to satisfy the specified total volume integral. Then, we set a corresponding fluid temperature condition based on .

[Cardinal]
  [ICs]
    [VolumetricHeatSource]
      variable = power
      magnitude = 1e5
      function = power_shape
    []
    [BulkEnergyConservation]
      variable = fluid_temp
      flow_direction = z
      num_layers = 20

      mass_flowrate = 2.0
      cp = 1200
      inlet_T = 500.0
    []
  []
[]
(test/tests/ics/bulk_energy_conservation_ic/action.i)