FEEvaluator
FEEvaluators provide a structure that handles the evaluation of finite element basis functions for a given function operator, quadrature rule and item geometry. It stores the evaluations on the reference geometry (where derivatives are computed by automatic differentiation) and on the current mesh item. The current mesh item can be changed via the update! call.
ExtendableFEMBase.FEEvaluator
— Methodfunction FEEvaluator(FE::FESpace, operator::AbstractFunctionOperator, qrule::QuadratureRule; T = Float64, AT = ON_CELLS, L2G = nothing)
Constructs a FEEvaluator that handles evaluations of finite element basis function evaluation for the given FESpace, operator at the quadrature points of the given QuadratureRule. It has an update! function to update the evaluation upon entry to a new cell. Evaluations can be accessed via FEEvaluator.cvals[j,k,i] where i is the quadrature point id, k is the local dof number and j is the component.
Note that matrix-valued operators evaluations, e.g. for Gradient, are given as a long vector (in component-wise order).
ExtendableFEMBase.eval_febe!
— Function eval_febe!(result, FEBE::FEBasisEvaluator, j::Int, i::Int, offset::Int = 0, factor = 1)
Evaluate the j-th basis function of the FEBasisEvaluator at the i-th quadrature point and writes the (possibly vector-valued) evaluation into result (beginning at offset and with the specified factor).
ExtendableFEMBase.eval_febe!
— Function eval_febe!(result, FEBE::FEBasisEvaluator, j::Int, i::Int, offset::Int = 0, factor = 1)
Evaluates the linear combination of the basisfunction with given coefficients at the i-th quadrature point and writes the (possibly vector-valued) evaluation into result (beginning at offset and with the specified factor).
ExtendableFEMBase.update_basis!
— Methodfunction update_basis!(FEBE::FEEvaluator, item::Integer)
Sets FEBE.citem[] = item and updates the basis.
ExtendableFEMBase.update_basis!
— Methodfunction update_basis!(FEBE::SingleFEEvaluator)
Updates the basis for the current item FEBE.citem[].