Commits (4)
......@@ -107,6 +107,7 @@ protected:
const Meshes *meshes = nullptr; //as reference
int matrixGraphDepth = 1;
mutable std::map<int, MatrixGraph*> graphs{};
// todo discussion: for transition access to MatrixGraphs makes it easier
/**
* override this if other MatrixGraph is needed
......@@ -245,6 +246,12 @@ public:
return *graphs.at(meshes->Level());
}
MatrixGraph &coarse() const {
if (graphs.empty())
initMatrixGraphs();
return *graphs.at(meshes->Level());
}
vector<CELLTYPE> CellTypes() const {
vector<CELLTYPE> types;
for (const auto &[key, values] : discData) {
......
......@@ -60,10 +60,8 @@ protected:
return new MatrixGraph(mesh, D);
}
public:
HybridRTLagrangeDiscretizationT(const Meshes &meshes)
HybridRTLagrangeDiscretizationT(const Meshes &meshes, int order, int degree)
: RTLagrangeDiscretizationT<T, sDim, tDim>(meshes, 0, 0), D(new FaceDoF(1)) {
}
};
......
......@@ -85,6 +85,8 @@ public:
bool IsSpaceTime() const { return isSpaceTime; }
// todo proposal: Rename this, set deprecated warning
// todo discuss: protected?
DoFs &Get_dof() { return _dof; }
// DoFs &Get_dof() const { return _dof; }
......@@ -157,6 +159,7 @@ public:
}
bnd_face bnd_faces_end() const {
// todo: discuss replacing isSpaceTime with template
if (isSpaceTime) return stMesh->bnd_faces_end();
return mesh->bnd_faces_end();
}
......
......@@ -262,13 +262,19 @@ public:
G.Get_dof().TypeDoFs(tp);
}
// todo: what about DoFName and setting this to deprecated
string Name() const {
return G.Get_dof().Name();
}
// todo this was initially the dimension??
// int size(int n = 0) const {
// return G.Get_dof().size(n);
// }
int DoFDim(int n = 0) const {
return G.Get_dof().size(n);
}
int sizeDoF(int n = 0) const {
return G.Get_dof().size(n);
......