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

Data Types

type  oft_hcurl_cinterp
 Interpolate \( \nabla \times \) of a H(Curl) field. More...
type  oft_hcurl_divout
 Clean the divergence from a H(Curl) vector field. More...
type  oft_hcurl_orthog
 Orthogonalize a H(Curl) vector against a library of given modes. More...
type  oft_hcurl_rinterp
 Interpolate a H(Curl) field. More...
type  oft_hcurl_zerob
 Needs docs. More...

Modules

module  oft_hcurl_operators
 H(Curl) FE operator definitions.

Functions/Subroutines

subroutine hcurl_base_pop (self, acors, afine)
 Transfer a base level H(Curl) vector field to the next MPI level.
subroutine hcurl_base_push (self, afine, acors)
 Transfer a MPI level H(Curl) vector field to the base level.
subroutine hcurl_cinterp (self, cell, f, gop, val)
 Reconstruct the curl of a H(Curl) vector field.
subroutine hcurl_div (hcurl_fe, lag_fe, a, b)
 Apply the divergence operator to a H(Curl) field.
subroutine hcurl_divout_apply (self, a)
 Remove divergence from a H(Curl) vector field by adding a gradient correction.
subroutine hcurl_divout_delete (self)
 Clean-up internal storage for a oft_hcurl_divout object.
subroutine hcurl_divout_setup (self, ml_hcurl_rep, ml_lag_rep, bc, solver)
 Setup matrix and solver with default.
subroutine hcurl_getjmlb_pre (ml_hcurl_rep, pre, mats, alam, level, nlevels)
 Construct default MG preconditioner for H(Curl)::JMLB.
subroutine hcurl_getwop_pre (ml_hcurl_rep, pre, mats, level, nlevels)
 Construct default MG preconditioner for H(Curl)::WOP.
subroutine hcurl_ginterpmatrix (mat)
 Construct interpolation matrix for polynomial levels.
subroutine hcurl_grad (hcurl_fe, a, b)
 Add the gradient of a linear Lagrange scalar field to a H(Curl) field.
subroutine hcurl_gradtp (hcurl_fe, a, b)
 Apply the transposed gradient operator to a H(Curl) vector field.
subroutine hcurl_mloptions (ml_hcurl_obj)
 Read-in options for the basic H(Curl) ML preconditioners.
subroutine hcurl_orthog_apply (self, a)
 Orthogonalize a H(Curl) vector against a library of given modes.
subroutine hcurl_orthog_delete (self)
 Clean-up internal storage for a oft_hcurl_orthog object.
subroutine hcurl_pinterpmatrix (mat)
 Construct interpolation matrix for polynomial levels.
subroutine hcurl_rinterp (self, cell, f, gop, val)
 Reconstruct a H(Curl) vector field.
subroutine hcurl_rinterp_delete (self)
 Destroy temporary internal storage.
subroutine hcurl_rinterp_setup (self, hcurl_rep)
 Setup interpolator for H(Curl) fields.
subroutine hcurl_setup_interp (ml_hcurl_rep)
 Construct interpolation matrices on each MG level.
subroutine hcurl_wop_eigs (ml_hcurl_rep, minlev)
 Compute eigenvalues and smoothing coefficients for the operator H(Curl)::WOP.
subroutine oft_hcurl_bcurl (fe_rep, bfe_rep, field, x)
 Compute the boundary term for integration by parts of the curl operator using a HCurl basis.
subroutine oft_hcurl_getjmlb (fe_rep, mat, alam, bc)
 Construct force-free response matrix for a H(Curl) representation.
subroutine oft_hcurl_getkop (fe_rep, mat, bc)
 Construct helicity matrix for a H(Curl) representation.
subroutine oft_hcurl_getmop (fe_rep, mat, bc)
 Construct mass matrix for a H(Curl) representation.
subroutine oft_hcurl_getwop (fe_rep, mat, bc)
 Construct energy matrix for a H(Curl) representation.
subroutine oft_hcurl_project (fe_rep, field, x)
 Project a vector field onto a H(Curl) basis.
subroutine zerob_apply (self, a)
 Zero the tangential component of a H(Curl) vector field on the boundary.
subroutine zerob_delete (self)
 Zero the tangential component of a H(Curl) vector field on the boundary.

Variables

real(r8), dimension(fem_max_levels) df_wop =-1.d99
integer(i4), dimension(fem_max_levels) nu_jmlb =20
integer(i4), dimension(fem_max_levels) nu_wop =0
real(r8), dimension(:,:), pointer oft_hcurl_cop => NULL()
real(r8), dimension(:,:), pointer oft_hcurl_rop => NULL()

Function/Subroutine Documentation

◆ hcurl_ginterpmatrix()

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

Construct interpolation matrix for polynomial levels.

Parameters
[in,out]matInterpolation matrix

◆ hcurl_pinterpmatrix()

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

Construct interpolation matrix for polynomial levels.

Parameters
[in,out]matInterolation matrix