The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Marklin Class Reference

Detailed Description

Marklin force-free equilibrium solver class.

Public Member Functions

 __del__ (self)
 __init__ (self, OFT_env)
 Initialize Marklin object.
 build_XDMF (self, repeat_static=False, pretty=False)
 Build XDMF plot metadata files for model.
 compute_eig (self, nmodes=1, cache_file=None, save_rst=False)
 Compute force-free eigenmodes.
 compute_par_diff (self, interpolator, k_perp)
 Compute parallel diffusion with specified vector field and diffusivity.
 compute_vac (self, nh, hcpc, hcpv, cache_file=None)
 Compute vacuum field with specified fluxes through jump planes.
 get_ainterp (self, hmode_facs, bn_gauge=False)
 Create field interpolator for vector potential.
 get_binterp (self, hmode_facs=None, vac_facs=None)
 Create field interpolator for magnetic field.
 save_field (self, field, tag)
 Save field to XDMF files for VisIt/Paraview.
 setup (self, order=2, minlev=-1)
 Needs docs.
 setup_io (self, basepath=None, legacy_hdf5=False)
 Setup XDMF+HDF5 I/O for 3D visualization.
 setup_mesh (self, r=None, lc=None, reg=None, mesh_file=None, grid_order=1)
 Setup mesh for Marklin force-free equilibrium calculations.

Public Attributes

 eig_vals = None
 Eigenvalues.
 hcpc = None
 Needs docs.
 hcpv = None
 Needs docs.
 lc = None
 Mesh triangles [nc,3].
int nc = -1
 Number of cells in mesh.
int nh = 0
 Needs docs.
int nm = 0
 Number of modes.
int np = -1
 Number of points in mesh.
int nregs = -1
 Number of regions in mesh.
 r = None
 Mesh vertices [np,3] (last column should be all zeros).
 reg = None
 Mesh regions [nc].

Protected Attributes

str _io_basepath = "."
 I/O basepath for plotting/XDMF output.
 _marklin_ptr = c_void_p()
 Internal Marklin solver object.
 _mesh_ptr = c_void_p()
 Internal mesh object.
 _oft_env = OFT_env

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
OFT_env )

Initialize Marklin object.

Parameters
OFT_envOFT runtime environment object (See OFT_env)

◆ __del__()

__del__ ( self)

Member Function Documentation

◆ build_XDMF()

build_XDMF ( self,
repeat_static = False,
pretty = False )

Build XDMF plot metadata files for model.

Parameters
repeat_staticRepeat static fields (0-th timestep) in all timesteps?
prettyUse pretty printing (indentation) in XDMF files?

◆ compute_eig()

compute_eig ( self,
nmodes = 1,
cache_file = None,
save_rst = False )

Compute force-free eigenmodes.

Parameters
nmodesNumber of eigenmodes to compute
cache_filePath to cache file to store/load modes
save_rstSave restart files? (deprecated)

◆ compute_par_diff()

compute_par_diff ( self,
interpolator,
k_perp )

Compute parallel diffusion with specified vector field and diffusivity.

Parameters
interpolatorInterpolator defining vector field
k_perpPerpendicular diffusion value (k_par = 1.0)

◆ compute_vac()

compute_vac ( self,
nh,
hcpc,
hcpv,
cache_file = None )

Compute vacuum field with specified fluxes through jump planes.

Parameters
nhNumber of jump planes
hcpcPlane specification points
hcpvPlane specification vectors
cache_filePath to cache file to store/load modes

◆ get_ainterp()

get_ainterp ( self,
hmode_facs,
bn_gauge = False )

Create field interpolator for vector potential.

Parameters
imodeIndex of eigenstate
bn_gaugeUse B-field gauge (A_t = 0 @ wall)?
Returns
Field interpolation object

◆ get_binterp()

get_binterp ( self,
hmode_facs = None,
vac_facs = None )

Create field interpolator for magnetic field.

Parameters
imodeIndex of eigenstate
Returns
Field interpolation object

◆ save_field()

save_field ( self,
field,
tag )

Save field to XDMF files for VisIt/Paraview.

Parameters
fieldField interpolation object
tagName for field in XDMF files

◆ setup()

setup ( self,
order = 2,
minlev = -1 )

Needs docs.

◆ setup_io()

setup_io ( self,
basepath = None,
legacy_hdf5 = False )

Setup XDMF+HDF5 I/O for 3D visualization.

Parameters
basepathPath to root directory to use for I/O
legacy_hdf5Use legacy HDF5 format (required for VisIt)

◆ setup_mesh()

setup_mesh ( self,
r = None,
lc = None,
reg = None,
mesh_file = None,
grid_order = 1 )

Setup mesh for Marklin force-free equilibrium calculations.

A mesh should be specified by passing "r", "lc", and optionally "reg" or using a "mesh_file".

Parameters
rMesh point list [np,3]
lcMesh cell list [nc,4] (base one)
regMesh region list [nc] (base one)
mesh_fileFilename containing mesh to load (native format only)

Member Data Documentation

◆ _io_basepath

str _io_basepath = "."
protected

I/O basepath for plotting/XDMF output.

◆ _marklin_ptr

_marklin_ptr = c_void_p()
protected

Internal Marklin solver object.

◆ _mesh_ptr

_mesh_ptr = c_void_p()
protected

Internal mesh object.

◆ _oft_env

_oft_env = OFT_env
protected

◆ eig_vals

eig_vals = None

Eigenvalues.

◆ hcpc

hcpc = None

Needs docs.

◆ hcpv

hcpv = None

Needs docs.

◆ lc

lc = None

Mesh triangles [nc,3].

◆ nc

int nc = -1

Number of cells in mesh.

◆ nh

int nh = 0

Needs docs.

◆ nm

int nm = 0

Number of modes.

◆ np

int np = -1

Number of points in mesh.

◆ nregs

int nregs = -1

Number of regions in mesh.

◆ r

r = None

Mesh vertices [np,3] (last column should be all zeros).

◆ reg

reg = None

Mesh regions [nc].


The documentation for this class was generated from the following file: