59 module subroutine advection_factory(object, json, coef, ulag, vlag, wlag, &
61 class(advection_t),
allocatable,
intent(inout) :: object
62 type(json_file),
intent(inout) :: json
63 type(coef_t),
intent(inout),
target :: coef
64 type(field_series_t),
intent(in),
target :: ulag, vlag, wlag
65 real(kind=rp),
intent(in),
target :: dtlag(10)
66 real(kind=rp),
intent(in),
target :: tlag(10)
67 type(time_scheme_controller_t),
intent(in),
target :: time_scheme
68 logical,
optional,
intent(in) :: use_dummy
69 type(field_series_t),
target,
optional,
intent(in) :: slag
71 logical :: dealias, oifs
72 real(kind=rp) :: ctarget
76 if (
allocated(object))
then
81 if (
present(use_dummy))
then
82 if (use_dummy .eqv. .true.)
then
89 call json_get(json,
'case.numerics.dealias', dealias)
90 call json_get(json,
'case.numerics.polynomial_order', order)
94 lxd, ( 3 * (order + 1) ) / 2)
109 select type (adv => object)
111 call adv%init(lxd, coef)
115 if (
present(slag))
then
116 call adv%init(lxd, coef, ctarget, ulag, vlag, wlag, &
119 call adv%init(lxd, coef, ctarget, ulag, vlag, wlag, &
124 end subroutine advection_factory
127 end submodule advection_fctry
Retrieves a parameter by name or assigns a provided default value. In the latter case also adds the m...
Retrieves a parameter by name or throws an error.
Subroutines to add advection terms to the RHS of a transport equation.
Subroutines to add advection terms to the RHS of a transport equation.
Subroutines to add advection terms to the RHS of a transport equation.
Subroutines to add advection terms to the RHS of a transport equation.
Utilities for retrieving parameters from the case files.
Base class for time integration schemes.
Type encapsulating advection routines with dealiasing.
A zero-valued advection that can be used to kill the advection term.
Type encapsulating advection routines with no dealiasing applied.