Skip to content

adam_prism_external_fields_object ​

ADAM, PRISM external fields definition, CPU backend.

Source: src/app/prism/common/adam_prism_external_fields_object.F90

Dependencies

Contents ​

Variables ​

NameTypeAttributesDescription
INI_SECTION_NAMEcharacter(len=15)parameterINI (config) file section name.
EF_TYPE_MAGNETIC_NOZZLEcharacter(len=15)parameterMagnetic Nozzle.
EF_TYPE_NONEcharacter(len=4)parameterDisable external field.
EF_TYPE_RMFcharacter(len=3)parameterRotating Magnetic Field.
EF_TYPE_UNIFORM_FIELDcharacter(len=13)parameterUniform electric displacement/magnetic field.
EF_TYPE_RMF_AND_MAGNETIC_NOZZLEcharacter(len=23)parameterRotating Magnetic Field/Magnetic Nozzle.

Derived Types ​

prism_external_fields_object ​

PRISM external fields object.

Components ​

NameTypeAttributesDescription
ef_typecharacter(len=99)Field type.
RMF_frequencyreal(kind=R8P)Rotating magnetic field frequency.
RMF_B_amplitudereal(kind=R8P)Rotating magnetic field amplitude.
RMF_rotation_axischaracter(len=99)Rotating magnetic field rotation axis (X, Y, Z).
Uniform_D_amplitudereal(kind=R8P)Uniform electric displacement field amplitude.
Uniform_B_amplitudereal(kind=R8P)Uniform magnetic field amplitude.
Uniform_directioncharacter(len=99)Uniform field direction (X, Y, Z).
alphainteger(kind=I4P)RMF rotation axis coordinate 1
betainteger(kind=I4P)RMF rotation axis coordinate 2
gamminteger(kind=I4P)RMF rotation axis coordinate 3
uniform_axisinteger(kind=I4P)Uniform field direction index.
add_external_fieldsprocedure(add_external_fields_interface)pass(self), pointerAdd external fields.
sub_external_fieldsprocedure(sub_external_fields_interface)pass(self), pointerSubtract external fields.

Type-Bound Procedures ​

NameAttributesDescription
descriptionpass(self)Return pretty-printed object description.
initializepass(self)Initialize IC.
load_from_filepass(self)Load config from file.
add_external_fields_rmfpass(self)Add rotating magnetic field to the field.
add_external_fields_uniformpass(self)Add uniform external field to the field.
sub_external_fields_rmfpass(self)Add rotating magnetic field to the field.
sub_external_fields_uniformpass(self)Subtract uniform external field from the field.

Interfaces ​

add_external_fields_interface ​

sub_external_fields_interface ​

Subroutines ​

initialize ​

Initialize external fields.

fortran
subroutine initialize(self, file_parameters)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
file_parameterstype(file_ini)inSimulation parameters ini file handler.

Call graph

load_from_file ​

Load config from file.

fortran
subroutine load_from_file(self, file_parameters, go_on_fail)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
file_parameterstype(file_ini)inSimulation parameters ini file handler.
go_on_faillogicalinoptionalGo on if load fails.

Call graph

add_external_fields_rmf ​

Add rotating magnetic field to the field.

fortran
subroutine add_external_fields_rmf(self, field, grid, time, dt, gamm, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
fieldtype(field_object)inoutThe field.
gridtype(grid_object)inGrid (sibling realm component, threaded
timereal(kind=R8P)inCurrent simulation time.
dtreal(kind=R8P)inoptionalTime step.
gammreal(kind=R8P)inoptionalGamma values of RK SSP
qreal(kind=R8P)inoutPrimitive variables.

add_external_fields_uniform ​

Add uniform external electric displacement and magnetic field to the field.

fortran
subroutine add_external_fields_uniform(self, field, grid, time, dt, gamm, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
fieldtype(field_object)inoutThe field.
gridtype(grid_object)inGrid.
timereal(kind=R8P)inCurrent simulation time.
dtreal(kind=R8P)inoptionalTime step.
gammreal(kind=R8P)inoptionalGamma values of RK SSP.
qreal(kind=R8P)inoutPrimitive variables.

sub_external_fields_rmf ​

Add rotating magnetic field to the field.

fortran
subroutine sub_external_fields_rmf(self, field, grid, time, dt, gamm, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
fieldtype(field_object)inoutThe field.
gridtype(grid_object)inGrid (sibling realm component, threaded
timereal(kind=R8P)inCurrent simulation time.
dtreal(kind=R8P)inoptionalTime step.
gammreal(kind=R8P)inoptionalGamma values of RK SSP
qreal(kind=R8P)inoutPrimitive variables.

sub_external_fields_uniform ​

Subtract uniform external electric displacement and magnetic field from the field.

fortran
subroutine sub_external_fields_uniform(self, field, grid, time, dt, gamm, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
fieldtype(field_object)inoutThe field.
gridtype(grid_object)inGrid.
timereal(kind=R8P)inCurrent simulation time.
dtreal(kind=R8P)inoptionalTime step.
gammreal(kind=R8P)inoptionalGamma values of RK SSP.
qreal(kind=R8P)inoutPrimitive variables.

Functions ​

description ​

Return a pretty-formatted object description.

Attributes: pure

Returns: character(len=:)

fortran
function description(self) result(desc)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inExternal fields.

Call graph