![]() |
MFEM v4.10.0
Finite element discretization library
|
#include <bounds.hpp>
Public Member Functions | |
| PLBound (const int nb_i, const int ncp_i, const int b_type_i, const int cp_type_i, const real_t tol_i) | |
| PLBound (const FiniteElementSpace *fes, const int ncp_i=-1, const int cp_type_i=0) | |
| int | GetMinimumPointsForGivenBases (int nb_i, int b_type_i, int cp_type_i) const |
| Get minimum number of control points needed to bound the given bases. | |
| void | Print (std::ostream &outp=mfem::out) const |
| Print information about the bounds. | |
| void | SetProjectionFlagForBounding (bool proj_) |
| Enable (default) or disable linear projection before bounding. | |
| void | GetNDBounds (const int rdim, const Vector &coeff, Vector &intmin, Vector &intmax) const |
| Compute piecewise linear bounds for the lexicographically-ordered nodal coefficients in coeff in 1D/2D/3D. | |
| int | GetNControlPoints () const |
| Get number of control points used to compute the bounds. | |
| const Vector & | GetControlPoints () const |
| Get 1D control point locations (lexicographic order) in [0,1]. | |
| DenseMatrix | GetLowerBoundMatrix (int dim=1) const |
| Get lower and upper bounding matrix (ncp^dim x nb^dim) | |
| DenseMatrix | GetUpperBoundMatrix (int dim=1) const |
Definition at line 53 of file bounds.hpp.
|
inline |
Definition at line 94 of file bounds.hpp.
| mfem::PLBound::PLBound | ( | const FiniteElementSpace * | fes, |
| const int | ncp_i = -1, | ||
| const int | cp_type_i = 0 ) |
Definition at line 214 of file bounds.cpp.
|
inline |
Get 1D control point locations (lexicographic order) in [0,1].
Definition at line 141 of file bounds.hpp.
| DenseMatrix mfem::PLBound::GetLowerBoundMatrix | ( | int | dim = 1 | ) | const |
Get lower and upper bounding matrix (ncp^dim x nb^dim)
The matrices can be used to compute the bounds at control points by a simple matrix-vector product with the lexicographically-ordered nodal coefficients. The resulting output is also lexicographically-ordered.
Definition at line 698 of file bounds.cpp.
| int mfem::PLBound::GetMinimumPointsForGivenBases | ( | int | nb_i, |
| int | b_type_i, | ||
| int | cp_type_i ) const |
Get minimum number of control points needed to bound the given bases.
Definition at line 712 of file bounds.cpp.
|
inline |
Get number of control points used to compute the bounds.
Definition at line 138 of file bounds.hpp.
| void mfem::PLBound::GetNDBounds | ( | const int | rdim, |
| const Vector & | coeff, | ||
| Vector & | intmin, | ||
| Vector & | intmax ) const |
Compute piecewise linear bounds for the lexicographically-ordered nodal coefficients in coeff in 1D/2D/3D.
| [in] | rdim | The spatial dimension of the element (1, 2, or 3). |
| [in] | coeff | The vector of lexicographically-ordered coefficients. Should be of size nb^rdim, where nb is the number of bases/nodes in 1D. These coefficients must correspond to the bases type and number of bases, used in the constructor of PLBound. |
| [out] | intmin | The vector of minimum bound for all control points. |
| [out] | intmax | The vector of maximum bound for all control points. Both intmin and intmax are of size ncp^rdim, where ncp is the number of control points in 1D, and are ordered lexicographically. |
Definition at line 636 of file bounds.cpp.
| DenseMatrix mfem::PLBound::GetUpperBoundMatrix | ( | int | dim = 1 | ) | const |
Definition at line 703 of file bounds.cpp.
| void mfem::PLBound::Print | ( | std::ostream & | outp = mfem::out | ) | const |
Print information about the bounds.
Definition at line 740 of file bounds.cpp.
|
inline |
Enable (default) or disable linear projection before bounding.
This projection increases the computational cost but results in tighter bounds.
Definition at line 116 of file bounds.hpp.