The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
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 | |
__init__ | ( | self, | |
OFT_env | |||
) |
Initialize Marklin object.
OFT_env | OFT runtime environment object (See OFT_env) |
__del__ | ( | self | ) |
build_XDMF | ( | self, | |
repeat_static = False , |
|||
pretty = False |
|||
) |
Build XDMF plot metadata files for model.
repeat_static | Repeat static fields (0-th timestep) in all timesteps? |
pretty | Use pretty printing (indentation) in XDMF files? |
compute_eig | ( | self, | |
nmodes = 1 , |
|||
cache_file = None , |
|||
save_rst = False |
|||
) |
Compute force-free eigenmodes.
nmodes | Number of eigenmodes to compute |
cache_file | Path to cache file to store/load modes |
save_rst | Save restart files? (deprecated) |
compute_par_diff | ( | self, | |
interpolator, | |||
k_perp | |||
) |
Compute parallel diffusion with specified vector field and diffusivity.
interpolator | Interpolator defining vector field |
k_perp | Perpendicular diffusion value (k_par = 1.0) |
compute_vac | ( | self, | |
nh, | |||
hcpc, | |||
hcpv, | |||
cache_file = None |
|||
) |
Compute vacuum field with specified fluxes through jump planes.
nh | Number of jump planes |
hcpc | Plane specification points |
hcpv | Plane specification vectors |
cache_file | Path to cache file to store/load modes |
get_ainterp | ( | self, | |
hmode_facs, | |||
bn_gauge = False |
|||
) |
Create field interpolator for vector potential.
imode | Index of eigenstate |
bn_gauge | Use B-field gauge (A_t = 0 @ wall)? |
get_binterp | ( | self, | |
hmode_facs = None , |
|||
vac_facs = None |
|||
) |
Create field interpolator for magnetic field.
imode | Index of eigenstate |
save_field | ( | self, | |
field, | |||
tag | |||
) |
Save field to XDMF files for VisIt/Paraview.
field | Field interpolation object |
tag | Name for field in XDMF files |
setup | ( | self, | |
order = 2 , |
|||
minlev = -1 |
|||
) |
Needs docs.
setup_io | ( | self, | |
basepath = None , |
|||
legacy_hdf5 = False |
|||
) |
Setup XDMF+HDF5 I/O for 3D visualization.
basepath | Path to root directory to use for I/O |
legacy_hdf5 | Use legacy HDF5 format (required for VisIt) |
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".
r | Mesh point list [np,3] |
lc | Mesh cell list [nc,4] (base one) |
reg | Mesh region list [nc] (base one) |
mesh_file | Filename containing mesh to load (native format only) |
|
protected |
I/O basepath for plotting/XDMF output.
|
protected |
Internal Marklin solver object.
|
protected |
Internal mesh object.
|
protected |
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].