5 LF_ASSERT_MSG(local.rows() == 0,
"local.rows() != 0");
6 return coord_.replicate(1, local.cols());
11 return Eigen::MatrixXd::Zero(
DimGlobal(), 0);
15 const Eigen::MatrixXd& local)
const {
16 LF_VERIFY_MSG(
false,
"JacobianInverseGramian undefined for points.");
20 return Eigen::VectorXd::Ones(local.cols());
24 if (codim == 0 && i == 0) {
25 return std::make_unique<Point>(
coord_);
27 LF_VERIFY_MSG(
false,
"codim or i out of bounds.");
32 LF_VERIFY_MSG(codim == 0,
"Only codim = 0 allowed for a point");
33 std::vector<std::unique_ptr<Geometry>> child_geo_uptrs{};
37 "ref_pattern.NumChildren() = " << ref_pattern.
NumChildren(0));
39 child_geo_uptrs.push_back(std::make_unique<Point>(
coord_));
40 return child_geo_uptrs;
static constexpr RefEl kPoint()
Returns the (0-dimensional) reference point.
std::string ToString() const
Return a string representation of this Reference element.
std::unique_ptr< Geometry > SubGeometry(dim_t codim, dim_t i) const override
Construct a new Geometry() object that describes the geometry of the i-th sub-entity with codimension...
Eigen::MatrixXd Jacobian(const Eigen::MatrixXd &local) const override
Evaluate the jacobian of the mapping simultaneously at numPoints points.
Eigen::MatrixXd Global(const Eigen::MatrixXd &local) const override
Map a number of points in local coordinates into the global coordinate system.
std::vector< std::unique_ptr< Geometry > > ChildGeometry(const RefinementPattern &ref_pattern, base::dim_t codim) const override
the child geometry is just a copy of the point geometry
dim_t DimGlobal() const override
Dimension of the image of this mapping.
Eigen::MatrixXd JacobianInverseGramian(const Eigen::MatrixXd &local) const override
Evaluate the Jacobian * Inverse Gramian ( ) simultaneously at numPoints.
Eigen::VectorXd IntegrationElement(const Eigen::MatrixXd &local) const override
The integration element (factor appearing in integral transformation formula, see below) at number of...
Abstract interface class for encoding topological local refinement
virtual lf::base::size_type NumChildren(lf::base::dim_t codim) const =0
provide number of child entities of a given co-dimension to be created by refinement
lf::base::RefEl RefEl() const
Returns topological type of entity for which the current object is set up.
unsigned int dim_t
type for dimensions and co-dimensions and numbers derived from them
Defines the Geometry interface and provides a number of classes that implement this interface + addit...