The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Force-free, uniform \( \lambda \) field object (inhomogeneous BCs)
Used to compute/store fields of the form [$ J_p = \lambda (B_p + B_v), ]$ where \( B_v \) is a vacuum field and \( B_p \) is the plasma response to make the full field force-free for the given value of \( \lambda \).
Public Member Functions | |
procedure | delete (self, storage_only) |
Setup object before solution. | |
procedure | setup (self, nh, hcpc, hcpv, htags, ml_hcurl, ml_h1, ml_hcurl_grad, ml_h1grad, ml_lagrange, minlev) |
Setup object before solution. | |
Public Attributes | |
type(oft_vector_ptr), dimension(:), pointer | gffa => NULL() |
Vector potential for plasma fields at specified \( \lambda \). | |
real(r8), dimension(:,:), pointer | hcpc => NULL() |
Center points of handles (jump planes) | |
real(r8), dimension(:,:), pointer | hcpv => NULL() |
Normal vectors for handles (jump planes) | |
type(oft_vector_ptr), dimension(:), pointer | hcur => NULL() |
Inhomogeneous source fields. | |
character(len=taylor_tag_size), dimension(:), pointer | htag => NULL() |
Handle names. | |
type(oft_vector_ptr), dimension(:), pointer | hvac => NULL() |
Vacuum magnetic fields. | |
real(r8) | jtol = 1.d-6 |
Tolerance for identifying edges on jump plane. | |
real(r8) | lambda = 0.d0 |
Lambda value for solutions in gffa | |
integer(i4) | minlev = -1 |
Lowest FE level for MG solvers (-1 indicates single level solve) | |
type(oft_ml_fem_type), pointer | ml_h1 => NULL() |
Multi-level H^1 FE object. | |
type(oft_ml_fem_type), pointer | ml_h1grad => NULL() |
Multi-level grad(H^1) FE object. | |
type(oft_ml_fem_type), pointer | ml_hcurl => NULL() |
Multi-level H(Curl) FE object. | |
type(oft_ml_fem_comp_type), pointer | ml_hcurl_grad => NULL() |
Multi-level H(Curl) + grad(H^1) FE object. | |
type(oft_ml_fem_type), pointer | ml_lagrange => NULL() |
Multi-level Lagrange FE object. | |
integer(i4) | nh = -1 |
Number of handles (jump planes) in current geometry. | |
procedure delete | ( | class(oft_taylor_ifield), intent(inout) | self, |
logical, intent(in), optional | storage_only | ||
) |
Setup object before solution.
[in,out] | self | Force-free eigenmode object |
[in] | storage_only | Only reset storage, but do not clear references |
procedure setup | ( | class(oft_taylor_ifield), intent(inout) | self, |
integer(i4), intent(in) | nh, | ||
real(r8), dimension(3,nh), intent(in) | hcpc, | ||
real(r8), dimension(3,nh), intent(in) | hcpv, | ||
character(len=taylor_tag_size), dimension(nh), intent(in), optional | htags, | ||
type(oft_ml_fem_type), intent(in), optional, target | ml_hcurl, | ||
type(oft_ml_fem_type), intent(in), optional, target | ml_h1, | ||
type(oft_ml_fem_comp_type), intent(in), optional, target | ml_hcurl_grad, | ||
type(oft_ml_fem_type), intent(in), optional, target | ml_h1grad, | ||
type(oft_ml_fem_type), intent(in), optional, target | ml_lagrange, | ||
integer(i4), intent(in), optional | minlev | ||
) |
Setup object before solution.
[in,out] | self | Force-free field object |
[in] | nh | Number of jump planes |
[in] | hcpc | Jump plane center possitions [3,nh] |
[in] | hcpv | Jump plane normal vectors [3,nh] |
[in] | htags | Names for each jump plane [LEN=taylor_tag_size,nh] (optional) |
[in] | ml_hcurl | Multi-level H(Curl) FE representation |
[in] | ml_h1 | Multi-level H^1 FE representation |
[in] | ml_hcurl_grad | Multi-level H(Curl) + grad(H^1) FE representation |
[in] | ml_h1grad | Multi-level grad(H^1) FE representation |
[in] | ml_lagrange | Multi-level Lagrange FE representation |
type(oft_vector_ptr), dimension(:), pointer gffa => NULL() |
Vector potential for plasma fields at specified \( \lambda \).
real(r8), dimension(:,:), pointer hcpc => NULL() |
Center points of handles (jump planes)
real(r8), dimension(:,:), pointer hcpv => NULL() |
Normal vectors for handles (jump planes)
type(oft_vector_ptr), dimension(:), pointer hcur => NULL() |
Inhomogeneous source fields.
character(len=taylor_tag_size), dimension(:), pointer htag => NULL() |
Handle names.
type(oft_vector_ptr), dimension(:), pointer hvac => NULL() |
Vacuum magnetic fields.
real(r8) jtol = 1.d-6 |
Tolerance for identifying edges on jump plane.
real(r8) lambda = 0.d0 |
Lambda value for solutions in gffa
integer(i4) minlev = -1 |
Lowest FE level for MG solvers (-1
indicates single level solve)
type(oft_ml_fem_type), pointer ml_h1 => NULL() |
Multi-level H^1 FE object.
type(oft_ml_fem_type), pointer ml_h1grad => NULL() |
Multi-level grad(H^1) FE object.
type(oft_ml_fem_type), pointer ml_hcurl => NULL() |
Multi-level H(Curl) FE object.
type(oft_ml_fem_comp_type), pointer ml_hcurl_grad => NULL() |
Multi-level H(Curl) + grad(H^1) FE object.
type(oft_ml_fem_type), pointer ml_lagrange => NULL() |
Multi-level Lagrange FE object.
integer(i4) nh = -1 |
Number of handles (jump planes) in current geometry.