The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
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
 Eigenvalues.
 
 hcpc
 Needs docs.
 
 hcpv
 Needs docs.
 
 lc
 Mesh triangles [nc,3].
 
 nc
 Number of cells in mesh.
 
 nh
 Needs docs.
 
 nm
 Number of modes.
 
 np
 Number of points in mesh.
 
 nregs
 Number of regions in mesh.
 
 r
 Mesh vertices [np,3] (last column should be all zeros)
 
 reg
 Mesh regions [nc].
 

Protected Attributes

 _io_basepath
 I/O basepath for plotting/XDMF output.
 
 _marklin_ptr
 Internal Marklin solver object.
 
 _mesh_ptr
 Internal mesh object.
 
 _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

_io_basepath
protected

I/O basepath for plotting/XDMF output.

◆ _marklin_ptr

_marklin_ptr
protected

Internal Marklin solver object.

◆ _mesh_ptr

_mesh_ptr
protected

Internal mesh object.

◆ _oft_env

_oft_env
protected

◆ eig_vals

eig_vals

Eigenvalues.

◆ hcpc

hcpc

Needs docs.

◆ hcpv

hcpv

Needs docs.

◆ lc

lc

Mesh triangles [nc,3].

◆ nc

nc

Number of cells in mesh.

◆ nh

nh

Needs docs.

◆ nm

nm

Number of modes.

◆ np

np

Number of points in mesh.

◆ nregs

nregs

Number of regions in mesh.

◆ r

r

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

◆ reg

reg

Mesh regions [nc].


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