With the pressure equation handled, we turn to the heat conduction equation:

C \frac{\partial T}{\partial t} - \nabla \cdot k \nabla T = 0

• Let's initially exclude the time-dependent term and focus on the steady heat conduction equation, given by: -\nabla \cdot k \nabla T = 0
• We are left with another Diffusion-type term which depends on the thermal conductivity, $$k$$$. This term is implemented in the MOOSE heat_conduction module as HeatConductionKernel. • This Kernel is now used in conjunction with a GenericConstantMaterial to perform a steady state heat conduction solve (with $$T=350$$$ at the inlet and $$T=300$$$at the outlet). • GernericConstantMaterial is a simple way to define constant material properties. • Two input parameters are provided using the usual "list" syntax: prop_names = 'conductivity density' prop_values = '0.01 200'  ## Steady Heat Conduction Code modules/heat_conduction/include/HeatConduction.h modules/heat_conduction/src/HeatConduction.C step5_heat_conduction/problems/step5a_steady.i # Transient Heat Conduction (5b) • Now, add back in the time derivative to do a Transient heat conduction calculation: C \frac{\partial T}{\partial t} - \nabla \cdot k \nabla T = 0 • This term already exists in the HeatConduction module as HeatConductionTimeDerivative. • We therefore need only update the input file to run the transient case. MOOSE Time Derivative MOOSE Executioners MOOSE TimeSteppers ## Transient Heat Conduction Code modules/heat_conduction/src/HeatConductionTimeDerivative.C step5_heat_conduction/problems/step5b_transient.i # Outflow BoundaryCondition (5c) • The flow is assumed to exit the pipe into a large tank. • This is modeled with the "No BC" boundary condition of Griffiths. • In this BC, the the boundary term, $$-\left < k \nabla T \cdot \mathbf{n}, \psi_i \right >$$$, is computed implicitly rather than being replaced with a known flux, as is done in a NeumannBC.

MOOSE BoundaryConditions

## Output BoundaryCondition Code

step05_heat_conduction/include/bcs/HeatConductionOutflow.h

step05_heat_conduction/src/bcs/HeatConductionOutflow.C

step05_heat_conduction/problems/step5c_outflow.i

# Create a Test

• Generate a tests that uses HeatConductionOutflow by mimicking the problem above but limiting the mesh size and the number of timesteps.

tutorials/darcy_thermo_mech/step05_heat_conduction/tests/bcs/outflow/tests

tutorials/darcy_thermo_mech/step05_heat_conduction/tests/bcs/outflow/outflow.i