14#ifdef MFEM_USE_MOONOLITH
27void MaxCol(
const DenseMatrix &mat,
double *vec,
bool include_vec_elements)
31 if (!include_vec_elements)
33 for (
int i = 0; i < n; ++i)
35 vec[i] = mat.Elem(i, 0);
41 for (
int i = 0; i < mat.Height(); ++i)
43 for (
int j = start; j < mat.Width(); ++j)
45 const double e = mat.Elem(i, j);
55void MinCol(
const DenseMatrix &mat,
double *vec,
bool include_vec_elements)
59 if (!include_vec_elements)
61 for (
int i = 0; i < n; ++i)
63 vec[i] = mat.Elem(i, 0);
69 for (
int i = 0; i < mat.Height(); ++i)
71 for (
int j = start; j < mat.Width(); ++j)
73 const double e = mat.Elem(i, j);
83Element *NewElem(
const int type,
const int *cells_data,
const int attr)
88 return new Triangle(cells_data, attr);
90 return new Tetrahedron(cells_data, attr);
92 return new Quadrilateral(cells_data, attr);
94 return new Hexahedron(cells_data, attr);
98 assert(
false &&
"unknown type");
105int MaxVertsXFace(
const int type)
120 assert(
false &&
"unknown type");
127void Finalize(Mesh &mesh,
const bool generate_edges)
130 int type = mesh.GetElement(0)->GetGeometryType();
135 return mesh.FinalizeTriMesh(generate_edges);
137 return mesh.FinalizeQuadMesh(generate_edges);
139 return mesh.FinalizeHexMesh(generate_edges);
141 return mesh.FinalizeTetMesh(generate_edges);
145 assert(
false &&
"unknown type");
152double Sum(
const DenseMatrix &mat)
154 Vector rs(mat.Width());
MFEM_HOST_DEVICE constexpr auto type(const tuple< T... > &values)
a function intended to be used for extracting the ith type from a tuple.
OutStream err(std::cerr)
Global stream used by the library for standard error output. Initially it uses the same std::streambu...