Skip to content

adam_rk_object

ADAM, RK class definition.

Source: src/lib/common/adam_rk_object.F90

Dependencies

Contents

Variables

NameTypeAttributesDescription
RK_1character(len=13)parameterParameter of time scheme, Runge-Kutta 1.
RK_2character(len=13)parameterParameter of time scheme, Runge-Kutta 2.
RK_3character(len=13)parameterParameter of time scheme, Runge-Kutta 3.
RK_SSP_22character(len=18)parameterParameter of time scheme, Runge-Kutta SSP 22.
RK_SSP_33character(len=18)parameterParameter of time scheme, Runge-Kutta SSP 33.
RK_SSP_54character(len=18)parameterParameter of time scheme, Runge-Kutta SSP 54.
RK_YOSHIDAcharacter(len=19)parameterParameter of time scheme, Runge-Kutta Yoshida, symplectic 4.
INI_SECTION_NAMEcharacter(len=11)parameterINI (config) file section name containing configs.

Derived Types

rk_object

RK class definition.

Components

NameTypeAttributesDescription
mpihtype(mpih_object)MPI handler.
schemecharacter(len=:)allocatableRK scheme.
nrkinteger(kind=I4P)Runge-Kutta stages number.
arkreal(kind=R8P)allocatableRunge-Kutta low storage alpha coefficients.
brkreal(kind=R8P)allocatableRunge-Kutta low storage beta coefficients.
crkreal(kind=R8P)allocatableRunge-Kutta low storage beta coefficients.
alphreal(kind=R8P)allocatableRunge-Kutta SSP alpha coefficients.
betareal(kind=R8P)allocatableRunge-Kutta SSP beta coefficients.
gammreal(kind=R8P)allocatableRunge-Kutta SSP gamma coefficients.
ssareal(kind=R8P)allocatableRunge-Kutta sympletic-splitting part A coefficients.
ssbreal(kind=R8P)allocatableRunge-Kutta sympletic-splitting part B coefficients.
q_rkreal(kind=R8P)allocatableField cell centered variables, RK stages.
fieldtype(field_object)pointerThe field.
gridtype(grid_object)pointerThe grid.
ngcinteger(kind=I4P)pointerNumber of ghost cells.
niinteger(kind=I4P)pointerNumber of cells in i direction.
njinteger(kind=I4P)pointerNumber of cells in j direction.
nkinteger(kind=I4P)pointerNumber of cells in k direction.
nbinteger(kind=I4P)pointerTotal blocks number for MPI.
blocks_numberinteger(kind=I4P)pointerActual blocks number.
nsinteger(kind=I4P)pointerNumber of fluids specie.
nvinteger(kind=I4P)pointerNumber of conservative variables.

Type-Bound Procedures

NameAttributesDescription
assign_stagepass(self)Assign q to RK stage.
compute_stagepass(self)Compute RK stage.
compute_stage_lspass(self)Compute RK stage, low storage scheme.
descriptionpass(self)Return pretty-printed object description.
initializepass(self)Initialize class.
initialize_stagespass(self)Initialize RK stages.
load_from_filepass(self)Load config from file.
update_qpass(self)Update RK q.

Subroutines

assign_stage

Assign q to RK stage.

fortran
subroutine assign_stage(self, s, q, phi)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inoutRK object.
sinteger(kind=I4P)inCurrent stage number.
qreal(kind=R8P)inConservative variables.
phireal(kind=R8P)inoptionalIB distance.

Call graph

compute_stage

Compute RK stage.

fortran
subroutine compute_stage(self, s, dt, phi)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inoutRK object.
sinteger(kind=I4P)inCurrent stage number.
dtreal(kind=R8P)inCurrent time step.
phireal(kind=R8P)inoptionalIB 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, dq, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inRK object.
sinteger(kind=I4P)inCurrent RK stage.
dtreal(kind=R8P)inCurrent time step.
phireal(kind=R8P)inoptionalIB distance.
dqreal(kind=R8P)inConservative variables residuals.
qreal(kind=R8P)inoutConservative variables stage.

Call graph

initialize

Initialize class.

fortran
subroutine initialize(self, file_parameters, scheme, grid, field)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inoutRK object.
file_parameterstype(file_ini)inoptionalSimulation parameters ini file handler.
schemecharacter(len=*)inoptionalRunge-Kutta scheme.
gridtype(grid_object)intargetThe grid.
fieldtype(field_object)intargetThe field.

Call graph

initialize_stages

Initialize RK stages.

fortran
subroutine initialize_stages(self, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inoutRK object.
qreal(kind=R8P)inConservative variables.

Call graph

load_from_file

Load config from file.

fortran
subroutine load_from_file(self, file_parameters, go_on_fail)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inoutRK object.
file_parameterstype(file_ini)inSimulation parameters ini file handler.
go_on_faillogicalinoptionalGo on if load fails.

Call graph

update_q

Update RK q.

fortran
subroutine update_q(self, dt, phi, q, dq)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inRK object.
dtreal(kind=R8P)inCurrent time step.
phireal(kind=R8P)inoptionalIB distance.
qreal(kind=R8P)inoutConservative variables.
dqreal(kind=R8P)inoutoptionalConservative variables residuals.

Call graph

Functions

description

Return a pretty-formatted object description.

Attributes: pure

Returns: character(len=:)

fortran
function description(self) result(desc)

Arguments

NameTypeIntentAttributesDescription
selfclass(rk_object)inRK object.

Call graph