Skip to content

adam_prism_bc_object

ADAM, PRISM Boundary Conditions class definition, CPU backend.

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

Dependencies

Contents

Variables

NameTypeAttributesDescription
INI_SECTION_NAMEScharacter(len=8)parameterINI (config) file section name containing BC
BC_EXTRAPOLATIONinteger(kind=I4P)parameterExtrapolation.
BC_NEUMANNinteger(kind=I4P)parameterNeumann BC.
BC_DIRICHLETinteger(kind=I4P)parameterDirichlet BC.
BC_Silver_Mullerinteger(kind=I4P)parameterSilver-Muller BC.
BC_PERIODinteger(kind=I4P)parameterPeriodic BC.
BC_radiativeinteger(kind=I4P)parameterRadiative BC.
BC_PECinteger(kind=I4P)parameterPerfect Electric Conductor BC.
ELL_BC_DIRICHLETinteger(kind=I4P)parameterElliptic Dirichlet BC.
ELL_BC_PERIODICinteger(kind=I4P)parameterElliptic periodic BC.
ELL_BC_EXACT_OPENinteger(kind=I4P)parameterElliptic exact/open BC.
ELL_BC_PECinteger(kind=I4P)parameterElliptic Perfect Electric Conductor BC.

Derived Types

prism_bc_object

Boundary Conditions class definition, CPU backend.

Components

NameTypeAttributesDescription
bc_typeinteger(kind=I4P)Boundary condition type.
qreal(kind=R8P)allocatablePrimitive variables (Dx,Dy,Dz,Bx,By,Bz,Jx,Jy,Jz) at BC.

Type-Bound Procedures

NameAttributesDescription
initializepass(self)Initialize BC.
build_elliptic_bc_typespass(self)Build elliptic BC types on all faces.
load_from_filepass(self)Load config from file.
map_face_bc_to_ellipticpass(self)Map one EM BC to one elliptic BC.

Subroutines

initialize

Initialize the equation.

fortran
subroutine initialize(self, file_parameters)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_bc_object)inoutBC.
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_bc_object)inoutBC.
file_parameterstype(file_ini)inSimulation parameters ini file handler.
go_on_faillogicalinoptionalGo on if load fails.

Call graph

build_elliptic_bc_types

Build the elliptic BC type associated with each EM face BC.

fortran
subroutine build_elliptic_bc_types(self, ivar, ell_bc_type)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_bc_object)inBC object.
ivarinteger(kind=I4P)inVariable (start) index in q.
ell_bc_typeinteger(kind=I4P)outElliptic BC types.

Call graph

map_face_bc_to_elliptic

Map one EM BC into the elliptic solver taxonomy.

fortran
subroutine map_face_bc_to_elliptic(self, bc_type, ivar, ell_bc_type)

Arguments

NameTypeIntentAttributesDescription
selfclass(prism_bc_object)inBC object.
bc_typeinteger(kind=I4P)inEM BC type.
ivarinteger(kind=I4P)inVariable (start) index in q.
ell_bc_typeinteger(kind=I4P)outElliptic BC type.

Call graph