Type encapsulating advection routines with dealiasing.
More...
|
procedure, pass(this) | compute (this, vx, vy, vz, fx, fy, fz, xh, coef, n, dt) |
| Add the advection term for the fluid, i.e. \(u \cdot \nabla u \), to the RHS.
|
|
procedure, pass(this) | compute_scalar (this, vx, vy, vz, s, fs, xh, coef, n, dt) |
| Add the advection term for a scalar, i.e. \(u \cdot \nabla s \), to the RHS.
|
|
procedure, pass(this) | init (this, lxd, coef) |
| Constructor.
|
|
procedure, pass(this) | free (this) |
| Destructor.
|
|
procedure(compute_adv), deferred, pass | compute (this, vx, vy, vz, fx, fy, fz, xh, coef, n, dt) |
|
procedure(compute_scalar_adv), deferred, pass | compute_scalar (this, vx, vy, vz, s, fs, xh, coef, n, dt) |
|
procedure(advection_free), deferred, pass | free (this) |
|
|
type(coef_t) | coef_gl |
| Coeffs of the higher-order space.
|
|
type(coef_t), pointer | coef_gll |
| Coeffs of the original space in the simulation.
|
|
type(interpolator_t) | gll_to_gl |
| Interpolator between the original and higher-order spaces.
|
|
type(space_t) | xh_gl |
| The additional higher-order space used in dealiasing.
|
|
type(space_t), pointer | xh_gll |
| The original space used in the simulation.
|
|
real(kind=rp), dimension(:), allocatable | temp |
|
real(kind=rp), dimension(:), allocatable | tbf |
|
real(kind=rp), dimension(:), allocatable | tx |
| Temporary arrays.
|
|
real(kind=rp), dimension(:), allocatable | ty |
|
real(kind=rp), dimension(:), allocatable | tz |
|
real(kind=rp), dimension(:), allocatable | vr |
|
real(kind=rp), dimension(:), allocatable | vs |
|
real(kind=rp), dimension(:), allocatable | vt |
|
type(c_ptr) | temp_d = C_NULL_PTR |
| Device pointer for temp
|
|
type(c_ptr) | tbf_d = C_NULL_PTR |
| Device pointer for tbf
|
|
type(c_ptr) | tx_d = C_NULL_PTR |
| Device pointer for tx
|
|
type(c_ptr) | ty_d = C_NULL_PTR |
| Device pointer for ty
|
|
type(c_ptr) | tz_d = C_NULL_PTR |
| Device pointer for tz
|
|
type(c_ptr) | vr_d = C_NULL_PTR |
| Device pointer for vr
|
|
type(c_ptr) | vs_d = C_NULL_PTR |
| Device pointer for vs
|
|
type(c_ptr) | vt_d = C_NULL_PTR |
| Device pointer for vt
|
|
Definition at line 52 of file adv_dealias.f90.
◆ compute() [1/2]
procedure(compute_adv), deferred, pass advection::advection_t::compute |
( |
class(advection_t), intent(inout) |
this, |
|
|
type(field_t), intent(inout) |
vx, |
|
|
type(field_t), intent(inout) |
vy, |
|
|
type(field_t), intent(inout) |
vz, |
|
|
type(field_t), intent(inout) |
fx, |
|
|
type(field_t), intent(inout) |
fy, |
|
|
type(field_t), intent(inout) |
fz, |
|
|
type(space_t), intent(in) |
xh, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, intent(in) |
n, |
|
|
real(kind=rp), intent(in), optional |
dt |
|
) |
| |
|
pure virtualinherited |
◆ compute() [2/2]
procedure, pass(this) adv_dealias::adv_dealias_t::compute |
( |
class(adv_dealias_t), intent(inout) |
this, |
|
|
type(field_t), intent(inout) |
vx, |
|
|
type(field_t), intent(inout) |
vy, |
|
|
type(field_t), intent(inout) |
vz, |
|
|
type(field_t), intent(inout) |
fx, |
|
|
type(field_t), intent(inout) |
fy, |
|
|
type(field_t), intent(inout) |
fz, |
|
|
type(space_t), intent(in) |
xh, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, intent(in) |
n, |
|
|
real(kind=rp), intent(in), optional |
dt |
|
) |
| |
- Parameters
-
vx | The x component of velocity. |
vy | The y component of velocity. |
vz | The z component of velocity. |
fx | The x component of source term. |
fy | The y component of source term. |
fz | The z component of source term. |
Xh | The function space. |
coef | The coefficients of the (Xh, mesh) pair. |
n | Typically the size of the mesh. |
dt | Current time-step, not required for this method. |
Definition at line 87 of file adv_dealias.f90.
◆ compute_scalar() [1/2]
procedure(compute_scalar_adv), deferred, pass advection::advection_t::compute_scalar |
( |
class(advection_t), intent(inout) |
this, |
|
|
type(field_t), intent(inout) |
vx, |
|
|
type(field_t), intent(inout) |
vy, |
|
|
type(field_t), intent(inout) |
vz, |
|
|
type(field_t), intent(inout) |
s, |
|
|
type(field_t), intent(inout) |
fs, |
|
|
type(space_t), intent(in) |
xh, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, intent(in) |
n, |
|
|
real(kind=rp), intent(in), optional |
dt |
|
) |
| |
|
pure virtualinherited |
◆ compute_scalar() [2/2]
procedure, pass(this) adv_dealias::adv_dealias_t::compute_scalar |
( |
class(adv_dealias_t), intent(inout) |
this, |
|
|
type(field_t), intent(inout) |
vx, |
|
|
type(field_t), intent(inout) |
vy, |
|
|
type(field_t), intent(inout) |
vz, |
|
|
type(field_t), intent(inout) |
s, |
|
|
type(field_t), intent(inout) |
fs, |
|
|
type(space_t), intent(in) |
xh, |
|
|
type(coef_t), intent(in) |
coef, |
|
|
integer, intent(in) |
n, |
|
|
real(kind=rp), intent(in), optional |
dt |
|
) |
| |
- Parameters
-
this | The object. |
vx | The x component of velocity. |
vy | The y component of velocity. |
vz | The z component of velocity. |
s | The scalar. |
fs | The source term. |
Xh | The function space. |
coef | The coefficients of the (Xh, mesh) pair. |
n | Typically the size of the mesh. |
dt | Current time-step, not required for this method. |
Definition at line 90 of file adv_dealias.f90.
◆ free() [1/2]
◆ free() [2/2]
◆ init()
- Parameters
-
lxd | The polynomial order of the space used in the dealiasing. |
coef | The coefficients of the (space, mesh) pair. |
Definition at line 92 of file adv_dealias.f90.
◆ coef_gl
type(coef_t) adv_dealias::adv_dealias_t::coef_gl |
◆ coef_gll
◆ gll_to_gl
◆ tbf
◆ tbf_d
type(c_ptr) adv_dealias::adv_dealias_t::tbf_d = C_NULL_PTR |
◆ temp
◆ temp_d
type(c_ptr) adv_dealias::adv_dealias_t::temp_d = C_NULL_PTR |
◆ tx
◆ tx_d
type(c_ptr) adv_dealias::adv_dealias_t::tx_d = C_NULL_PTR |
◆ ty
◆ ty_d
type(c_ptr) adv_dealias::adv_dealias_t::ty_d = C_NULL_PTR |
◆ tz
◆ tz_d
type(c_ptr) adv_dealias::adv_dealias_t::tz_d = C_NULL_PTR |
◆ vr
◆ vr_d
type(c_ptr) adv_dealias::adv_dealias_t::vr_d = C_NULL_PTR |
◆ vs
◆ vs_d
type(c_ptr) adv_dealias::adv_dealias_t::vs_d = C_NULL_PTR |
◆ vt
◆ vt_d
type(c_ptr) adv_dealias::adv_dealias_t::vt_d = C_NULL_PTR |
◆ xh_gl
type(space_t) adv_dealias::adv_dealias_t::xh_gl |
◆ xh_gll
The documentation for this type was generated from the following file: