The Open FUSION Toolkit 1.0.0-8905cc5
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines | Variables
oft_h1_basis Module Reference

Detailed Description

Base scalar H^1 FE class and basis evaluation.

Authors
Chris Hansen
Date
August 2011

Data Types

type  oft_h1_bfem
 Needs docs. More...
 
type  oft_h1_fem
 Needs docs. More...
 

Functions/Subroutines

logical function oft_2d_h1_cast (self, source)
 Cast abstract FE type to 2D H^1 finite element type.
 
logical function oft_3d_h1_cast (self, source)
 Cast abstract FE type to 3D H^1 finite element type.
 
subroutine oft_bh1_eval (self, face, dof, f, val)
 Evaluate H^1 interpolation function on the boundary.
 
subroutine oft_bh1_geval (self, face, dof, f, val, gop)
 Evaluate H^1 gradient function on the boundary.
 
subroutine oft_h1_d2eval (self, cell, dof, f, val, g2op)
 Evaluate H^1 gradient function.
 
subroutine oft_h1_d2evalc (order, dof, f, val)
 Evaluate cell based gradient functions.
 
subroutine oft_h1_d2evale (order, ed, el, dof, f, val)
 Evaluate edge based gradient functions.
 
subroutine oft_h1_d2evalf (order, fc, el, dof, f, val)
 Evaluate cell based gradient functions.
 
subroutine oft_h1_eval (self, cell, dof, f, val)
 Evaluate H^1 interpolation function.
 
subroutine oft_h1_eval_all (self, cell, f, rop)
 Evaluate all H^1 interpolation functions.
 
subroutine oft_h1_evalc (order, dof, f, val)
 Evaluate cell based interpolation functions.
 
subroutine oft_h1_evale (order, ed, dof, f, val)
 Evaluate edge based interpolation functions.
 
subroutine oft_h1_evalf (order, fc, dof, f, val)
 Evaluate face based interpolation functions.
 
subroutine oft_h1_evalp (order, pt, f, val)
 Evaluate point based interpolation functions.
 
subroutine oft_h1_geval (self, cell, dof, f, val, gop)
 Evaluate H^1 gradient function.
 
subroutine oft_h1_geval_all (self, cell, f, rop, gop)
 Evaluate all H^1 interpolation functions.
 
subroutine oft_h1_gevalc (order, dof, f, val)
 Evaluate cell based curl functions.
 
subroutine oft_h1_gevale (order, ed, dof, f, val)
 Evaluate edge based curl functions.
 
subroutine oft_h1_gevalf (order, fc, dof, f, val)
 Evaluate face based curl functions.
 
subroutine oft_h1_gevalp (order, pt, f, val)
 Evaluate point based gradient functions.
 
subroutine oft_h1_setup (mg_mesh, order, ml_h1_obj, ml_bh1_obj, minlev)
 Construct H^1 scalar FE on each mesh level.
 
subroutine oft_h1_setup_surf (self, tmesh, order)
 Needs docs.
 
subroutine oft_h1_setup_vol (self, tmesh, order)
 Needs docs.
 

Variables

integer(i4), parameter oft_h1_id = 2
 FE type ID.
 

Function/Subroutine Documentation

◆ oft_2d_h1_cast()

logical function oft_2d_h1_cast ( class(oft_h1_bfem), intent(out), pointer  self,
class(oft_afem_type), intent(in), target  source 
)

Cast abstract FE type to 2D H^1 finite element type.

The source matrix must be oft_h1_bfem or a child class, otherwise pointer will be returned as null and success == .FALSE.

Parameters
[out]selfReference to source object with desired class
[in]sourceSource object to reference
Returns
Cast success flag

◆ oft_3d_h1_cast()

logical function oft_3d_h1_cast ( class(oft_h1_fem), intent(out), pointer  self,
class(oft_afem_type), intent(in), target  source 
)

Cast abstract FE type to 3D H^1 finite element type.

The source matrix must be oft_h1_fem or a child class, otherwise pointer will be returned as null and success == .FALSE.

Parameters
[out]selfReference to source object with desired class
[in]sourceSource object to reference
Returns
Cast success flag

