Periodic limiting.

This commit is contained in:
Vladimir Z Tomov
2025-02-21 17:35:58 -08:00
parent 8f42d760fc
commit 012036d007
6 changed files with 88 additions and 54 deletions
+6 -6
View File
@@ -988,20 +988,20 @@ void NodalFiniteElement::ReorderToLexicographic(int ncomp, const Vector &dofs,
}
}
void NodalFiniteElement::ReorderFromLexicographic(int ncomp,
const Vector &dofs_lex,
Vector &dofs) const
void NodalFiniteElement::ReorderLexToNative(int ncomp,
Vector &dofs) const
{
MFEM_ASSERT(dofs_lex.Size() == ncomp * dof, "Wrong input size.");
MFEM_ASSERT(dofs.Size() == ncomp * dof, "Wrong input size.");
dofs.SetSize(ncomp * dof);
Vector dofs_native(ncomp * dof);
for (int i = 0; i < dof; i++)
{
for (int c = 0; c < ncomp; c++)
{
dofs(c*dof + lex_ordering[i]) = dofs_lex(c*dof + i);
dofs_native(c*dof + lex_ordering[i]) = dofs(c*dof + i);
}
}
dofs = dofs_native;
}
VectorFiniteElement::VectorFiniteElement(int D, Geometry::Type G,