- T_solidThe solid temperature.
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The solid temperature.
- boundaryThe list of boundary IDs from the mesh where this object applies
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundary IDs from the mesh where this object applies
ConvectiveHeatTransferSideIntegral
Computes the total convective heat transfer across a boundary.
Description
This postprocessor computes the total heat flux by integrating the product of the temperature difference and the heat transfer coefficient over a set of boundaries.
where is the set of boundaries, is the solid temperature, is the fluid temperature, and is the heat transfer coefficient.
This postprocessor is useful for ensuring conservative transfers when Robin boundary conditions are used.
Example Input File Syntax
[Mesh<<<{"href": "../../syntax/Mesh/index.html"}>>>]
type = MeshGeneratorMesh
[./cartesian]
type = CartesianMeshGenerator<<<{"description": "This CartesianMeshGenerator creates a non-uniform Cartesian mesh.", "href": "../meshgenerators/CartesianMeshGenerator.html"}>>>
dim<<<{"description": "The dimension of the mesh to be generated"}>>> = 2
dx<<<{"description": "Intervals in the X direction"}>>> = '0.45 0.1 0.45'
ix<<<{"description": "Number of grids in all intervals in the X direction (default to all one)"}>>> = '5 1 5'
dy<<<{"description": "Intervals in the Y direction (required when dim>1 otherwise ignored)"}>>> = '0.45 0.1 0.45'
iy<<<{"description": "Number of grids in all intervals in the Y direction (default to all one)"}>>> = '5 1 5'
subdomain_id<<<{"description": "Block IDs (default to all zero)"}>>> = '1 1 1
1 2 1
1 1 1'
[../]
[./add_iss_1]
type = SideSetsBetweenSubdomainsGenerator<<<{"description": "MeshGenerator that creates a sideset composed of the nodes located between two or more subdomains.", "href": "../meshgenerators/SideSetsBetweenSubdomainsGenerator.html"}>>>
primary_block<<<{"description": "The primary set of blocks for which to draw a sideset between"}>>> = 1
paired_block<<<{"description": "The paired set of blocks for which to draw a sideset between"}>>> = 2
new_boundary<<<{"description": "The list of boundary names to create on the supplied subdomain"}>>> = 'interface'
input<<<{"description": "The mesh we want to modify"}>>> = cartesian
[../]
[./block_deleter]
type = BlockDeletionGenerator<<<{"description": "Mesh generator which removes elements from the specified subdomains", "href": "../meshgenerators/BlockDeletionGenerator.html"}>>>
block<<<{"description": "The list of blocks to be deleted"}>>> = 2
input<<<{"description": "The mesh we want to modify"}>>> = add_iss_1
[../]
[]
[Variables<<<{"href": "../../syntax/Variables/index.html"}>>>]
[./temperature]
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 300
[../]
[]
[AuxVariables<<<{"href": "../../syntax/AuxVariables/index.html"}>>>]
[./channel_T]
family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 400
[../]
[./channel_Hw]
family<<<{"description": "Specifies the family of FE shape functions to use for this variable"}>>> = MONOMIAL
order<<<{"description": "Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)"}>>> = CONSTANT
initial_condition<<<{"description": "Specifies a constant initial condition for this variable"}>>> = 1000
[../]
[]
[Kernels<<<{"href": "../../syntax/Kernels/index.html"}>>>]
[./graphite_diffusion]
type = HeatConduction<<<{"description": "Diffusive heat conduction term $-\\nabla\\cdot(k\\nabla T)$ of the thermal energy conservation equation", "href": "../kernels/HeatConduction.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
diffusion_coefficient<<<{"description": "Property name of the diffusion coefficient"}>>> = 'k_s'
[../]
[]
[BCs<<<{"href": "../../syntax/BCs/index.html"}>>>]
## boundary conditions for the thm channels in the reflector
[./channel_heat_transfer]
type = CoupledConvectiveHeatFluxBC<<<{"description": "Convective heat transfer boundary condition with temperature and heat transfer coefficent given by auxiliary variables.", "href": "../bcs/CoupledConvectiveHeatFluxBC.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
htc<<<{"description": "Heat transfer coefficient"}>>> = channel_Hw
T_infinity<<<{"description": "Field holding far-field temperature"}>>> = channel_T
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 'interface'
[../]
# hot boundary on the left
[./left]
type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../bcs/DirichletBC.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
value<<<{"description": "Value of the BC"}>>> = 1000
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 'left'
[../]
# cool boundary on the right
[./right]
type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../bcs/DirichletBC.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = temperature
value<<<{"description": "Value of the BC"}>>> = 300
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 'right'
[../]
[]
[Materials<<<{"href": "../../syntax/Materials/index.html"}>>>]
[./thermal]
type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../materials/GenericConstantMaterial.html"}>>>
prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'k_s'
prop_values<<<{"description": "The values associated with the named properties"}>>> = '12'
[../]
[./htc_material]
type = GenericConstantMaterial<<<{"description": "Declares material properties based on names and values prescribed by input parameters.", "href": "../materials/GenericConstantMaterial.html"}>>>
prop_names<<<{"description": "The names of the properties this material will have"}>>> = 'alpha_wall'
prop_values<<<{"description": "The values associated with the named properties"}>>> = '1000'
[../]
[./tfluid_mat]
type = PiecewiseLinearInterpolationMaterial<<<{"description": "Compute a property using a piecewise linear interpolation to define its dependence on a variable", "href": "../materials/PiecewiseLinearInterpolationMaterial.html"}>>>
property<<<{"description": "The name of the property this material will compute"}>>> = tfluid_mat
variable<<<{"description": "The name of the variable whose value is used as the abscissa in the interpolation"}>>> = channel_T
x<<<{"description": "The abscissa values"}>>> = '400 500'
y<<<{"description": "The ordinate values"}>>> = '400 500'
[../]
[]
[Postprocessors<<<{"href": "../../syntax/Postprocessors/index.html"}>>>]
[./Qw1]
type = ConvectiveHeatTransferSideIntegral<<<{"description": "Computes the total convective heat transfer across a boundary.", "href": "ConvectiveHeatTransferSideIntegral.html"}>>>
T_fluid_var<<<{"description": "The fluid temperature."}>>> = channel_T
htc_var<<<{"description": "HTC variable"}>>> = channel_Hw
T_solid<<<{"description": "The solid temperature."}>>> = temperature
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = interface
[../]
[./Qw2]
type = ConvectiveHeatTransferSideIntegral<<<{"description": "Computes the total convective heat transfer across a boundary.", "href": "ConvectiveHeatTransferSideIntegral.html"}>>>
T_fluid_var<<<{"description": "The fluid temperature."}>>> = channel_T
htc<<<{"description": "Name of alpha_wall material property"}>>> = alpha_wall
T_solid<<<{"description": "The solid temperature."}>>> = temperature
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = interface
[../]
[./Qw3]
type = ConvectiveHeatTransferSideIntegral<<<{"description": "Computes the total convective heat transfer across a boundary.", "href": "ConvectiveHeatTransferSideIntegral.html"}>>>
T_fluid<<<{"description": "Name of the fluid temperature material property"}>>> = tfluid_mat
htc<<<{"description": "Name of alpha_wall material property"}>>> = alpha_wall
T_solid<<<{"description": "The solid temperature."}>>> = temperature
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = interface
[../]
[]
[Executioner<<<{"href": "../../syntax/Executioner/index.html"}>>>]
type = Steady
[]
[Outputs<<<{"href": "../../syntax/Outputs/index.html"}>>>]
csv<<<{"description": "Output the scalar variable and postprocessors to a *.csv file using the default CSV output."}>>> = true
[]
(moose/modules/heat_transfer/test/tests/postprocessors/convective_ht_side_integral.i)Input Parameters
- T_fluidName of the fluid temperature material property
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Name of the fluid temperature material property
- T_fluid_varThe fluid temperature.
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The fluid temperature.
- htcName of alpha_wall material property
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Name of alpha_wall material property
- htc_varHTC variable
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:HTC variable
Optional Parameters
- allow_duplicate_execution_on_initialFalseIn the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
Default:False
C++ Type:bool
Controllable:No
Description:In the case where this UserObject is depended upon by an initial condition, allow it to be executed twice during the initial setup (once before the IC and again after mesh adaptivity (if applicable).
- execute_onTIMESTEP_ENDThe list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
Default:TIMESTEP_END
C++ Type:ExecFlagEnum
Controllable:No
Description:The list of flag(s) indicating when this object should be executed. For a description of each flag, see https://mooseframework.inl.gov/source/interfaces/SetupInterface.html.
- execution_order_group0Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
Default:0
C++ Type:int
Controllable:No
Description:Execution order groups are executed in increasing order (e.g., the lowest number is executed first). Note that negative group numbers may be used to execute groups before the default (0) group. Please refer to the user object documentation for ordering of user object execution within a group.
- force_postauxFalseForces the UserObject to be executed in POSTAUX
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in POSTAUX
- force_preauxFalseForces the UserObject to be executed in PREAUX
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in PREAUX
- force_preicFalseForces the UserObject to be executed in PREIC during initial setup
Default:False
C++ Type:bool
Controllable:No
Description:Forces the UserObject to be executed in PREIC during initial setup
Execution Scheduling Parameters
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- enableTrueSet the enabled status of the MooseObject.
Default:True
C++ Type:bool
Controllable:Yes
Description:Set the enabled status of the MooseObject.
- outputsVector of output names where you would like to restrict the output of variables(s) associated with this object
C++ Type:std::vector<OutputName>
Controllable:No
Description:Vector of output names where you would like to restrict the output of variables(s) associated with this object
- use_displaced_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Default:False
C++ Type:bool
Controllable:No
Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used.
Advanced Parameters
- prop_getter_suffixAn optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:An optional suffix parameter that can be appended to any attempt to retrieve/get material properties. The suffix will be prepended with a '_' character.
- use_interpolated_stateFalseFor the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.
Default:False
C++ Type:bool
Controllable:No
Description:For the old and older state use projected material properties interpolated at the quadrature points. To set up projection use the ProjectedStatefulMaterialStorageAction.