fix(poly): fixed numerous bugs related to inconsistent system sizing with the reduced operator

this has restored the symmetry which we relied on before.
This commit is contained in:
2025-06-09 10:19:18 -04:00
parent 6e1453cf6e
commit 2a91d57ad7
5 changed files with 481 additions and 316 deletions

View File

@@ -2,7 +2,7 @@
#include "mfem.hpp"
namespace serif::utilities {
mfem::SparseMatrix buildReducedMatrix(
mfem::SparseMatrix build_reduced_matrix(
const mfem::SparseMatrix& matrix,
const mfem::Array<int>& trialEssentialDofs,
const mfem::Array<int>& testEssentialDofs
@@ -93,4 +93,11 @@ namespace serif::utilities {
return A_new;
}
mfem::Vector build_dof_identification_vector(const mfem::Array<int>& allDofs, const::mfem::Array<int>& highlightDofs) {
mfem::Vector v(allDofs.Size());
v = 0.0; // Initialize the vector to zero
v.SetSubVector(highlightDofs, 1.0); // Set the highlighted dofs to 1.0
return v;
}
}