Appearance
adam_rk_nvf_object
ADAM, RK class NVF (NVF backend of rk_object).
Source: src/lib/nvf/adam_rk_nvf_object.F90
Dependencies
Contents
Derived Types
rk_nvf_object
RK NVF class definition.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
rk | type(rk_object) | pointer | RK common handler. |
mpih | type(mpih_nvf_object) | MPI handler. | |
alph_gpu | real(kind=R8P) | allocatable, device | RK alpha coefficients. |
beta_gpu | real(kind=R8P) | allocatable, device | RK beta coefficients. |
gamm_gpu | real(kind=R8P) | allocatable, device | RK gamma coefficients. |
q_rk_gpu | real(kind=R8P) | allocatable, device | Field cell centered variables, RK stages. |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
assign_stage | pass(self) | Assign q to RK stage. |
compute_stage | pass(self) | Compute RK stage. |
compute_stage_ls | pass(self) | Compute RK stage, low storage scheme. |
initialize | pass(self) | Initialize class. |
initialize_stages | pass(self) | Initialize RK stages. |
update_q | pass(self) | Update RK q. |
Subroutines
assign_stage
Assign q to RK stage.
fortran
subroutine assign_stage(self, s, q_gpu, phi_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_nvf_object) | inout | RK object. | |
s | integer(kind=I4P) | in | Current stage number. | |
q_gpu | real(kind=R8P) | in | device | Conservative variables. |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
Call graph
compute_stage
Compute RK stage.
fortran
subroutine compute_stage(self, s, dt, phi_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_nvf_object) | inout | RK object. | |
s | integer(kind=I4P) | in | Current stage number. | |
dt | real(kind=R8P) | in | Current time step. | |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
Call graph
compute_stage_ls
Compute RK stage, low storage scheme. The first (only) stage is assumed to be the previous time step q solution.
fortran
subroutine compute_stage_ls(self, s, dt, phi_gpu, dq_gpu, q_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_nvf_object) | in | RK object. | |
s | integer(kind=I4P) | in | Current RK stage. | |
dt | real(kind=R8P) | in | Current time step. | |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
dq_gpu | real(kind=R8P) | in | device | Conservative variables residuals. |
q_gpu | real(kind=R8P) | inout | device | Conservative variables stage. |
Call graph
initialize
Initialize class.
fortran
subroutine initialize(self, rk, nb, ngc, ni, nj, nk, nv)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_nvf_object) | inout | RK NVF object. | |
rk | type(rk_object) | in | target | RK object. |
nb | integer(kind=I4P) | in | Total blocks number for MPI. | |
ngc | integer(kind=I4P) | in | Number of ghost cells. | |
ni | integer(kind=I4P) | in | Number of cells in i direction. | |
nj | integer(kind=I4P) | in | Number of cells in j direction. | |
nk | integer(kind=I4P) | in | Number of cells in k direction. | |
nv | integer(kind=I4P) | in | Number of conservative variables. |
Call graph
initialize_stages
Initialize RK stages.
fortran
subroutine initialize_stages(self, q_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_nvf_object) | inout | RK object. | |
q_gpu | real(kind=R8P) | in | device | Conservative variables. |
Call graph
update_q
Update RK q.
fortran
subroutine update_q(self, dt, phi_gpu, q_gpu)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_nvf_object) | in | RK object. | |
dt | real(kind=R8P) | in | Current time step. | |
phi_gpu | real(kind=R8P) | in | device, optional | IB distance. |
q_gpu | real(kind=R8P) | inout | device | Conservative variables. |
Call graph