Appearance
adam_cfm_object
ADAM, Commutator-Free Magnus integrators class definition.
Source: src/lib/common/adam_cfm_object.F90
Dependencies
Contents
- cfm_object
- compute_exponential_update
- initialize
- initialize_CFM_4
- initialize_CFM_6
- initialize_CFM_8
- load_from_file
- description
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
CFM_4 | character(len=5) | parameter | Parameter of time scheme, Commutator-Free Magnus 4th order. |
CFM_6 | character(len=5) | parameter | Parameter of time scheme, Commutator-Free Magnus 4th order. |
CFM_8 | character(len=5) | parameter | Parameter of time scheme, Commutator-Free Magnus 4th order. |
INI_SECTION_NAME | character(len=22) | parameter | INI (config) file section name containing configs. |
Derived Types
cfm_object
Commutator-Free Magnus integratos class definition.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
mpih | type(mpih_object) | MPI handler. | |
order | integer(kind=I4P) | Order of the scheme. | |
n_stages | integer(kind=I4P) | Number of stages. | |
n_exponentials | integer(kind=I4P) | Number of exponential integration combinations. | |
s_coeffs | real(kind=R8P) | allocatable | Stage coefficients. |
e_coeffs | real(kind=R8P) | allocatable | Final exponential coefficients. |
scheme | character(len=:) | allocatable | CFM scheme name. |
dq | real(kind=R8P) | allocatable | Field cell centered variables residuals, CFM stages. |
q | real(kind=R8P) | allocatable | Field cell centered variables, CFM buffer. |
field | type(field_object) | pointer | The field. |
grid | type(grid_object) | pointer | The grid. |
ngc | integer(kind=I4P) | pointer | Number of ghost cells. |
ni | integer(kind=I4P) | pointer | Number of cells in i direction. |
nj | integer(kind=I4P) | pointer | Number of cells in j direction. |
nk | integer(kind=I4P) | pointer | Number of cells in k direction. |
nb | integer(kind=I4P) | pointer | Total blocks number for MPI. |
blocks_number | integer(kind=I4P) | pointer | Actual blocks number. |
ns | integer(kind=I4P) | pointer | Number of fluids specie. |
nv | integer(kind=I4P) | pointer | Number of conservative variables. |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
compute_exponential_update | pass(self) | Compute exponential update. |
description | pass(self) | Return pretty-printed object description. |
initialize | pass(self) | Initialize class. |
initialize_CFM_4 | pass(self) | Initialize CFM 4th order. |
initialize_CFM_6 | pass(self) | Initialize CFM 6th order. |
initialize_CFM_8 | pass(self) | Initialize CFM 8th order. |
load_from_file | pass(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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | in | CFM object. | |
alpha | real(kind=R8P) | in | Pseudo time step. | |
dq | real(kind=R8P) | in | Conservative variables residuals. | |
q | real(kind=R8P) | inout | Conservative variables. |
Call graph
initialize
Initialize class.
fortran
subroutine initialize(self, file_parameters, scheme, grid, field)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | inout | CFM object. | |
file_parameters | type(file_ini) | in | optional | Simulation parameters ini file handler. |
scheme | character(len=*) | in | optional | CFM scheme. |
grid | type(grid_object) | in | target | The grid. |
field | type(field_object) | in | target | The field. |
Call graph
initialize_CFM_4
Initialize CFM 4th order.
fortran
subroutine initialize_CFM_4(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | inout | CFM object. |
Call graph
initialize_CFM_6
Initialize CFM 6th order.
fortran
subroutine initialize_CFM_6(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | inout | CFM object. |
Call graph
initialize_CFM_8
Initialize CFM 8th order.
fortran
subroutine initialize_CFM_8(self)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | inout | CFM object. |
Call graph
load_from_file
Load config from file.
fortran
subroutine load_from_file(self, file_parameters, go_on_fail)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | inout | CFM object. | |
file_parameters | type(file_ini) | in | Simulation parameters ini file handler. | |
go_on_fail | logical | in | optional | Go 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(cfm_object) | in | CFM object. |
Call graph