Appearance
adam_prism_rk_pic_object
ADAM, RK-BC class definition.
Source: src/app/prism/common/adam_prism_rk_pic_object.F90
Dependencies
Contents
- prism_rk_pic_object
- initialize
- initialize_stages
- compute_stage
- assign_stage
- update_q_pic
- description
- crossproduct
Derived Types
prism_rk_pic_object
RK class definition.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
mpih | type(mpih_object) | MPI handler. | |
scheme | character(len=:) | pointer | RK scheme. |
nrk | integer(kind=I4P) | Runge-Kutta stages number. | |
ark | real(kind=R8P) | allocatable | Runge-Kutta low storage alpha coefficients. |
brk | real(kind=R8P) | allocatable | Runge-Kutta low storage beta coefficients. |
crk | real(kind=R8P) | allocatable | Runge-Kutta low storage beta coefficients. |
alph | real(kind=R8P) | allocatable | Runge-Kutta SSP alpha coefficients. |
beta | real(kind=R8P) | allocatable | Runge-Kutta SSP beta coefficients. |
gamm | real(kind=R8P) | allocatable | Runge-Kutta SSP gamma coefficients. |
ssa | real(kind=R8P) | allocatable | Runge-Kutta sympletic-splitting part A coefficients. |
ssb | real(kind=R8P) | allocatable | Runge-Kutta sympletic-splitting part B coefficients. |
q_pic_rk | real(kind=R8P) | allocatable | RK stages for pic variables [particle, variable, stage]. |
particle_number | integer(kind=I4P) | pointer | Number of particles. |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
assign_stage | pass(self) | Assign q to RK stage. |
compute_stage | pass(self) | Compute RK stage. |
description | pass(self) | Return pretty-printed object description. |
initialize | pass(self) | Initialize class. |
initialize_stages | pass(self) | Initialize RK stages. |
update_q_pic | pass(self) | Update RK q. |
Subroutines
initialize
Initialize class.
fortran
subroutine initialize(self, file_parameters, rk, pic)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_rk_pic_object) | inout | RK object. | |
file_parameters | type(file_ini) | in | optional | Simulation parameters ini file handler. |
rk | type(rk_object) | in | target | RK scheme |
pic | type(prism_pic_object) | in | target | Physics object |
Call graph
initialize_stages
Initialize RK stages.
fortran
subroutine initialize_stages(self, q_pic)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_rk_pic_object) | inout | RK object. | |
q_pic | real(kind=R8P) | in | Conservative variables. |
Call graph
compute_stage
Compute RK stage.
fortran
subroutine compute_stage(self, s, dt)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_rk_pic_object) | inout | RK object. | |
s | integer(kind=I4P) | in | Current stage number. | |
dt | real(kind=R8P) | in | Current time step. |
Call graph
assign_stage
Assign q to RK stage.
fortran
subroutine assign_stage(self, s, pic_fields)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_rk_pic_object) | inout | RK object. | |
s | integer(kind=I4P) | in | Current stage number. | |
pic_fields | real(kind=R8P) | in | Pic fields. |
Call graph
update_q_pic
Update RK q.
fortran
subroutine update_q_pic(self, dt, q_pic)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_rk_pic_object) | in | RK object. | |
dt | real(kind=R8P) | in | Current time step. | |
q_pic | real(kind=R8P) | inout | Conservative variables. |
Call graph
Functions
description
Return a pretty-formatted object description.
Attributes: pure
Returns: character(len=:)
fortran
function description(self) result(desc)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_rk_pic_object) | in | RK object. |
Call graph
crossproduct
Returns: real(kind=R8P)
fortran
function crossproduct(a, b) result(cross)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
a | real(kind=R8P) | in | Left hand side. | |
b | real(kind=R8P) | in | Left hand side. |
Call graph