Functions
Functions exported from PassiveTracerFlows
:
Functions exported from TracerAdvectionDiffusion
:
PassiveTracerFlows.TracerAdvectionDiffusion.Problem
— MethodProblem(dev::Device=CPU(), advecting_flow; parameters...)
Construct a constant diffusivity problem with steady or time-varying advecting_flow
on device dev
. The default device is the CPU()
, to use the GPU
pass the argument to the function The dimensionality of the problem is inferred from the type of advecting_flow
provided:
advecting_flow::OneDAdvectingFlow
for 1D advection-diffusion problem,advecting_flow::TwoDAdvectingFlow
for 2D advection-diffusion problem,advecting_flow::ThreeDAdvectingFlow
for 3D advection-diffusion problem.
PassiveTracerFlows.TracerAdvectionDiffusion.Problem
— MethodProblem(dev::Device=CPU(), MQGprob::FourierFlows.Problem; parameters...)
Construct a constant diffusivity problem on device dev
using the flow from a GeophysicalFlows.MultiLayerQG
problem as the advecting flow. The device CPU()
is set as the default device.
PassiveTracerFlows.TracerAdvectionDiffusion.set_c!
— Methodset_c!(sol, params::AbstractTurbulentFlowParams, grid, c)
Set the initial condition for tracer concentration in all layers of a TracerAdvectionDiffusion.Problem
that uses a MultiLayerQG
flow to advect the tracer.
PassiveTracerFlows.TracerAdvectionDiffusion.set_c!
— Methodset_c!(sol, params::Union{AbstractTimeVaryingFlowParams, AbstractSteadyFlowParams}, grid, c)
Set the solution sol
as the transform of c
and update variables vars
.
PassiveTracerFlows.TracerAdvectionDiffusion.updatevars!
— Methodupdatevars!(prob)
Update the prob.vars
in problem prob
using the solution prob.sol
.
PassiveTracerFlows.TracerAdvectionDiffusion.updatevars!
— Methodupdatevars!(params::AbstractTurbulentFlowParams, vars, grid, sol)
Update the vars
on the grid
with the solution in sol
for a problem prob
that is being advected by a turbulent flow.