* The Darcy pressure and heat conduction equations have been developed independently up to this point.
* In this step, we couple them together.
$$-\nabla \cdot \frac{\mathbf{K}}{\mu} \nabla p = 0 \\ C\left( \frac{\partial T}{\partial t} + \epsilon \vec{u}\cdot\nabla T \right) - \nabla \cdot k \nabla T = 0$$\$
* Objects have been created for everything except the $$\vec{u}\cdot\nabla T$$ term.
* A Kernel, DarcyConvection, will be developed for this term.
* We will also develop a more sophisticated Material that takes the heterogenous nature of our column into account.

[Multiphysics Coupling](/wiki/MooseTraining/MultiphysicsCoupling)

[](---)
## Coupling Code

[step06_coupled_darcy_heat_conduction/include/kernels/DarcyConvection.h](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/include/kernels/DarcyConvection.h)

[](---)

[step06_coupled_darcy_heat_conduction/src/kernels/DarcyConvection.C](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/src/kernels/DarcyConvection.C)

[](---)

[step06_coupled_darcy_heat_conduction/include/materials/PackedColumn.h](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/include/materials/PackedColumn.h)

[](---)

[step06_coupled_darcy_heat_conduction/src/materials/PackedColumn.C](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/src/materials/PackedColumn.C)

[](---)
# Transient Function Inlet (6b)

* MOOSE supports the use of function strings, e.g. cos(x), in the input file via ParsedFunction objects.
* It is also possible to create C++ Function objects that may be used by other objects

[Functions](/wiki/MooseSystems/Functions)

[](---)
## Oscillating inlet/outlet Pressure Input File
[step06_coupled_darcy_heat_conduction/problems/step6b_transient_inflow.i](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/problems/step6b_transient_inflow.i)

[](---)
# Create a Test

- A simple test of DarcyConvection is created by:
* Creating an artificial pressure field using an AuxVariable
* Reducing the number of timesteps from the problem above

[tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/tests/kernels/darcy_convection/tests](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/tests/kernels/darcy_convection/tests)

[](---)

[tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/tests/kernels/darcy_convection/darcy_convection.i](https://github.com/idaholab/moose/blob/devel/tutorials/darcy_thermo_mech/step06_coupled_darcy_heat_conduction/tests/kernels/darcy_convection/darcy_convection.i)