12#ifdef MFEM_USE_MOONOLITH
25void MaxCol(
const DenseMatrix &mat,
double *vec,
bool include_vec_elements)
29 if (!include_vec_elements)
31 for (
int i = 0; i < n; ++i)
33 vec[i] = mat.Elem(i, 0);
39 for (
int i = 0; i < mat.Height(); ++i)
41 for (
int j = start; j < mat.Width(); ++j)
43 const double e = mat.Elem(i, j);
53void MinCol(
const DenseMatrix &mat,
double *vec,
bool include_vec_elements)
57 if (!include_vec_elements)
59 for (
int i = 0; i < n; ++i)
61 vec[i] = mat.Elem(i, 0);
67 for (
int i = 0; i < mat.Height(); ++i)
69 for (
int j = start; j < mat.Width(); ++j)
71 const double e = mat.Elem(i, j);
81Element *NewElem(
const int type,
const int *cells_data,
const int attr)
86 return new Triangle(cells_data, attr);
88 return new Tetrahedron(cells_data, attr);
90 return new Quadrilateral(cells_data, attr);
92 return new Hexahedron(cells_data, attr);
96 assert(
false &&
"unknown type");
97 mfem::err <<
"NewElem: unknown type " << type << std::endl;
103int MaxVertsXFace(
const int type)
118 assert(
false &&
"unknown type");
119 mfem::err <<
"NewElem: unknown type " << type << std::endl;
125void Finalize(Mesh &mesh,
const bool generate_edges)
128 int type = mesh.GetElement(0)->GetGeometryType();
133 return mesh.FinalizeTriMesh(generate_edges);
135 return mesh.FinalizeQuadMesh(generate_edges);
137 return mesh.FinalizeHexMesh(generate_edges);
139 return mesh.FinalizeTetMesh(generate_edges);
143 assert(
false &&
"unknown type");
144 mfem::err <<
"Finalize: unknown type " << type << std::endl;
150double Sum(
const DenseMatrix &mat)
152 Vector rs(mat.Width());
OutStream err(std::cerr)
Global stream used by the library for standard error output. Initially it uses the same std::streambu...