Temperature equation
IncompressibleNavierStokes.jl supports adding a temperature equation, which is coupled back to the momentum equation through a gravity term [11].
To enable the temperature equation, you need to set the temperature
keyword in setup:
setup = Setup(
args...;
kwargs...,
temperature = temperature_equation(; kwargs...),
)
where temperature_equation
can be configured as follows:
IncompressibleNavierStokes.temperature_equation
— Functiontemperature_equation(;
Pr,
Ra,
Ge,
dodissipation = true,
boundary_conditions,
gdir = 2,
)
Temperature equation setup.
The equation is parameterized by three dimensionless numbers (Prandtl number, Rayleigh number, and Gebhart number), and requires separate boundary conditions for the temperature
field. The gdir
keyword specifies the direction gravity, while non_dim_type
specifies the type of non-dimensionalization.
Some operators are available for the temperature equation:
IncompressibleNavierStokes.gravity!
— Functiongravity!(F, temp, setup)
Compute gravity term (add to existing F
).
IncompressibleNavierStokes.convection_diffusion_temp!
— Functionconvection_diffusion_temp!(c, u, temp, setup)
Compute convection-diffusion term for the temperature equation. Add result to c
.
IncompressibleNavierStokes.dissipation!
— Functiondissipation!(diss, diff, u, setup)
Compute dissipation term for the temperature equation. Add result to diss
.