Appearance
adam_prism_ic_object
ADAM, PRISM Initial Conditions class definition, CPU backend.
Source: src/app/prism/common/adam_prism_ic_object.F90
Dependencies
Contents
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
INI_SECTION_NAME | character(len=18) | parameter | INI (config) file section name containing IC configs. |
IC_TYPE_VACUUM | character(len=6) | parameter | Vacuum IC TYPE parameter. |
IC_TYPE_RP | character(len=15) | parameter | Riemann Problem IC TYPE parameter. |
IC_TYPE_PLANE_WAVE | character(len=10) | parameter | Riemann Problem IC TYPE parameter. |
IC_TYPE_RMF | character(len=10) | parameter | Rotating Magnetic Field IC TYPE parameter. |
IC_TYPE_MAGNETIC_NOZZLE | character(len=15) | parameter | Nozzle IC TYPE parameter. |
IC_TYPE_RMF_NOZZLE | character(len=15) | parameter | Rotating Magnetic Field Nozzle IC TYPE parameter. |
IC_TYPE_UNIFORM_FIELD | character(len=13) | parameter | Uniform field IC type parameter |
IC_TYPE_GAUSSIAN_PULSE | character(len=14) | parameter |
Derived Types
prism_ic_object
Initial Conditions class definition, CPU backend.
Components
| Name | Type | Attributes | Description |
|---|---|---|---|
amr_iterations | integer(kind=I4P) | Number of AMR iterations imposing IC. | |
ic_type | character(len=:) | allocatable | IC type. |
regions_number | integer(kind=I4P) | Number of IC regions. | |
q | real(kind=R8P) | allocatable | Primitive variables (Dx,Dy,Dz,Bx,By,Bz,Jx,Jy,Jz). |
emin | real(kind=R8P) | allocatable | IC regions bounding box. |
emax | real(kind=R8P) | allocatable | IC regions bounding box. |
kx | real(kind=R8P) | Plane wave number in x direction. | |
ky | real(kind=R8P) | Plane wave number in y direction. | |
kz | real(kind=R8P) | Plane wave number in z direction. | |
lambda | real(kind=R8P) | Plane wave wavelength. | |
B0 | real(kind=R8P) | Plane wave/Gaussian pulse background magnetic field amplitude. | |
B_x | real(kind=R8P) | Unifom field value | |
B_y | real(kind=R8P) | Unifom field value | |
B_z | real(kind=R8P) | Unifom field value | |
D_x | real(kind=R8P) | Unifom field value | |
D_y | real(kind=R8P) | Unifom field value | |
D_z | real(kind=R8P) | Unifom field value | |
RMF_frequency | real(kind=R8P) | Rotating magnetic field frequency. | |
RMF_B_amplitude | real(kind=R8P) | Rotating magnetic field amplitude. | |
RMF_rotation_axis | character(len=99) | Rotating magnetic field rotation axis (X, Y, Z). | |
alpha | integer(kind=I4P) | RMF rotation axis coordinate 1 | |
beta | integer(kind=I4P) | RMF rotation axis coordinate 2 | |
gamma | integer(kind=I4P) | RMF rotation axis coordinate 3 | |
pulse_direction | character(len=2) | ||
r0 | real(kind=R8P) | reference point for gaussian pulse at t0 | |
k0 | real(kind=R8P) | wave number for the gaussian pulse | |
sigma | real(kind=R8P) | standard deviation for the gaussian pulse |
Type-Bound Procedures
| Name | Attributes | Description |
|---|---|---|
description | pass(self) | Return pretty-printed object description. |
initialize | pass(self) | Initialize IC. |
load_from_file | pass(self) | Load config from file. |
set_initial_conditions | pass(self) | Set initial conditions on PRISM fields. |
Subroutines
initialize
Initialize the equation.
fortran
subroutine initialize(self, file_parameters)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_ic_object) | inout | IC. | |
file_parameters | type(file_ini) | in | Simulation 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_ic_object) | inout | IC. | |
file_parameters | type(file_ini) | in | Simulation parameters ini file handler. | |
go_on_fail | logical | in | optional | Go on if load fails. |
Call graph
set_initial_conditions
Set initial conditions on PRISM fields.
fortran
subroutine set_initial_conditions(self, physics, field, grid, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
self | class(prism_ic_object) | in | IC. | |
physics | type(prism_physics_object) | in | Fluids physiscs. | |
field | type(field_object) | in | Field object. | |
grid | type(grid_object) | in | target | Grid (sibling realm component, threaded in). |
q | real(kind=R8P) | inout | Field cell centered variables. |
Call graph
set_gaussian_wave_pulse
Set a linearly polarized Gaussian-modulated electromagnetic wave packet. Propagation along +/-x: E_y, B_z. Propagation along +/-y: E_z, B_x. Propagation along +/-z: E_x, B_y.
fortran
subroutine set_gaussian_wave_pulse(x, i_dir, k0, x0, B0, sigma, q)Arguments
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
x | real(kind=R8P) | in | Spatial coordinates. | |
i_dir | integer(kind=I4P) | in | Propagation direction: +/-1, +/-2, +/-3. | |
k0 | real(kind=R8P) | in | Central wave number. | |
x0 | real(kind=R8P) | in | Initial packet center along propagation direction. | |
B0 | real(kind=R8P) | in | Magnetic-field amplitude. | |
sigma | real(kind=R8P) | in | Gaussian standard deviation. | |
q | real(kind=R8P) | inout | Electromagnetic state: D(1:3), B(1:3). |
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(prism_ic_object) | in | IC. |
Call graph