API
EQDSKReader.EQDSKReader
EQDSKReader.Content
EQDSKReader.Content
EQDSKReader.Content
EQDSKReader.calc_boundary_psi
EQDSKReader.create_normalized_psi_interpolator
EQDSKReader.create_psi_interpolator
EQDSKReader.create_psi_interpolator
EQDSKReader.in_plasma
EQDSKReader.lowest_boundary_point
EQDSKReader.normalize_psi
EQDSKReader.psi_separation_z
EQDSKReader.read_eqdsk
EQDSKReader.rpoints
EQDSKReader.zpoints
EQDSKReader.EQDSKReader
— ModuleEQDSKReader
Provides functionality to read EQDSK file.
EQDSKReader.Content
— TypeContent
Content of EQDSK file.
Attrs:
case identification character string
nw number of horizontal grid points
nh number of vertical grid points
rdim horizontal dimension in metter of computational box
zdim vertical dimension in metter of computational box
rcentr R in meter of vacuum toroidal magnetic field BCENTR
rleft Minimum R in meter of rectangular computational box
zmid Z of center of computational box in meter
rmaxis R of magnetic axis in meter
zmaxis Z of magnetic axis in meter
simag poloidal flux at magnetic axis in Weber /rad
sibry poloidal flux at the plasma boundary in Weber /rad
bcentr Vacuum toroidal magnetic field in Tesla at RCENTR
current Plasma current in Ampere
fpol Poloidal current function in m-T, F = RB_T on flux grid
pres Plasma pressure in nt / m^2 on uniform flux grid
ffprim FF’(ψ) in (mT)^2 / (Weber /rad) on uniform flux grid
pprime P’(ψ) in (nt/m^2 ) / (Weber /rad) on uniform flux grid
psirz Poloidal flux in Weber / rad on the rectangular grid points
qpsi q values on uniform flux grid from axis to boundary
nbbbs Number of boundary points
limitr Number of limiter points
rbbbs R of boundary points in meter
zbbbs Z of boundary points in meter
rlim R of surrounding limiter contour in meter
zlim Z of surrounding limiter contour in mete
EQDSKReader.Content
— MethodContent(path::AbstractString)
Build Content
object from a file with a in EQDSK format.
EQDSKReader.Content
— MethodContent(io::IO)
Build Content
object from an input stream with a in EQDSK format.
EQDSKReader.calc_boundary_psi
— Methodcalc_boundary_psi(c::Content)
Returns average value of ψ
at the specified plasma boundary.
This value is used in normalize_psi
.
EQDSKReader.create_normalized_psi_interpolator
— Methodcreate_normalized_psi_interpolator(c::Content)::Function
Returns function ψ(r,z)
where value is 0 at magnetic axis and 1 at plasma boundary
EQDSKReader.create_psi_interpolator
— Methodcreate_psi_interpolator(ψ, rpoints, zpoints)
Create interpolator for matrix ψ
with coordinates rpoints
and zpoints
.
Returns function ψ(r,z)
to compute ψ
at arbitrary point.
EQDSKReader.create_psi_interpolator
— Methodcreate_psi_interpolator(c::Content)
Create ψ
interpolator for Content
.
EQDSKReader.in_plasma
— Methodin_plasma(ψ, r, z, separation_z)::Bool
Is point (r,z) in plasma?
EQDSKReader.lowest_boundary_point
— Methodlowest_boundary_point(c::Content)
Returns coordinates of the lowest point at plasma boundary. This is useful to select points in plasma. There should be ψ ≤ 1
and the points are to be above this point.
EQDSKReader.normalize_psi
— Methodfunction normalize_psi(ψ::Matrix{Float64})::Matrix{Float64}
Normalize matrix Ψ
to have zero at minimum and 1.0 on the specified plasma boundary.
Returns normalized matrix.
EQDSKReader.psi_separation_z
— Methodpsi_separation_z(c::Content)
The Z coordinate to separate plasma and divertor areas with ψ
≤ 1.
EQDSKReader.read_eqdsk
— Methodread_eqdsk(io::IO)
Reads a stream according to spec found in G_EQDSK.pdf.
returns
[`Content`](@ref)
EQDSKReader.rpoints
— Methodrpoints(c::Content)
returns
Coordinates of Ψ(r,z) along tokamak large radius R.
EQDSKReader.zpoints
— Methodzpoints(c::Content)
Returns coordinates of Ψ(r,z) along tokamak vertial axis Z.