The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
h1_operators.F90 File Reference
#include "local.h"

Data Types

type  oft_h1_ginterp
 Interpolate \( \nabla \) of a H^1 field. More...
type  oft_h1_rinterp
 Interpolate a H^1 field. More...
type  oft_h1_zerob
 Needs docs. More...
type  oft_h1_zerogrnd
 Needs docs. More...
type  oft_h1_zeroi
 Needs docs. More...

Modules

module  oft_h1_operators
 H^1 FE operator definitions.

Functions/Subroutines

subroutine build_ginterpmatrix (mat)
 Construct interpolation matrix for transfer between geometric levels of H^1 finite element space.
subroutine build_pinterpmatrix (mat)
 Construct interpolation matrix for transfer between polynomial levels of H^1 finite element space.
subroutine ginterp_apply (self, cell, f, gop, val)
 Reconstruct the gradient of a H^1 scalar field.
subroutine h1_base_pop (self, acors, afine)
 Transfer a base level H^1 scalar field to the next MPI level.
subroutine h1_base_push (self, afine, acors)
 Transfer a MPI level H^1 scalar field to the base level.
subroutine h1_getlop_pre (ml_h1_rep, pre, mats, bc_type, level, nlevels)
 Compute eigenvalues and smoothing coefficients for the operator H^1::LOP.
subroutine h1_lop_eigs (ml_h1_rep, minlev)
 Compute eigenvalues and smoothing coefficients for the operator H^1::LOP.
subroutine h1_mloptions
 Read-in options for the basic H^1 ML preconditioners.
subroutine h1_setup_interp (ml_h1_rep)
 Construct interpolation matrices for transfer between H^1 finite element spaces.
subroutine oft_h1_getlop (fe_rep, mat, bc)
 Construct laplacian matrix for H^1 scalar representation.
subroutine oft_h1_getmop (fe_rep, mat, bc)
 Construct mass matrix for H^1 scalar representation.
subroutine oft_h1_project (fe_rep, field, x)
 Project a scalar field onto a H^1 basis.
subroutine rinterp_apply (self, cell, f, gop, val)
 Reconstruct a H^1 scalar field.
subroutine rinterp_delete (self)
 Destroy temporary internal storage.
subroutine rinterp_setup (self, h1_rep)
 Setup interpolator for H^1 scalar fields.
subroutine zerob_apply (self, a)
 Zero a H^1 scalar field at all boundary nodes.
subroutine zerob_delete (self)
 Zero a H^1 scalar field at all boundary nodes.
subroutine zerogrnd_apply (self, a)
 Zero a H^1 scalar field at the global grounding node.
subroutine zeroi_apply (self, a)
 Zero a H^1 scalar field at all interior nodes.

Variables

real(r8), dimension(fem_max_levels) df_lop =-1.d99
integer(i4), dimension(fem_max_levels) nu_lop =0
real(r8), dimension(:,:), pointer oft_h1_gop => NULL()
real(r8), dimension(:), pointer oft_h1_rop => NULL()

Function/Subroutine Documentation

◆ build_ginterpmatrix()

subroutine build_ginterpmatrix ( class(oft_matrix), intent(inout), pointer mat)
private

Construct interpolation matrix for transfer between geometric levels of H^1 finite element space.

◆ build_pinterpmatrix()

subroutine build_pinterpmatrix ( class(oft_matrix), intent(inout), pointer mat)
private

Construct interpolation matrix for transfer between polynomial levels of H^1 finite element space.