The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Module for thin-wall modeling on 3D triangular meshes.
Data Types | |
type | floop_sensor |
Structure containing definition of a flux loop sensor. More... | |
type | hole_mesh |
Structure containing definition of "hole" elements for multiply connected surfaces. More... | |
type | jumper_sensor |
Structure containing definition of a current jumper sensor. More... | |
type | tw_coil_set |
Structure containing a coil sets composed of one or more individual filament coils. More... | |
type | tw_gen_coil |
Structure containing filament coil definition. More... | |
type | tw_plasma_boozer |
Class for thin-wall simulation. More... | |
type | tw_sensors |
Structure containing sensor sets. More... | |
type | tw_type |
Class for thin-wall simulation. More... | |
Functions/Subroutines | |
subroutine | tw_build_boozer (self, s, alpha) |
Needs Docs. | |
subroutine | tw_compute_ael2dr (tw_obj, save_file) |
Compute element to driver (Icoils) coupling matrix. | |
subroutine | tw_compute_bops (self, save_file) |
Needs Docs. | |
subroutine | tw_compute_lmat_coils (tw_obj) |
Compute coupling from thin-wall model elements to flux loop sensors. | |
subroutine | tw_compute_lmat_mf (row_obj, col_obj, nrhs, a, b) |
Compute mutual inductance matrix between two thin-wall models. | |
subroutine | tw_compute_lmatdirect (row_model, lmat, col_model, save_file) |
Compute mutual inductance matrix between two thin-wall models. | |
subroutine | tw_compute_mutuals (tw_obj, nsensors, sensors, save_file) |
Compute coupling from thin-wall model elements to flux loop sensors. | |
real(8) function | tw_compute_phipot (pt_cell, pt) |
Compute \( \int 1/(r-r') dA' \) for a triangle. | |
subroutine | tw_compute_rmat (tw_obj, keep_closures) |
Compute resistivity matrix for thin-wall model. | |
subroutine | tw_copy_coil (coil_in, coil_out) |
Create a copy (by reference) of a coil set. | |
subroutine | tw_load_coils (group_node, ncoils, coils) |
Read coil sets for "oft_in.xml" file. | |
subroutine | tw_load_eta (self) |
Load resistivity and sensor mask from "oft_in.xml" file. | |
subroutine | tw_load_mode (filename, self, driver) |
Load forcing mesh and fields for an MHD-style mode. | |
subroutine | tw_load_sensors (filename, self, sensors) |
Load sensors from "floops.loc" and build jumpers from nodesets. | |
subroutine | tw_recon_curr (self, pot, curr) |
Save solution vector for thin-wall model for plotting in VisIt. | |
subroutine | tw_rst_load (u, filename, path) |
Load Thin-wall solution vector from a restart file. | |
subroutine | tw_rst_save (self, u, filename, path, append) |
Save Thin-wall solution vector to a restart file. | |
subroutine | tw_save_debug (self) |
Save debug plotting information for thin-wall model. | |
subroutine | tw_save_hole_debug (self) |
Needs Docs. | |
subroutine | tw_save_pfield (self, a, tag) |
Save solution vector for thin-wall model for plotting in VisIt. | |
subroutine | tw_setup (self, hole_ns) |
Needs Docs. | |
subroutine | tw_setup_hole (bmesh, hmesh) |
Setup hole definition for ordered chain of vertices. | |
Variables | |
real(r8), parameter | coil_min_rad = 1.d-6 |
integer(i4), dimension(3) | quad_orders = [18, 10, 6] |
Quadrature order for each tolerance. | |
real(r8), dimension(3) | quad_tols = [0.75d0, 0.95d0, 0.995d0] |
Distance tolerances for quadrature order selection. | |
real(r8), parameter | target_err = 1.d-8 |
character(len=16), parameter, public | tw_idx_path ="ThinCurr_Version" |
HDF5 field name. | |
integer(i4), parameter, public | tw_idx_ver =1 |
File version for array indexing. | |
subroutine tw_build_boozer | ( | class(tw_plasma_boozer), intent(inout) | self, |
real(8), intent(in) | s, | ||
real(8), intent(in) | alpha | ||
) |
Needs Docs.
[in,out] | self | Thin-wall model for structures |
subroutine tw_compute_ael2dr | ( | type(tw_type), intent(inout) | tw_obj, |
character(len=*), intent(in), optional | save_file | ||
) |
Compute element to driver (Icoils) coupling matrix.
[in,out] | tw_obj | Thin-wall model object |
subroutine tw_compute_bops | ( | type(tw_type), intent(inout) | self, |
character(len=*), intent(in), optional | save_file | ||
) |
Needs Docs.
subroutine tw_compute_lmat_coils | ( | type(tw_type), intent(inout) | tw_obj | ) |
Compute coupling from thin-wall model elements to flux loop sensors.
[in,out] | tw_obj | Thin-wall model object |
subroutine tw_compute_lmat_mf | ( | type(tw_type), intent(in) | row_obj, |
type(tw_type), intent(in) | col_obj, | ||
integer(4), intent(in) | nrhs, | ||
real(8), dimension(:,:), intent(in), pointer, contiguous | a, | ||
real(8), dimension(:,:), intent(inout), pointer, contiguous | b | ||
) |
Compute mutual inductance matrix between two thin-wall models.
[in] | row_obj | Thin-wall model object for rows |
[in] | col_obj | Thin-wall model object for columns |
[in] | a | Mutual inductance matrix |
[in,out] | b | Mutual inductance matrix |
subroutine tw_compute_lmatdirect | ( | type(tw_type), intent(in), target | row_model, |
real(8), dimension(:,:), intent(inout), pointer, contiguous | lmat, | ||
type(tw_type), intent(in), optional, target | col_model, | ||
character(len=*), intent(in), optional | save_file | ||
) |
Compute mutual inductance matrix between two thin-wall models.
[in] | row_model | Thin-wall model object for rows |
[in,out] | lmat | Mutual inductance matrix |
[in] | col_model | Thin-wall model object for columns |
subroutine tw_compute_mutuals | ( | type(tw_type), intent(inout) | tw_obj, |
integer(4), intent(in) | nsensors, | ||
type(floop_sensor), dimension(:), intent(in), pointer | sensors, | ||
character(len=*), intent(in), optional | save_file | ||
) |
Compute coupling from thin-wall model elements to flux loop sensors.
[in,out] | tw_obj | Thin-wall model object |
[in] | nsensors | Number of flux loops |
[in] | sensors | List of flux loops |
real(8) function tw_compute_phipot | ( | real(8), dimension(3,3), intent(in) | pt_cell, |
real(8), dimension(3), intent(in) | pt | ||
) |
Compute \( \int 1/(r-r') dA' \) for a triangle.
[in] | pt_cell | Vertices defining triangle |
[in] | pt | Observation point (r) |
subroutine tw_compute_rmat | ( | type(tw_type), intent(inout) | tw_obj, |
logical, intent(in) | keep_closures | ||
) |
Compute resistivity matrix for thin-wall model.
[in,out] | tw_obj | Thin-wall model object |
[in] | keep_closures | Keep diagonal entries (1) for closure elements |
subroutine tw_copy_coil | ( | type(tw_coil_set), intent(in) | coil_in, |
type(tw_coil_set), intent(inout) | coil_out | ||
) |
Create a copy (by reference) of a coil set.
[in] | coil_in | Source coil set |
[in,out] | coil_out | Copy of source |
subroutine tw_load_coils | ( | type(xml_node), intent(in), pointer | group_node, |
integer(4), intent(out) | ncoils, | ||
type(tw_coil_set), dimension(:), intent(out), pointer | coils | ||
) |
Read coil sets for "oft_in.xml" file.
[in] | group_node | XML node relative to base <thincurr> node |
[out] | ncoils | Number of coil sets found |
[out] | coils | List of coil sets |
subroutine tw_load_eta | ( | type(tw_type), intent(inout) | self | ) |
Load resistivity and sensor mask from "oft_in.xml" file.
[in,out] | self | Thin-wall model object |
subroutine tw_load_mode | ( | character(len=*) | filename, |
type(tw_type), intent(inout) | self, | ||
real(8), dimension(:,:), intent(out), pointer | driver | ||
) |
Load forcing mesh and fields for an MHD-style mode.
filename | Filename containing mode definition | |
[in,out] | self | Thin-wall model of mode |
[out] | driver | Sin/Cos pair corresponding to mode |
subroutine tw_load_sensors | ( | character(len=*), intent(in) | filename, |
class(tw_type), intent(inout) | self, | ||
type(tw_sensors), intent(inout) | sensors | ||
) |
Load sensors from "floops.loc" and build jumpers from nodesets.
[in] | filename | Thin-wall model object |
[in,out] | self | Thin-wall model object |
[in,out] | sensors | Sensor container |
subroutine tw_recon_curr | ( | type(tw_type), intent(in) | self, |
real(8), dimension(:), intent(in) | pot, | ||
real(8), dimension(:,:), intent(out) | curr | ||
) |
Save solution vector for thin-wall model for plotting in VisIt.
[in] | self | Thin-wall model object |
[in] | pot | Solution values [selfnelems] |
[out] | curr | Solution values [3,selfmeshnelems] |
subroutine tw_rst_load | ( | class(oft_vector), intent(inout), target | u, |
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path | ||
) |
Load Thin-wall solution vector from a restart file.
[in,out] | u | Solution to load |
[in] | filename | Name of restart file |
[in] | path | Path to load solution vector in file |
subroutine tw_rst_save | ( | class(tw_type), intent(in) | self, |
class(oft_vector), intent(inout), pointer | u, | ||
character(len=*), intent(in) | filename, | ||
character(len=*), intent(in) | path, | ||
logical, intent(in), optional | append | ||
) |
Save Thin-wall solution vector to a restart file.
[in] | self | Thin-wall model object |
[in,out] | u | Solution to save |
[in] | filename | Name of restart file |
[in] | path | Path to store solution vector in file |
[in] | append | Append to file? (optional) |
subroutine tw_save_debug | ( | class(tw_type), intent(inout) | self | ) |
Save debug plotting information for thin-wall model.
[in,out] | self | Thin-wall model object |
subroutine tw_save_hole_debug | ( | type(tw_type), intent(in) | self | ) |
Needs Docs.
subroutine tw_save_pfield | ( | type(tw_type), intent(in) | self, |
real(8), dimension(:), intent(in) | a, | ||
character(len=*), intent(in) | tag | ||
) |
Save solution vector for thin-wall model for plotting in VisIt.
[in] | self | Thin-wall model object |
[in] | a | Solution values [selfnelems] |
[in] | tag | Path to save vector in HDF5 plot files |
subroutine tw_setup | ( | class(tw_type), intent(inout) | self, |
type(oft_1d_int), dimension(:), intent(in), pointer | hole_ns | ||
) |
Needs Docs.
[in,out] | self | Thin-wall model object |
[in] | hole_ns | Hole nodesets |
subroutine tw_setup_hole | ( | class(oft_bmesh), intent(inout) | bmesh, |
type(hole_mesh), intent(inout) | hmesh | ||
) |
Setup hole definition for ordered chain of vertices.
[in,out] | bmesh | Surface mesh containing hole |
[in,out] | hmesh | Hole definition |
real(r8), parameter coil_min_rad = 1.d-6 |
integer(i4), dimension(3) quad_orders = [18, 10, 6] |
Quadrature order for each tolerance.
real(r8), dimension(3) quad_tols = [0.75d0, 0.95d0, 0.995d0] |
Distance tolerances for quadrature order selection.
real(r8), parameter target_err = 1.d-8 |
character(len=16), parameter, public tw_idx_path ="ThinCurr_Version" |
HDF5 field name.
integer(i4), parameter, public tw_idx_ver =1 |
File version for array indexing.