|
The Open FUSION Toolkit 1.0.0-beta5
Modeling tools for plasma and fusion research and engineering
|
Base Lagrange FE class and basis evaluation.
Data Types | |
| type | oft_lag_ops |
| Lagrange operator container. More... | |
| type | oft_scalar_bfem |
| Lagrange operator container. More... | |
| type | oft_scalar_fem |
| Lagrange operator container. More... | |
Functions/Subroutines | |
| subroutine | oft_blag_d2eval (self, cell, dof, f, val, g2op) |
| Evaluate lagrange gradient function. | |
| subroutine | oft_blag_eval (self, face, dof, f, val) |
| Evaluate lagrange interpolation function. | |
| subroutine | oft_blag_geval (self, face, dof, f, val, gop) |
| Evaluate lagrange gradient function. | |
| subroutine | oft_blag_npos (self, cell, dof, f) |
| Retrieve lagrange node locations in logical coordinates. | |
| subroutine | oft_lag_boundary |
| Compute surface normals for use in boundary conditions. | |
| subroutine | oft_lag_d2eval (self, cell, dof, f, val, g2op) |
| Evaluate lagrange gradient function. | |
| subroutine | oft_lag_eval (self, cell, dof, f, val) |
| Evaluate lagrange interpolation function. | |
| subroutine | oft_lag_eval_all (self, cell, f, rop) |
| Evaluate all lagrange interpolation functions. | |
| subroutine | oft_lag_geval (self, cell, dof, f, val, gop) |
| Evaluate lagrange gradient function. | |
| subroutine | oft_lag_geval_all (self, cell, f, rop, gop) |
| Evaluate all lagrange interpolation functions. | |
| subroutine | oft_lag_nodes (order, ed_nodes, fc_nodes, c_nodes) |
| Retrieve all lagrange node locations in logical coordinates. | |
| subroutine | oft_lag_npos (self, cell, dof, f) |
| Retrieve lagrange node locations in logical coordinates. | |
| subroutine | oft_lag_set_level (level) |
| Set the current level for lagrange finite elements. | |
| subroutine | oft_lag_setup (order, minlev) |
| Construct lagrange scalar FE on each mesh level. | |
| subroutine | oft_lag_setup_bmesh (self, tmesh, order) |
| Construct lagrange scalar FE for a given order. | |
| subroutine | oft_lag_setup_vol (self, tmesh, order) |
| Construct lagrange scalar FE for a given order. | |
| subroutine | scalar_bfem_delete (self) |
| Destroy boundary FE object. | |
| subroutine | scalar_fem_delete (self) |
| Destroy boundary FE object. | |
| subroutine | tet_eval_all2 (self, cell, f, rop) |
| Needs docs. | |
| subroutine | tet_eval_all3 (self, cell, f, rop) |
| Needs docs. | |
| subroutine | tet_eval_all4 (self, cell, f, rop) |
| Needs docs. | |
| subroutine | tet_geval_all2 (self, cell, f, gop, rop) |
| Needs docs. | |
| subroutine | tet_geval_all3 (self, cell, f, gop, rop) |
| Needs docs. | |
| subroutine | tet_geval_all4 (self, cell, f, gop, rop) |
| Needs docs. | |
Variables | |
| logical, private | hex_mesh = .FALSE. |
| type(oft_ml_fem_type), target | ml_oft_blagrange |
| ML container for all FE representations. | |
| type(oft_ml_fem_type), target | ml_oft_lagrange |
| ML container for all FE representations. | |
| type(oft_lag_ops), dimension(:), pointer | ml_oft_lagrange_ops |
| ML container for all operators. | |
| type(oft_ml_fem_comp_type) | ml_oft_vlagrange |
| ML container for vector representation. | |
| type(oft_scalar_bfem), pointer | oft_blagrange |
| Active FE representation. | |
| type(oft_scalar_bfem), pointer | oft_blagrange_lin |
| Highest linear element representation. | |
| type(oft_scalar_fem), pointer | oft_lagrange |
| Active FE representation. | |
| integer(i4) | oft_lagrange_blevel = 0 |
| Highest level on base meshes. | |
| integer(i4), parameter | oft_lagrange_id = 1 |
| FE type ID. | |
| integer(i4) | oft_lagrange_lev = 0 |
| Active FE level. | |
| integer(i4) | oft_lagrange_level = 0 |
| Active FE level. | |
| type(oft_scalar_fem), pointer | oft_lagrange_lin |
| Highest linear element representation. | |
| integer(i4) | oft_lagrange_lin_level = 0 |
| Highest linear element level. | |
| integer(i4) | oft_lagrange_minlev = 0 |
| Lowest constructed level. | |
| integer(i4) | oft_lagrange_nlevels = 0 |
| Number of total levels. | |
| type(oft_lag_ops), pointer | oft_lagrange_ops |
| Active operators. | |
| type(oft_lag_ops), pointer | oft_lagrange_ops_lin |
| Highest linear element operators. | |
| type(oft_fem_comp_type), pointer | oft_vlagrange |
| Active vector representation. | |
| subroutine oft_blag_d2eval | ( | class(oft_scalar_bfem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(6), intent(out) | val, | ||
| real(r8), dimension(6,6), intent(in), optional | g2op | ||
| ) |
Evaluate lagrange gradient function.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space |
| [out] | val | Gradient of lagrange element (dof) at point (f) [3] |
| [in] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_blag_eval | ( | class(oft_scalar_bfem), intent(in) | self, |
| integer(i4), intent(in) | face, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), intent(out) | val | ||
| ) |
Evaluate lagrange interpolation function.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space |
| [out] | val | Value of interpolation function (dof) at point (f) |
| subroutine oft_blag_geval | ( | class(oft_scalar_bfem), 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(3,3), intent(in), optional | gop | ||
| ) |
Evaluate lagrange gradient function.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space |
| [out] | val | Gradient of lagrange element (dof) at point (f) [3] |
| [in] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_blag_npos | ( | class(oft_scalar_bfem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(out) | f | ||
| ) |
Retrieve lagrange node locations in logical coordinates.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to locate |
| [out] | f | Position of node in logical space |
| subroutine oft_lag_boundary |
Compute surface normals for use in boundary conditions.
| subroutine oft_lag_d2eval | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(6), intent(out) | val, | ||
| real(r8), dimension(6,10), intent(in), optional | g2op | ||
| ) |
Evaluate lagrange gradient function.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space |
| [out] | val | Gradient of lagrange element (dof) at point (f) [3] |
| [in] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_lag_eval | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), intent(out) | val | ||
| ) |
Evaluate lagrange interpolation function.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space |
| [out] | val | Value of interpolation function (dof) at point (f) |
| subroutine oft_lag_eval_all | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(:), intent(out), contiguous | rop | ||
| ) |
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) [ncdofs] |
| subroutine oft_lag_geval | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3), intent(out) | val, | ||
| real(r8), dimension(:,:), intent(in) | gop | ||
| ) |
Evaluate lagrange gradient function.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to evaluate |
| [in] | f | Position in cell in logical space |
| [out] | val | Gradient of lagrange element (dof) at point (f) [3] |
| [in] | gop | Cell Jacobian matrix at point (f) [3,4] |
| subroutine oft_lag_geval_all | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(:,:), intent(out), contiguous | rop, | ||
| real(r8), dimension(:,:), 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_lag_nodes | ( | integer(i4), intent(in) | order, |
| real(r8), dimension(:,:), intent(out), pointer | ed_nodes, | ||
| real(r8), dimension(:,:), intent(out), pointer | fc_nodes, | ||
| real(r8), dimension(:,:), intent(out), pointer | c_nodes | ||
| ) |
Retrieve all lagrange node locations in logical coordinates.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to locate |
| [out] | f | Position of node in logical space |
| subroutine oft_lag_npos | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| integer(i4), intent(in) | dof, | ||
| real(r8), dimension(:), intent(out) | f | ||
| ) |
Retrieve lagrange node locations in logical coordinates.
| [in] | self | Lagrange type for evaluation |
| [in] | cell | Cell for evaluation |
| [in] | dof | Element to locate |
| [out] | f | Position of node in logical space |
| subroutine oft_lag_set_level | ( | integer(i4), intent(in) | level | ) |
Set the current level for lagrange finite elements.
| [in] | level | Desired level |
| subroutine oft_lag_setup | ( | integer(i4), intent(in) | order, |
| integer(i4), intent(in), optional | minlev | ||
| ) |
Construct lagrange scalar FE on each mesh level.
| [in] | order | Order of representation desired |
| subroutine oft_lag_setup_bmesh | ( | class(oft_afem_type), intent(out), pointer | self, |
| class(oft_bmesh), intent(in), target | tmesh, | ||
| integer(i4), intent(in) | order | ||
| ) |
Construct lagrange scalar FE for a given order.
| [in] | order | Order of representation desired |
| subroutine oft_lag_setup_vol | ( | class(oft_afem_type), intent(out), pointer | self, |
| class(oft_mesh), intent(in), target | tmesh, | ||
| integer(i4), intent(in) | order | ||
| ) |
Construct lagrange scalar FE for a given order.
| [in] | order | Order of representation desired |
| subroutine scalar_bfem_delete | ( | class(oft_scalar_bfem), intent(inout) | self | ) |
Destroy boundary FE object.
| subroutine scalar_fem_delete | ( | class(oft_scalar_fem), intent(inout) | self | ) |
Destroy boundary FE object.
| subroutine tet_eval_all2 | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(10), intent(out) | rop | ||
| ) |
Needs docs.
| subroutine tet_eval_all3 | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(20), intent(out) | rop | ||
| ) |
Needs docs.
| subroutine tet_eval_all4 | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(35), intent(out) | rop | ||
| ) |
Needs docs.
| subroutine tet_geval_all2 | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,4), intent(in) | gop, | ||
| real(r8), dimension(3,10), intent(out) | rop | ||
| ) |
Needs docs.
| subroutine tet_geval_all3 | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,4), intent(in) | gop, | ||
| real(r8), dimension(3,20), intent(out) | rop | ||
| ) |
Needs docs.
| subroutine tet_geval_all4 | ( | class(oft_scalar_fem), intent(in) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,4), intent(in) | gop, | ||
| real(r8), dimension(3,35), intent(out) | rop | ||
| ) |
Needs docs.
|
private |
| type(oft_ml_fem_type), target ml_oft_blagrange |
ML container for all FE representations.
| type(oft_ml_fem_type), target ml_oft_lagrange |
ML container for all FE representations.
| type(oft_lag_ops), dimension(:), pointer ml_oft_lagrange_ops |
ML container for all operators.
| type(oft_ml_fem_comp_type) ml_oft_vlagrange |
ML container for vector representation.
| type(oft_scalar_bfem), pointer oft_blagrange |
Active FE representation.
| type(oft_scalar_bfem), pointer oft_blagrange_lin |
Highest linear element representation.
| type(oft_scalar_fem), pointer oft_lagrange |
Active FE representation.
| integer(i4) oft_lagrange_blevel = 0 |
Highest level on base meshes.
| integer(i4), parameter oft_lagrange_id = 1 |
FE type ID.
| integer(i4) oft_lagrange_lev = 0 |
Active FE level.
| integer(i4) oft_lagrange_level = 0 |
Active FE level.
| type(oft_scalar_fem), pointer oft_lagrange_lin |
Highest linear element representation.
| integer(i4) oft_lagrange_lin_level = 0 |
Highest linear element level.
| integer(i4) oft_lagrange_minlev = 0 |
Lowest constructed level.
| integer(i4) oft_lagrange_nlevels = 0 |
Number of total levels.
| type(oft_lag_ops), pointer oft_lagrange_ops |
Active operators.
| type(oft_lag_ops), pointer oft_lagrange_ops_lin |
Highest linear element operators.
| type(oft_fem_comp_type), pointer oft_vlagrange |
Active vector representation.