39 use json_module,
only : json_file
65 module subroutine advection_factory(object, json, coef, &
68 class(advection_t),
allocatable,
intent(inout) :: object
69 type(json_file),
intent(inout) :: json
70 type(
coef_t),
intent(inout),
target :: coef
72 real(kind=
rp),
intent(in),
target :: dtlag(10)
73 real(kind=
rp),
intent(in),
target :: tlag(10)
76 end subroutine advection_factory
79 public :: advection_factory
94 subroutine compute_adv(this, vx, vy, vz, fx, fy, fz, Xh, coef, n, dt)
100 class(advection_t),
intent(inout) :: this
101 type(
space_t),
intent(inout) :: Xh
102 type(
coef_t),
intent(inout) :: coef
103 type(
field_t),
intent(inout) :: vx, vy, vz
104 type(
field_t),
intent(inout) :: fx, fy, fz
105 integer,
intent(in) :: n
106 real(kind=
rp),
intent(in),
optional :: dt
107 end subroutine compute_adv
122 subroutine compute_scalar_adv(this, vx, vy, vz, s, fs, Xh, coef, n, dt)
123 import :: advection_t
128 class(advection_t),
intent(inout) :: this
129 type(
field_t),
intent(inout) :: vx, vy, vz
130 type(
field_t),
intent(inout) :: s
131 type(
field_t),
intent(inout) :: fs
132 type(
space_t),
intent(inout) :: Xh
133 type(
coef_t),
intent(inout) :: coef
134 integer,
intent(in) :: n
135 real(kind=
rp),
intent(in),
optional :: dt
136 end subroutine compute_scalar_adv
141 subroutine advection_free(this)
142 import :: advection_t
143 class(advection_t),
intent(inout) :: this
144 end subroutine advection_free
A factory for advection_t decendants. Both creates and initializes the object.
Add advection operator to the right-hand-side for a scalar.
Subroutines to add advection terms to the RHS of a transport equation.
integer, parameter, public rp
Global precision used in computations.
Defines a function space.
Compound scheme for the advection and diffusion operators in a transport equation.
Base class for time integration schemes.
Base abstract type for computing the advection operator.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
The function space for the SEM solution fields.
Implements the logic to compute the time coefficients for the advection and diffusion operators in a ...