MFEM v4.7.0
Finite element discretization library
|
Class for evaluating 1D nodal, positive (Bernstein), or integrated (Gerritsma) bases. More...
#include <fe_base.hpp>
Public Member Functions | |
Basis (const int p, const real_t *nodes, EvalType etype=Barycentric) | |
Create a nodal or positive (Bernstein) basis of degree p. | |
void | Eval (const real_t x, Vector &u) const |
Evaluate the basis functions at point x in [0,1]. | |
void | Eval (const real_t x, Vector &u, Vector &d) const |
Evaluate the basis functions and their derivatives at point x in [0,1]. | |
void | Eval (const real_t x, Vector &u, Vector &d, Vector &d2) const |
Evaluate the basis functions and their first two derivatives at point x in [0,1]. | |
void | EvalIntegrated (const Vector &d, Vector &i) const |
Evaluate the "integrated" basis type using pre-computed closed basis derivatives. | |
void | ScaleIntegrated (bool scale_integrated_) |
Set whether the "integrated" basis should be scaled by the subcell sizes. Has no effect for non-integrated bases. | |
bool | IsIntegratedType () const |
Returns true if the basis is "integrated", false otherwise. | |
~Basis () | |
Class for evaluating 1D nodal, positive (Bernstein), or integrated (Gerritsma) bases.
Definition at line 990 of file fe_base.hpp.
mfem::Poly_1D::Basis::Basis | ( | const int | p, |
const real_t * | nodes, | ||
EvalType | etype = Barycentric ) |
Create a nodal or positive (Bernstein) basis of degree p.
Definition at line 1697 of file fe_base.cpp.
mfem::Poly_1D::Basis::~Basis | ( | ) |
Definition at line 2023 of file fe_base.cpp.
Evaluate the basis functions at point x in [0,1].
Definition at line 1761 of file fe_base.cpp.
Evaluate the basis functions and their derivatives at point x in [0,1].
Definition at line 1822 of file fe_base.cpp.
Evaluate the basis functions and their first two derivatives at point x in [0,1].
Definition at line 1902 of file fe_base.cpp.
Evaluate the "integrated" basis type using pre-computed closed basis derivatives.
This basis is given by the negative partial sum of the corresponding closed basis derivatives. The closed basis derivatives are given by d, and the result is stored in i.
Definition at line 1993 of file fe_base.cpp.
|
inline |
Returns true if the basis is "integrated", false otherwise.
Definition at line 1035 of file fe_base.hpp.
void mfem::Poly_1D::Basis::ScaleIntegrated | ( | bool | scale_integrated_ | ) |
Set whether the "integrated" basis should be scaled by the subcell sizes. Has no effect for non-integrated bases.
Generally, this should be true for mfem::FiniteElement::MapType VALUE and false for all other map types. If this option is enabled, the basis functions will be scaled by the widths of the subintervals, so that the basis functions represent mean values. Otherwise, the basis functions represent integrated values.
Definition at line 2018 of file fe_base.cpp.