|
The Open FUSION Toolkit 1.0.0-beta6
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.