◆ oft_bh1_eval()

subroutine oft_bh1_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), intent(out)  val 
)

Evaluate H^1 interpolation function on the boundary.

Note
Evaluation is performed in logical coordinates with the resulting vector in physical coordinates
Parameters
[in]selfH^1 type for evaluation (bfem)
[in]faceFace for evaluation
[in]dofElement to evaluate
[in]fPosition on face in logical space [4]
[out]valValue of interpolation function (dof) at point (f)

◆ oft_bh1_geval()

subroutine oft_bh1_geval ( 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^1 gradient function on the boundary.

Note
Evaluation is performed in logical coordinates with the resulting vector in, and gradient with respect to, physical coordinates
Parameters
[in]selfH^1 type for evaluation (bfem)
[in]faceFace for evaluation
[in]dofElement to evaluate
[in]fPosition on face in logical space [4]
[out]valGradient of H^1 element (dof) at point (f) [3]
[in]gopFace Jacobian matrix at point (f) [3,3]

◆ oft_h1_d2eval()

subroutine oft_h1_d2eval ( class(oft_fem_type), 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)  g2op 
)

Evaluate H^1 gradient function.

Note
Evaluation is performed in logical coordinates with the resulting gradient with respect to physical coordinates
Parameters
[in]selfH^1 type for evaluation
[in]cellCell for evaluation
[in]dofElement to evaluate
[in]fPosition in cell in logical space
[out]valGradient of H^1 element (dof) at point (f) [3]
[in]g2opCell Jacobian matrix at point (f) [3,4]

◆ oft_h1_d2evalc()

subroutine oft_h1_d2evalc ( integer(i4), intent(in)  order,
integer(i4), intent(in)  dof,
real(r8), dimension(:), intent(in)  f,
real(r8), dimension(10), intent(out)  val 
)

Evaluate cell based gradient functions.

Parameters
[in]orderNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_d2evale()

subroutine oft_h1_d2evale ( integer(i4), intent(in)  order,
integer(i4), dimension(2), intent(in)  ed,
integer(i4), intent(in)  el,
integer(i4), intent(in)  dof,
real(r8), dimension(:), intent(in)  f,
real(r8), dimension(10), intent(out)  val 
)

Evaluate edge based gradient functions.

Parameters
[in]orderNeeds docs
[in]edNeeds docs
[in]elNeeds docs
[in]dofNeeds docs

◆ oft_h1_d2evalf()

subroutine oft_h1_d2evalf ( integer(i4), intent(in)  order,
integer(i4), dimension(3), intent(in)  fc,
integer(i4), intent(in)  el,
integer(i4), intent(in)  dof,
real(r8), dimension(:), intent(in)  f,
real(r8), dimension(10), intent(out)  val 
)

Evaluate cell based gradient functions.

Parameters
[in]orderNeeds docs
[in]fcNeeds docs
[in]elNeeds docs
[in]dofNeeds docs

◆ oft_h1_eval()

subroutine oft_h1_eval ( class(oft_h1_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 H^1 interpolation function.

Note
Evaluation is performed in logical coordinates with the resulting vector in physical coordinates
Parameters
[in]selfH^1 type for evaluation
[in]cellCell for evaluation
[in]dofElement to evaluate
[in]fPosition in cell in logical space
[out]valValue of interpolation function (dof) at point (f)

◆ oft_h1_eval_all()

subroutine oft_h1_eval_all ( class(oft_h1_fem), intent(in)  self,
integer(i4), intent(in)  cell,
real(r8), dimension(:), intent(in)  f,
real(r8), dimension(:), intent(out), contiguous  rop 
)

Evaluate all H^1 interpolation functions.

Note
Evaluation is performed in logical coordinates
Parameters
[in]selfH^1 type for evaluation
[in]cellCell for evaluation
[in]fPosition in cell in logical space
[out]ropValue of interpolation functions at point (f) [ncdofs]

◆ oft_h1_evalc()

subroutine oft_h1_evalc ( integer(i4), intent(in)  order,
integer(i4), intent(in)  dof,
real(r8), dimension(:), intent(in)  f,
real(r8), intent(out)  val 
)

Evaluate cell based interpolation functions.

Parameters
[in]orderNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_evale()

subroutine oft_h1_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), intent(out)  val 
)

