|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Surface lagrange FE operator definitions.
Data Types | |
| type | oft_blag_zerob |
| Needs docs. More... | |
| type | oft_blag_zeroe |
| Needs docs. More... | |
| type | oft_blag_zerogrnd |
| Needs docs. More... | |
| type | oft_lag_bg2interp |
| Interpolate \( \frac{\partial }{\partial x_i \partial x_j} \) of a Lagrange field. More... | |
| type | oft_lag_bginterp |
| Interpolate \( \nabla \) of a Lagrange field. More... | |
| type | oft_lag_brinterp |
| Interpolate a surface Lagrange field. More... | |
| type | oft_lag_bvrinterp |
| Interpolate a boundary Lagrange vector field. More... | |
Functions/Subroutines | |
| subroutine | lag_bg2interp (self, cell, f, gop, val) |
| Reconstruct the Hessian of a surface Lagrange scalar field. | |
| subroutine | lag_bginterp (self, cell, f, gop, val) |
| Reconstruct the gradient of a surface Lagrange scalar field. | |
| subroutine | lag_brinterp (self, cell, f, gop, val) |
| Reconstruct a surface Lagrange scalar field. | |
| subroutine | lag_brinterp_delete (self) |
| Destroy temporary internal storage. | |
| subroutine | lag_brinterp_setup (self, lag_rep) |
| Setup interpolator for boundary Lagrange scalar fields. | |
| subroutine | lag_brinterp_share (self, source_obj) |
| Setup interpolator by linking to another interpolator of the same class. | |
| subroutine | lag_bvrinterp (self, cell, f, gop, val) |
| Reconstruct a boundary Lagrange vector field. | |
| subroutine | lag_bvrinterp_delete (self) |
| Destroy temporary internal storage. | |
| subroutine | lag_bvrinterp_setup (self, lag_rep) |
| Setup interpolator for boundary Lagrange vector fields. | |
| subroutine | oft_blag_getlop (fe_rep, mat, bc, parent_geom_flag) |
| Construct laplacian matrix for Lagrange scalar representation. | |
| subroutine | oft_blag_getmop (fe_rep, mat, bc) |
| Construct mass matrix for a boundary Lagrange scalar representation. | |
| subroutine | oft_blag_nproject (fe_rep, vmesh, field, x) |
| Project the normal component of a vector field onto a boundary Lagrange basis. | |
| subroutine | oft_blag_project (fe_rep, field, x) |
| Project a scalar field onto a boundary Lagrange basis. | |
| subroutine | oft_blag_vproject (fe_rep, field, x, y, z) |
| Project a vector field onto a boundary Lagrange basis. | |
| subroutine | zerob_apply (self, a) |
| Zero a surface Lagrange scalar field at all boundary nodes. | |
| subroutine | zerob_delete (self) |
| Zero a surface Lagrange scalar field at all boundary nodes. | |
| subroutine | zeroe_apply (self, a) |
| Zero a surface Lagrange scalar field at all edge nodes. | |
| subroutine | zerogrnd_apply (self, a) |
| Zero a surface Lagrange scalar field at the mesh "grounding" node. | |
Variables | |
| real(r8), dimension(fem_max_levels) | df_lop_surf =-1.d99 |
| integer(i4), dimension(fem_max_levels) | nu_lop_surf =0 |
| real(r8), dimension(:,:), pointer | oft_blag_gop => NULL() |
| real(r8), dimension(:), pointer | oft_blag_rop => NULL() |
| subroutine lag_bg2interp | ( | class(oft_lag_bg2interp), intent(inout) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,3), intent(in) | gop, | ||
| real(r8), dimension(:), intent(out) | val | ||
| ) |
Reconstruct the Hessian of a surface Lagrange scalar field.
| [in] | cell | Cell for interpolation |
| [in] | f | Position in cell in logical coord [3] |
| [in] | gop | Logical gradient vectors at f [3,3] |
| [out] | val | Reconstructed field at f [6] |
| subroutine lag_bginterp | ( | class(oft_lag_bginterp), intent(inout) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,3), intent(in) | gop, | ||
| real(r8), dimension(:), intent(out) | val | ||
| ) |
Reconstruct the gradient of a surface Lagrange scalar field.
| [in] | cell | Cell for interpolation |
| [in] | f | Position in cell in logical coord [3] |
| [in] | gop | Logical gradient vectors at f [3,3] |
| [out] | val | Reconstructed field at f [3] |
| subroutine lag_brinterp | ( | class(oft_lag_brinterp), intent(inout) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,3), intent(in) | gop, | ||
| real(r8), dimension(:), intent(out) | val | ||
| ) |
Reconstruct a surface Lagrange scalar field.
| [in] | cell | Cell for interpolation |
| [in] | f | Position in cell in logical coord [3] |
| [in] | gop | Logical gradient vectors at f [3,3] |
| [out] | val | Reconstructed field at f [1] |
| subroutine lag_brinterp_delete | ( | class(oft_lag_brinterp), intent(inout) | self | ) |
Destroy temporary internal storage.
| subroutine lag_brinterp_setup | ( | class(oft_lag_brinterp), intent(inout) | self, |
| class(oft_afem_type), intent(inout), target | lag_rep | ||
| ) |
Setup interpolator for boundary Lagrange scalar fields.
Fetches local representation used for interpolation from solution vector
| subroutine lag_brinterp_share | ( | class(oft_lag_brinterp), intent(inout) | self, |
| class(oft_lag_brinterp), intent(in) | source_obj | ||
| ) |
Setup interpolator by linking to another interpolator of the same class.
| subroutine lag_bvrinterp | ( | class(oft_lag_bvrinterp), intent(inout) | self, |
| integer(i4), intent(in) | cell, | ||
| real(r8), dimension(:), intent(in) | f, | ||
| real(r8), dimension(3,3), intent(in) | gop, | ||
| real(r8), dimension(:), intent(out) | val | ||
| ) |
Reconstruct a boundary Lagrange vector field.
| [in] | cell | Cell for interpolation |
| [in] | f | Position in cell in logical coord [3] |
| [in] | gop | Logical gradient vectors at f [3,3] |
| [out] | val | Reconstructed field at f [3] |
| subroutine lag_bvrinterp_delete | ( | class(oft_lag_bvrinterp), intent(inout) | self | ) |
Destroy temporary internal storage.
| subroutine lag_bvrinterp_setup | ( | class(oft_lag_bvrinterp), intent(inout) | self, |
| class(oft_afem_type), intent(inout), target | lag_rep | ||
| ) |
Setup interpolator for boundary Lagrange vector fields.
Fetches local representation used for interpolation from vector object
| subroutine oft_blag_getlop | ( | class(oft_afem_type), intent(inout), target | fe_rep, |
| class(oft_matrix), intent(inout), pointer | mat, | ||
| character(len=*), intent(in) | bc, | ||
| integer(i4), dimension(:), intent(in), optional | parent_geom_flag | ||
| ) |
Construct laplacian matrix for Lagrange scalar representation.
Supported boundary conditions
Full matrix -'zerob'Dirichlet for all boundary DOF -'grnd'` Dirichlet for only groundin point | [in,out] | mat | Matrix object |
| [in] | bc | Boundary condition |
| [in] | parent_geom_flag | Parent FE geometry type flag |
| subroutine oft_blag_getmop | ( | class(oft_afem_type), intent(inout), target | fe_rep, |
| class(oft_matrix), intent(inout), pointer | mat, | ||
| character(len=*), intent(in) | bc | ||
| ) |
Construct mass matrix for a boundary Lagrange scalar representation.
Supported boundary conditions
Full matrix -'zerob'` Dirichlet for all boundary DOF | [in,out] | mat | Matrix object |
| [in] | bc | Boundary condition |
| subroutine oft_blag_nproject | ( | class(oft_afem_type), intent(inout), target | fe_rep, |
| class(oft_mesh), intent(inout), target | vmesh, | ||
| class(fem_interp), intent(inout) | field, | ||
| class(oft_vector), intent(inout) | x | ||
| ) |
Project the normal component of a vector field onto a boundary Lagrange basis.
| [in,out] | field | Vector field for projection |
| [in,out] | x | Field projected onto boundary Lagrange basis |
| subroutine oft_blag_project | ( | class(oft_afem_type), intent(inout), target | fe_rep, |
| class(bfem_interp), intent(inout) | field, | ||
| class(oft_vector), intent(inout) | x | ||
| ) |
Project a scalar field onto a boundary Lagrange basis.
| [in,out] | field | Scalar field for projection |
| [in,out] | x | Field projected onto boundary Lagrange basis |
| subroutine oft_blag_vproject | ( | class(oft_afem_type), intent(inout), target | fe_rep, |
| class(bfem_interp), intent(inout) | field, | ||
| class(oft_vector), intent(inout) | x, | ||
| class(oft_vector), intent(inout) | y, | ||
| class(oft_vector), intent(inout) | z | ||
| ) |
Project a vector field onto a boundary Lagrange basis.
| [in,out] | field | Vector field for projection |
| [in,out] | x | Field projected onto boundary Lagrange basis |
| [in,out] | y | Field projected onto boundary Lagrange basis |
| [in,out] | z | Field projected onto boundary Lagrange basis |
| subroutine zerob_apply | ( | class(oft_blag_zerob), intent(inout) | self, |
| class(oft_vector), intent(inout) | a | ||
| ) |
Zero a surface Lagrange scalar field at all boundary nodes.
| [in,out] | a | Field to be zeroed |
| subroutine zerob_delete | ( | class(oft_blag_zerob), intent(inout) | self | ) |
Zero a surface Lagrange scalar field at all boundary nodes.
| subroutine zeroe_apply | ( | class(oft_blag_zeroe), intent(inout) | self, |
| class(oft_vector), intent(inout) | a | ||
| ) |
Zero a surface Lagrange scalar field at all edge nodes.
| [in,out] | a | Field to be zeroed |
| subroutine zerogrnd_apply | ( | class(oft_blag_zerogrnd), intent(inout) | self, |
| class(oft_vector), intent(inout) | a | ||
| ) |
Zero a surface Lagrange scalar field at the mesh "grounding" node.
| [in,out] | a | Field to be zeroed |
| real(r8), dimension(fem_max_levels) df_lop_surf =-1.d99 |
| integer(i4), dimension(fem_max_levels) nu_lop_surf =0 |
| real(r8), dimension(:,:), pointer oft_blag_gop => NULL() |
| real(r8), dimension(:), pointer oft_blag_rop => NULL() |