The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
|
Base H(Curl) FE class and basis evaluation.
Data Types | |
type | oft_hcurl_bfem |
Needs docs. More... | |
type | oft_hcurl_fem |
Needs docs. More... | |
Functions/Subroutines | |
subroutine | hcurl_2d_grid (order, inds) |
Need docs. | |
subroutine | hcurl_3d_grid (order, inds) |
Need docs. | |
logical function | oft_2d_hcurl_cast (self, source) |
Cast abstract FE type to 2D H(Curl) finite element type. | |
logical function | oft_3d_hcurl_cast (self, source) |
Cast abstract FE type to 3D H(Curl) finite element type. | |
subroutine | oft_bhcurl_ceval (self, face, dof, f, val, gop) |
Evaluate H(Curl) curl function on the boundary. | |
subroutine | oft_bhcurl_eval (self, face, dof, f, val, gop) |
Evaluate H(Curl) interpolation function on the boundary. | |
subroutine | oft_hcurl_ceval (self, cell, dof, f, val, gop) |
Evaluate H(Curl) curl function in the interior. | |
subroutine | oft_hcurl_ceval_all (self, cell, f, rop, cgop) |
Evaluate all lagrange interpolation functions. | |
subroutine | oft_hcurl_cevalc (order, dof, f, grads, val) |
Evaluate cell based curl functions. | |
subroutine | oft_hcurl_cevale (order, ed, dof, f, grads, val) |
Evaluate edge based curl functions. | |
subroutine | oft_hcurl_cevalf (order, fc, dof, f, grads, val) |
Evaluate face based curl functions. | |
subroutine | oft_hcurl_eval (self, cell, dof, f, val, gop) |
Evaluate H(Curl) interpolation function in the interior. | |
subroutine | oft_hcurl_eval_all (self, cell, f, rop, gop) |
Evaluate all lagrange interpolation functions. | |
subroutine | oft_hcurl_evalc (order, dof, f, val) |
Evaluate cell based interpolation functions. | |
subroutine | oft_hcurl_evale (order, ed, dof, f, val) |
Evaluate edge based interpolation functions. | |
subroutine | oft_hcurl_evalf (order, fc, dof, f, val) |
Evaluate face based interpolation functions. | |
subroutine | oft_hcurl_get_cgops (gop, cgop) |
Get cross-products of spatial jacobian vectors. | |
subroutine | oft_hcurl_grad_setup (ml_hcurl_obj, ml_h1_obj, ml_hcurl_grad_obj, ml_h1grad_obj, minlev) |
Construct a vector FE space for H(Curl) and it's compliment ( \( \nabla H^1 \)) | |
subroutine | oft_hcurl_setup (mg_mesh, order, ml_hcurl_obj, ml_bhcurl_obj, minlev) |
Construct H(Curl) FE basis on each mesh level. | |
subroutine | oft_hcurl_setup_surf (self, tmesh, order) |
Needs docs. | |
subroutine | oft_hcurl_setup_vol (self, tmesh, order) |
Needs docs. | |
Variables | |
integer(i4), dimension(4, 4), parameter | cgop_map = RESHAPE((/0,-1,-2,-3,1,0,-4,-5,2,4,0,-6,3,5,6,0/), (/4,4/)) |
integer(i4), parameter | oft_hcurl_id = 3 |
FE type ID. | |
subroutine hcurl_2d_grid | ( | integer(i4), intent(in) | order, |
integer(i4), dimension(:,:), intent(out), pointer | inds | ||
) |
Need docs.
subroutine hcurl_3d_grid | ( | integer(i4), intent(in) | order, |
integer(i4), dimension(:,:), intent(out), pointer | inds | ||
) |
Need docs.
logical function oft_2d_hcurl_cast | ( | class(oft_hcurl_bfem), intent(out), pointer | self, |
class(oft_afem_type), intent(in), target | source | ||
) |
Cast abstract FE type to 2D H(Curl) finite element type.
The source matrix must be oft_hcurl_bfem or a child class, otherwise pointer will be returned as null
and success == .FALSE.
[out] | self | Reference to source object with desired class |
[in] | source | Source object to reference |
logical function oft_3d_hcurl_cast | ( | class(oft_hcurl_fem), intent(out), pointer | self, |
class(oft_afem_type), intent(in), target | source | ||
) |
Cast abstract FE type to 3D H(Curl) finite element type.
The source matrix must be oft_hcurl_fem or a child class, otherwise pointer will be returned as null
and success == .FALSE.
[out] | self | Reference to source object with desired class |
[in] | source | Source object to reference |
subroutine oft_bhcurl_ceval | ( | class(oft_bfem_type), intent(in) | self, |
integer(i4), intent(in) | face, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(3), intent(out) | val, | ||
real(r8), dimension(:,:), intent(in), optional | gop | ||
) |
Evaluate H(Curl) curl function on the boundary.
[in] | face | Cell for evaluation |
[in] | dof | Element to evaluate |
[in] | f | Position on face in logical space [4] |
[out] | val | Curl of H(Curl) element (dof) at point (f) [3] |
[in] | gop | Face Jacobian matrix at point (f) [3,3] |
subroutine oft_bhcurl_eval | ( | class(oft_bfem_type), intent(in) | self, |
integer(i4), intent(in) | face, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(3), intent(out) | val, | ||
real(r8), dimension(:,:), intent(in), optional | gop | ||
) |
Evaluate H(Curl) interpolation function on the boundary.
[in] | face | Cell for evaluation |
[in] | dof | Element to evaluate |
[in] | f | Position on face in logical space [4] |
[in] | gop | Value of interpolation function (dof) at point (f) [3] |
[out] | val | Face Jacobian matrix at point (f) [3,3] |
subroutine oft_hcurl_ceval | ( | class(oft_hcurl_fem), intent(in) | self, |
integer(i4), intent(in) | cell, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(:), intent(out) | val, | ||
real(r8), dimension(3,4), intent(in) | gop | ||
) |
Evaluate H(Curl) curl function in the interior.
[in] | cell | Cell for evaluation |
[in] | dof | Element to evaluate |
[in] | f | Position in cell in logical space [4] |
[out] | val | Curl of H(Curl) elements (dof) at point (f) [3] |
[in] | gop | Cell Jacobian matrix at point (f) [3,4] |
subroutine oft_hcurl_ceval_all | ( | class(oft_hcurl_fem), intent(in) | self, |
integer(i4), intent(in) | cell, | ||
real(r8), dimension(4), intent(in) | f, | ||
real(r8), dimension(:,:), intent(out), contiguous | rop, | ||
real(r8), dimension(3,6), intent(in) | cgop | ||
) |
Evaluate all lagrange interpolation functions.
[in] | cell | Cell for evaluation |
[in] | f | Position in cell in logical space |
[out] | rop | Value of interpolation functions at point (f) [3,ncdofs] |
[in] | cgop | Cross-products of spatial jacobian vectors |
subroutine oft_hcurl_cevalc | ( | integer(i4), intent(in) | order, |
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(3,4), intent(in) | grads, | ||
real(r8), dimension(3), intent(out) | val | ||
) |
Evaluate cell based curl functions.
subroutine oft_hcurl_cevale | ( | integer(i4), intent(in) | order, |
integer(i4), dimension(2), intent(in) | ed, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(3,4), intent(in) | grads, | ||
real(r8), dimension(3), intent(out) | val | ||
) |
Evaluate edge based curl functions.
subroutine oft_hcurl_cevalf | ( | integer(i4), intent(in) | order, |
integer(i4), dimension(3), intent(in) | fc, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(3,4), intent(in) | grads, | ||
real(r8), dimension(3), intent(out) | val | ||
) |
Evaluate face based curl functions.
subroutine oft_hcurl_eval | ( | class(oft_hcurl_fem), intent(in) | self, |
integer(i4), intent(in) | cell, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(:), intent(out) | val, | ||
real(r8), dimension(:,:), intent(in) | gop | ||
) |
Evaluate H(Curl) interpolation function in the interior.
[in] | cell | Cell for evaluation |
[in] | dof | Element to evaluate |
[in] | f | Position in cell in logical space [4] |
[in] | gop | Value of interpolation function (dof) at point (f) [3] |
[out] | val | Cell Jacobian matrix at point (f) [3,4] |
subroutine oft_hcurl_eval_all | ( | class(oft_hcurl_fem), intent(in) | self, |
integer(i4), intent(in) | cell, | ||
real(r8), dimension(4), intent(in) | f, | ||
real(r8), dimension(:,:), intent(out), contiguous | rop, | ||
real(r8), dimension(3,4), intent(in) | gop | ||
) |
Evaluate all lagrange interpolation functions.
[in] | cell | Cell for evaluation |
[in] | f | Position in cell in logical space |
[in] | gop | Value of interpolation functions at point (f) [3,ncdofs] |
[out] | rop | Cell Jacobian matrix at point (f) [3,4] |
subroutine oft_hcurl_evalc | ( | integer(i4), intent(in) | order, |
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(4), intent(out) | val | ||
) |
Evaluate cell based interpolation functions.
subroutine oft_hcurl_evale | ( | integer(i4), intent(in) | order, |
integer(i4), dimension(2), intent(in) | ed, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(4), intent(out) | val | ||
) |
Evaluate edge based interpolation functions.
subroutine oft_hcurl_evalf | ( | integer(i4), intent(in) | order, |
integer(i4), dimension(3), intent(in) | fc, | ||
integer(i4), intent(in) | dof, | ||
real(r8), dimension(:), intent(in) | f, | ||
real(r8), dimension(4), intent(out) | val | ||
) |
Evaluate face based interpolation functions.
subroutine oft_hcurl_get_cgops | ( | real(r8), dimension(3,4), intent(in) | gop, |
real(r8), dimension(3,6), intent(out) | cgop | ||
) |
Get cross-products of spatial jacobian vectors.
subroutine oft_hcurl_grad_setup | ( | type(oft_ml_fem_type), intent(inout), target | ml_hcurl_obj, |
type(oft_ml_fem_type), intent(inout) | ml_h1_obj, | ||
type(oft_ml_fem_comp_type), intent(inout) | ml_hcurl_grad_obj, | ||
type(oft_ml_fem_type), intent(inout), target | ml_h1grad_obj, | ||
integer(i4), intent(in), optional | minlev | ||
) |
Construct a vector FE space for H(Curl) and it's compliment ( \( \nabla H^1 \))
subroutine oft_hcurl_setup | ( | type(multigrid_mesh), intent(inout), target | mg_mesh, |
integer(i4), intent(in) | order, | ||
type(oft_ml_fem_type), intent(inout), optional | ml_hcurl_obj, | ||
type(oft_ml_fem_type), intent(inout), optional | ml_bhcurl_obj, | ||
integer(i4), intent(in), optional | minlev | ||
) |
Construct H(Curl) FE basis on each mesh level.
[in] | order | Order of representation desired |
subroutine oft_hcurl_setup_surf | ( | class(oft_afem_type), intent(out), pointer | self, |
class(oft_bmesh), intent(in), target | tmesh, | ||
integer(i4), intent(in) | order | ||
) |
Needs docs.
[out] | self | Needs docs |
[in] | tmesh | Needs docs |
[in] | order | Order of representation desired |
subroutine oft_hcurl_setup_vol | ( | class(oft_afem_type), intent(out), pointer | self, |
class(oft_mesh), intent(in), target | tmesh, | ||
integer(i4), intent(in) | order | ||
) |
Needs docs.
[out] | self | Needs docs |
[in] | tmesh | Needs docs |
[in] | order | Order of representation desired |
integer(i4), dimension(4,4), parameter cgop_map = RESHAPE((/0,-1,-2,-3,1,0,-4,-5,2,4,0,-6,3,5,6,0/), (/4,4/)) |
integer(i4), parameter oft_hcurl_id = 3 |
FE type ID.