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_RMF_AND_MAGNETIC_NOZZLEcharacter(len=23)parameterRotating Magnetic Field/Magnetic Nozzle.

Derived Types

prism_external_fields_object

PRISM external fields object.

Components

NameTypeAttributesDescription
mpihtype(mpih_object)MPI handler.
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).
alphainteger(kind=I4P)RMF rotation axis coordinate 1
betainteger(kind=I4P)RMF rotation axis coordinate 2
gamminteger(kind=I4P)RMF rotation axis coordinate 3
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.
sub_external_fields_rmfpass(self)Add rotating magnetic field to 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, time, dt, gamm, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
fieldtype(field_object)inoutThe field.
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, time, dt, gamm, q)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_external_fields_object)inoutExternal fields.
fieldtype(field_object)inoutThe field.
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