* 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)