Skip to content

adam_cfm_object

ADAM, Commutator-Free Magnus integrators class definition.

Source: src/lib/common/adam_cfm_object.F90

Dependencies

Contents

Variables

NameTypeAttributesDescription
CFM_4character(len=5)parameterParameter of time scheme, Commutator-Free Magnus 4th order.
CFM_6character(len=5)parameterParameter of time scheme, Commutator-Free Magnus 4th order.
CFM_8character(len=5)parameterParameter of time scheme, Commutator-Free Magnus 4th order.
INI_SECTION_NAMEcharacter(len=22)parameterINI (config) file section name containing configs.

Derived Types

cfm_object

Commutator-Free Magnus integratos class definition.

Components

NameTypeAttributesDescription
mpihtype(mpih_object)MPI handler.
orderinteger(kind=I4P)Order of the scheme.
n_stagesinteger(kind=I4P)Number of stages.
n_exponentialsinteger(kind=I4P)Number of exponential integration combinations.
s_coeffsreal(kind=R8P)allocatableStage coefficients.
e_coeffsreal(kind=R8P)allocatableFinal exponential coefficients.
schemecharacter(len=:)allocatableCFM scheme name.
dqreal(kind=R8P)allocatableField cell centered variables residuals, CFM stages.
qreal(kind=R8P)allocatableField cell centered variables, CFM buffer.
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
compute_exponential_updatepass(self)Compute exponential update.
descriptionpass(self)Return pretty-printed object description.
initializepass(self)Initialize class.
initialize_CFM_4pass(self)Initialize CFM 4th order.
initialize_CFM_6pass(self)Initialize CFM 6th order.
initialize_CFM_8pass(self)Initialize CFM 8th order.
load_from_filepass(self)Load config from file.

Subroutines

compute_exponential_update

Compute exponential update q(n+1) = exp(alpha * R(q(n))) * q(n). For linear PDE q(n+1) = q(n) + alpha * R(q(n))

fortran
subroutine compute_exponential_update(self, alpha, dq, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(cfm_object)inCFM object.
alphareal(kind=R8P)inPseudo time step.
dqreal(kind=R8P)inConservative variables residuals.
qreal(kind=R8P)inoutConservative variables.

Call graph

initialize

Initialize class.

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

Arguments

NameTypeIntentAttributesDescription
selfclass(cfm_object)inoutCFM object.
file_parameterstype(file_ini)inoptionalSimulation parameters ini file handler.
schemecharacter(len=*)inoptionalCFM scheme.
gridtype(grid_object)intargetThe grid.
fieldtype(field_object)intargetThe field.

Call graph

initialize_CFM_4

Initialize CFM 4th order.

fortran
subroutine initialize_CFM_4(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(cfm_object)inoutCFM object.

Call graph

initialize_CFM_6

Initialize CFM 6th order.

fortran
subroutine initialize_CFM_6(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(cfm_object)inoutCFM object.

Call graph

initialize_CFM_8

Initialize CFM 8th order.

fortran
subroutine initialize_CFM_8(self)

Arguments

NameTypeIntentAttributesDescription
selfclass(cfm_object)inoutCFM object.

Call graph

load_from_file

Load config from file.

fortran
subroutine load_from_file(self, file_parameters, go_on_fail)

Arguments

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

Call graph

Functions

description

Return a pretty-formatted object description.

Attributes: pure

Returns: character(len=:)

fortran
function description(self) result(desc)

Arguments

NameTypeIntentAttributesDescription
selfclass(cfm_object)inCFM object.

Call graph