Evaluate edge based interpolation functions.

Parameters
[in]orderNeeds docs
[in]edNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_evalf()

subroutine oft_h1_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), intent(out)  val 
)

Evaluate face based interpolation functions.

Parameters
[in]orderNeeds docs
[in]fcNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_evalp()

subroutine oft_h1_evalp ( integer(i4), intent(in)  order,
integer(i4), intent(in)  pt,
real(r8), dimension(:), intent(in)  f,
real(r8), intent(out)  val 
)

Evaluate point based interpolation functions.

Parameters
[in]orderNeeds docs
[in]ptNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_geval()

subroutine oft_h1_geval ( class(oft_h1_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^1 gradient function.

Note
Evaluation is performed in logical coordinates with the resulting vector in, and gradient with respect to, physical coordinates
Parameters
[in]selfH^1 type for evaluation
[in]cellCell for evaluation
[in]dofElement to evaluate
[in]fPosition in cell in logical space
[out]valGradient of H^1 element (dof) at point (f) [3]
[in]gopCell Jacobian matrix at point (f) [3,4]

◆ oft_h1_geval_all()

subroutine oft_h1_geval_all ( class(oft_h1_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 H^1 interpolation functions.

Note
Evaluation is performed in logical coordinates
Parameters
[in]selfH^1 type for evaluation
[in]cellCell for evaluation
[in]fPosition in cell in logical space
[out]ropValue of interpolation functions at point (f) [3,ncdofs]
[in]gopCell Jacobian matrix at point (f) [3,4]

◆ oft_h1_gevalc()

subroutine oft_h1_gevalc ( 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 curl functions.

Parameters
[in]orderNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_gevale()

subroutine oft_h1_gevale ( integer(i4), intent(in)  order,
integer(i4), dimension(2), intent(in)  ed,
integer(i4), intent(in)  dof,
real(r8), dimension(4), intent(in)  f,
real(r8), dimension(4), intent(out)  val 
)

Evaluate edge based curl functions.

Parameters
[in]orderNeeds docs
[in]edNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_gevalf()

subroutine oft_h1_gevalf ( 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 curl functions.

Parameters
[in]orderNeeds docs
[in]fcNeeds docs
[in]dofNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_gevalp()

subroutine oft_h1_gevalp ( integer(i4), intent(in)  order,
integer(i4), intent(in)  pt,
real(r8), dimension(:), intent(in)  f,
real(r8), dimension(4), intent(out)  val 
)

Evaluate point based gradient functions.

Parameters
[in]orderNeeds docs
[in]ptNeeds docs
[in]fNeeds docs
[out]valNeeds docs

◆ oft_h1_setup()

subroutine oft_h1_setup ( type(multigrid_mesh), intent(inout), target  mg_mesh,
integer(i4), intent(in)  order,
type(oft_ml_fem_type), intent(inout), optional  ml_h1_obj,
type(oft_ml_fem_type), intent(inout), optional  ml_bh1_obj,
integer(i4), intent(in), optional  minlev 
)

Construct H^1 scalar FE on each mesh level.

Note
Highest supported representation is Quartic
Parameters
[in]orderOrder of representation desired
[in]minlevLowest level to construct

◆ oft_h1_setup_surf()

subroutine oft_h1_setup_surf ( class(oft_afem_type), intent(out), pointer  self,
class(oft_bmesh), intent(in), target  tmesh,
integer(i4), intent(in)  order 
)

Needs docs.

Parameters
[out]selfNeeds docs
[in]tmeshNeeds docs
[in]orderOrder of representation desired

◆ oft_h1_setup_vol()

subroutine oft_h1_setup_vol ( class(oft_afem_type), intent(out), pointer  self,
class(oft_mesh), intent(in), target  tmesh,
integer(i4), intent(in)  order 
)

Needs docs.

Parameters
[out]selfNeeds docs
[in]tmeshNeeds docs
[in]orderOrder of representation desired

Variable Documentation

◆ oft_h1_id

integer(i4), parameter oft_h1_id = 2

FE type ID.