LocalEMFields Derived Type

type, public, extends(EMFields) :: LocalEMFields

Electro-magnetic fields at given position


Inherits

type~~localemfields~~InheritsGraph type~localemfields LocalEMFields type~emfields EMFields type~localemfields->type~emfields type~interpolcoeffs2d InterpolCoeffs2D type~localemfields->type~interpolcoeffs2d c

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
real(kind=Float64), public :: br =0.d0

Radial magnetic field [T]

real(kind=Float64), public :: bt =0.d0

Torodial magnetic field [T]

real(kind=Float64), public :: bz =0.d0

Vertical magnetic field [T]

real(kind=Float64), public :: er =0.d0

Radial electric field [V/m]

real(kind=Float64), public :: et =0.d0

Torodial electric field [V/m]

real(kind=Float64), public :: ez =0.d0

Vertical electric field [V/m]

real(kind=Float64), public :: dbr_dr =0.d0

Radial derivative of the radial magnetic field [T/m]

real(kind=Float64), public :: dbr_dz =0.d0

Vertical derivative of the radial magnetic field [T/m]

real(kind=Float64), public :: dbt_dr =0.d0

Radial derivative of the torodial magnetic field [T/m]

real(kind=Float64), public :: dbt_dz =0.d0

Vertical derivative of the torodial magnetic field [T/m]

real(kind=Float64), public :: dbz_dr =0.d0

Radial derivative of the radial magnetic field [T/m]

real(kind=Float64), public :: dbz_dz =0.d0

Vertical derivative of the vertical magnetic field [T/m]

logical, public :: in_plasma =.False.

Indicates whether fields are valid/known

logical, public :: machine_coords =.False.

Indicates whether vectors are in machine coordinates

real(kind=Float64), public :: b_abs =0.d0

Magnitude of magnetic field

real(kind=Float64), public :: e_abs =0.d0

Magnitude of electrin field

real(kind=Float64), public, dimension(3):: pos =0.d0

Position in beam grid coordinates

real(kind=Float64), public, dimension(3):: uvw =0.d0

Position in machine coordinates

real(kind=Float64), public, dimension(3):: b_norm =0.d0

Direction of magnetic field in beam grid coordinates

real(kind=Float64), public, dimension(3):: a_norm =0.d0

Vector perpendicular to b_norm and c_norm

real(kind=Float64), public, dimension(3):: c_norm =0.d0

Vector perpendicular to b_norm and a_norm

real(kind=Float64), public, dimension(3):: e_norm =0.d0

Direction of electric field in beam grid coordinates

type(InterpolCoeffs2D), public :: c

Linear Interpolation Coefficients and indicies for interpolation at pos


Source Code

type, extends( EMFields ) :: LocalEMFields
    !+ Electro-magnetic fields at given position
    logical       :: in_plasma = .False.
        !+ Indicates whether fields are valid/known
    logical :: machine_coords = .False.
        !+ Indicates whether vectors are in machine coordinates
    real(Float64) :: b_abs = 0.d0
        !+ Magnitude of magnetic field
    real(Float64) :: e_abs = 0.d0
        !+ Magnitude of electrin field
    real(Float64), dimension(3) :: pos = 0.d0
        !+ Position in beam grid coordinates
    real(Float64), dimension(3) :: uvw = 0.d0
        !+ Position in machine coordinates
    real(Float64), dimension(3) :: b_norm = 0.d0
        !+ Direction of magnetic field in beam grid coordinates
    real(Float64), dimension(3) :: a_norm = 0.d0
        !+ Vector perpendicular to `b_norm` and `c_norm`
    real(Float64), dimension(3) :: c_norm = 0.d0
        !+ Vector perpendicular to `b_norm` and `a_norm`
    real(Float64), dimension(3) :: e_norm = 0.d0
        !+ Direction of electric field in beam grid coordinates
    type(InterpolCoeffs2D) :: c
        !+ Linear Interpolation Coefficients and indicies for interpolation at `pos`
end type LocalEMFields