Appearance
adam_rk_gmp_object
ADAM, RK class GMP (GMP backend of rk_object).
Source: src/lib/gmp/adam_rk_gmp_object.F90
Dependencies
Contents
Derived Types
rk_gmp_object
RK GMP class definition.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
rk | type(rk_object) | pointer | RK common handler. |
mpih | type(mpih_gmp_object) | pointer | MPI handler. |
alph_gpu | real(kind=R8P) | pointer | RK alpha coefficients. |
beta_gpu | real(kind=R8P) | pointer | RK beta coefficients. |
gamm_gpu | real(kind=R8P) | pointer | RK gamma coefficients. |
q_rk_gpu | real(kind=R8P) | pointer | 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_gmp_object) | inout | RK object. | |
s | integer(kind=I4P) | in | Current stage number. | |
q_gpu | real(kind=R8P) | in | Conservative variables. | |
phi_gpu | real(kind=R8P) | in | 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_gmp_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 | 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_gmp_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 | optional | IB distance. |
dq_gpu | real(kind=R8P) | in | Conservative variables residuals. | |
q_gpu | real(kind=R8P) | inout | Conservative variables stage. |
Call graph
initialize
Initialize class.
fortran
subroutine initialize(self, mpih, rk, nb, ngc, ni, nj, nk, nv)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(rk_gmp_object) | inout | RK GMP object. | |
mpih | type(mpih_gmp_object) | in | target | MPI handler, GMP backend. |
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_gmp_object) | inout | RK object. | |
q_gpu | real(kind=R8P) | in | 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_gmp_object) | in | RK object. | |
dt | real(kind=R8P) | in | Current time step. | |
phi_gpu | real(kind=R8P) | in | optional | IB distance. |
q_gpu | real(kind=R8P) | inout | Conservative variables. |
Call graph