|
The Open FUSION Toolkit 1.0.0-beta5
Modeling tools for plasma and fusion research and engineering
|
Base Nedelec H1(Curl) FE class and basis evaluation.
Data Types | |
| type | oft_hcurl_bfem |
| Needs docs. More... | |
| type | oft_hcurl_fem |
| Needs docs. More... | |
| type | oft_nedelec_ops |
| Needs docs. More... | |
Functions/Subroutines | |
| subroutine | hcurl_2d_grid (order, inds) |
| Need docs. | |
| subroutine | hcurl_3d_grid (order, inds) |
| Need docs. | |
| subroutine | oft_bhcurl_ceval (self, face, dof, f, val, gop) |
| Evaluate Nedelec H1(Curl) curl function on the boundary. | |
| subroutine | oft_bhcurl_eval (self, face, dof, f, val, gop) |
| Evaluate Nedelec H1(Curl) interpolation function on the boundary. | |
| subroutine | oft_hcurl_ceval (self, cell, dof, f, val, gop) |
| Evaluate Nedelec H1(Curl) curl function in the interior. | |
| subroutine | oft_hcurl_ceval_all (self, cell, f, rop, cgop) |
| Evaluate all lagrange interpolation functions. | |
| subroutine | oft_hcurl_ceval_all2 (self, cell, f, rop, cgop) |
| Evaluate all lagrange interpolation functions (quadratic) | |
| subroutine | oft_hcurl_ceval_all3 (self, cell, f, rop, cgop) |
| Evaluate all lagrange interpolation functions (cubic) | |
| subroutine | oft_hcurl_ceval_all4 (self, cell, f, rop, cgop) |
| Evaluate all lagrange interpolation functions (quartic) | |
| 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 Nedelec H1(Curl) interpolation function in the interior. | |
| subroutine | oft_hcurl_eval_all (self, cell, f, rop, gop) |
| Evaluate all lagrange interpolation functions. | |
| subroutine | oft_hcurl_eval_all2 (self, cell, f, rop, gop) |
| Evaluate all lagrange interpolation functions (quadratic) | |
| subroutine | oft_hcurl_eval_all3 (self, cell, f, rop, gop) |
| Evaluate all lagrange interpolation functions (cubic) | |
| subroutine | oft_hcurl_eval_all4 (self, cell, f, rop, gop) |
| Evaluate all lagrange interpolation functions (quartic) | |
| 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) |
| Evaluate all lagrange interpolation functions. | |
| subroutine | oft_hcurl_set_level (level) |
| Set the current level for Nedelec H1(Curl) FE. | |
| subroutine | oft_hcurl_setup (order, minlev) |
| Construct Nedelec H1(Curl) FE on each mesh level. | |
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/)) |
| logical, private | hex_mesh = .FALSE. |
| type(oft_ml_fem_type), target | ml_oft_bhcurl |
| ML container for all FE representations. | |
| type(oft_ml_fem_type), target | ml_oft_hcurl |
| ML container for all FE representations. | |
| type(oft_nedelec_ops), dimension(:), pointer | ml_oft_hcurl_ops |
| ML container for all operators. | |
| type(oft_hcurl_bfem), pointer | oft_bhcurl |
| Active FE representation. | |
| type(oft_hcurl_bfem), pointer | oft_bhcurl_lin |
| Highest linear element representation. | |
| class(oft_hcurl_fem), pointer | oft_hcurl |
| Active FE representation. | |
| integer(i4) | oft_hcurl_blevel = 0 |
| Highest level on base meshes. | |
| integer(i4), parameter | oft_hcurl_id = 3 |
| FE type ID. | |
| integer(i4) | oft_hcurl_lev = 0 |
| Active FE level. | |
| integer(i4) | oft_hcurl_level = 0 |
| Active FE level. | |
| class(oft_hcurl_fem), pointer | oft_hcurl_lin |
| Highest linear element representation. | |
| integer(i4) | oft_hcurl_lin_level = 0 |
| Highest linear element level. | |
| integer(i4) | oft_hcurl_minlev = 0 |
| integer(i4) | oft_hcurl_nlevels = 0 |
| Number of total levels. | |
| type(oft_nedelec_ops), pointer | oft_hcurl_ops |
| Active operators. | |
| type(oft_nedelec_ops), pointer | oft_hcurl_ops_lin |
| Highest linear element operators. | |
| 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.
| 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 Nedelec H1(Curl) curl function on the boundary.
| [in] | self | Nedelec type for evaluation (bfem) |
| [in] | face | Face for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position on face in logical space [4] |
| [out] | val | Curl of nedelec 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 Nedelec H1(Curl) interpolation function on the boundary.
| [in] | self | Nedelec type for evaluation (bfem) |
| [in] | face | Face for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position on face in logical space [4] |
| [out] | val | Value of interpolation function (dof) at point (f) [3] |
| [in] | gop | 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 Nedelec H1(Curl) curl function in the interior.
| [in] | self | Nedelec type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space [4] |
| [out] | val | Curl of nedelec element (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] | self | Lagrange type for evaluation |
| [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] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_hcurl_ceval_all2 | ( | class(oft_fem_type), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(4), intent(in) | f, | ||
| real(r8), dimension(3,14), intent(out) | rop, | ||
| real(r8), dimension(3,6), intent(in) | cgop | ||
| ) |
Evaluate all lagrange interpolation functions (quadratic)
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | f | Position in cell in logical space |
| [out] | rop | Value of interpolation functions at point (f) [ncdofs] |
| subroutine oft_hcurl_ceval_all3 | ( | class(oft_fem_type), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(4), intent(in) | f, | ||
| real(r8), dimension(3,29), intent(out) | rop, | ||
| real(r8), dimension(3,6), intent(in) | cgop | ||
| ) |
Evaluate all lagrange interpolation functions (cubic)
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | f | Position in cell in logical space |
| [out] | rop | Value of interpolation functions at point (f) [ncdofs] |
| subroutine oft_hcurl_ceval_all4 | ( | class(oft_fem_type), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(4), intent(in) | f, | ||
| real(r8), dimension(3,53), intent(out) | rop, | ||
| real(r8), dimension(3,6), intent(in) | cgop | ||
| ) |
Evaluate all lagrange interpolation functions (quartic)
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | f | Position in cell in logical space |
| [out] | rop | Value of interpolation functions at point (f) [ncdofs] |
| 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 Nedelec H1(Curl) interpolation function in the interior.
| [in] | self | Nedelec type for evaluation (fem) |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space [4] |
| [out] | val | Value of interpolation function (dof) at point (f) [3] |
| [in] | gop | 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] | self | Lagrange type for evaluation |
| [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] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_hcurl_eval_all2 | ( | class(oft_fem_type), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(4), intent(in) | f, | ||
| real(r8), dimension(3,14), intent(out) | rop, | ||
| real(r8), dimension(3,4), intent(in) | gop | ||
| ) |
Evaluate all lagrange interpolation functions (quadratic)
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | f | Position in cell in logical space |
| [out] | rop | Value of interpolation functions at point (f) [ncdofs] |
| subroutine oft_hcurl_eval_all3 | ( | class(oft_fem_type), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(4), intent(in) | f, | ||
| real(r8), dimension(3,29), intent(out) | rop, | ||
| real(r8), dimension(3,4), intent(in) | gop | ||
| ) |
Evaluate all lagrange interpolation functions (cubic)
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | f | Position in cell in logical space |
| [out] | rop | Value of interpolation functions at point (f) [ncdofs] |
| subroutine oft_hcurl_eval_all4 | ( | class(oft_fem_type), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(4), intent(in) | f, | ||
| real(r8), dimension(3,53), intent(out) | rop, | ||
| real(r8), dimension(3,4), intent(in) | gop | ||
| ) |
Evaluate all lagrange interpolation functions (quartic)
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | f | Position in cell in logical space |
| [out] | rop | Value of interpolation functions at point (f) [ncdofs] |
| 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 | ||
| ) |
Evaluate all lagrange interpolation functions.
| [in] | self | Lagrange type for evaluation |
| [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] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_hcurl_set_level | ( | integer(i4), intent(in) | level | ) |
Set the current level for Nedelec H1(Curl) FE.
| [in] | level | Desired level |
| subroutine oft_hcurl_setup | ( | integer(i4), intent(in) | order, |
| integer(i4), intent(in), optional | minlev | ||
| ) |
Construct Nedelec H1(Curl) FE on each mesh level.
| [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/)) |
|
private |
| type(oft_ml_fem_type), target ml_oft_bhcurl |
ML container for all FE representations.
| type(oft_ml_fem_type), target ml_oft_hcurl |
ML container for all FE representations.
| type(oft_nedelec_ops), dimension(:), pointer ml_oft_hcurl_ops |
ML container for all operators.
| type(oft_hcurl_bfem), pointer oft_bhcurl |
Active FE representation.
| type(oft_hcurl_bfem), pointer oft_bhcurl_lin |
Highest linear element representation.
| class(oft_hcurl_fem), pointer oft_hcurl |
Active FE representation.
| integer(i4) oft_hcurl_blevel = 0 |
Highest level on base meshes.
| integer(i4), parameter oft_hcurl_id = 3 |
FE type ID.
| integer(i4) oft_hcurl_lev = 0 |
Active FE level.
| integer(i4) oft_hcurl_level = 0 |
Active FE level.
| class(oft_hcurl_fem), pointer oft_hcurl_lin |
Highest linear element representation.
| integer(i4) oft_hcurl_lin_level = 0 |
Highest linear element level.
| integer(i4) oft_hcurl_minlev = 0 |
| integer(i4) oft_hcurl_nlevels = 0 |
Number of total levels.
| type(oft_nedelec_ops), pointer oft_hcurl_ops |
Active operators.
| type(oft_nedelec_ops), pointer oft_hcurl_ops_lin |
Highest linear element operators.