39 use json_module,
only : json_file
67 module subroutine advection_factory(object, json, coef, &
68 ulag, vlag, wlag, dtlag, tlag,
time_scheme, use_dummy, slag)
69 class(advection_t),
allocatable,
intent(inout) :: object
70 type(json_file),
intent(inout) :: json
71 type(
coef_t),
intent(inout),
target :: coef
73 real(kind=
rp),
intent(in),
target :: dtlag(10)
74 real(kind=
rp),
intent(in),
target :: tlag(10)
76 logical,
optional,
intent(in) :: use_dummy
78 end subroutine advection_factory
81 public :: advection_factory
96 subroutine compute_adv(this, vx, vy, vz, fx, fy, fz, Xh, coef, n, dt)
102 class(advection_t),
intent(inout) :: this
103 type(
space_t),
intent(inout) :: Xh
104 type(
coef_t),
intent(inout) :: coef
105 type(
field_t),
intent(inout) :: vx, vy, vz
106 type(
field_t),
intent(inout) :: fx, fy, fz
107 integer,
intent(in) :: n
108 real(kind=
rp),
intent(in),
optional :: dt
109 end subroutine compute_adv
124 subroutine compute_scalar_adv(this, vx, vy, vz, s, fs, Xh, coef, n, dt)
125 import :: advection_t
130 class(advection_t),
intent(inout) :: this
131 type(
field_t),
intent(inout) :: vx, vy, vz
132 type(
field_t),
intent(inout) :: s
133 type(
field_t),
intent(inout) :: fs
134 type(
space_t),
intent(inout) :: Xh
135 type(
coef_t),
intent(inout) :: coef
136 integer,
intent(in) :: n
137 real(kind=
rp),
intent(in),
optional :: dt
138 end subroutine compute_scalar_adv
143 subroutine advection_free(this)
144 import :: advection_t
145 class(advection_t),
intent(inout) :: this
146 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 ...