refactor(poly): renamed core2 to core_hires and updated docs for polysolver

This commit is contained in:
2025-04-23 11:00:32 -04:00
parent c4709cc48e
commit 58840d82cd
2 changed files with 8 additions and 11 deletions

View File

@@ -45,10 +45,10 @@ struct solverBundle {
};
struct formBundle {
std::unique_ptr<mfem::MixedBilinearForm> M;
std::unique_ptr<mfem::MixedBilinearForm> Q;
std::unique_ptr<mfem::BilinearForm> D;
std::unique_ptr<mfem::NonlinearForm> f;
std::unique_ptr<mfem::MixedBilinearForm> M; //<-- M ∫∇ψ^θ·N^φ dV
std::unique_ptr<mfem::MixedBilinearForm> Q; //<-- Q ∫ψ^φ·∇N^θ dV
std::unique_ptr<mfem::BilinearForm> D; //<-- D ∫ψ^φ·N^φ dV
std::unique_ptr<mfem::NonlinearForm> f; //<-- f(θ) ∫ψ^θ·θ^n dV
};
class PolySolver final{
@@ -96,7 +96,7 @@ private: // Private methods
*
* Create the block offsets. These define the start of each block in the combined vector.
* Block offsets will be [0, thetaDofs, thetaDofs + phiDofs].
* The interpretation of this is that each block tells the operator where in the flattned (1D) vector
* The interpretation of this is that each block tells the operator where in the flattened (1D) vector
* the degrees of freedom or coefficients for that free parameter start and end. I.e.
* we know that in any flattened vector will have a size thetaDofs + phiDofs. The theta dofs will span
* from blockOffsets[0] -> blockOffsets[1] and the phiDofs will span from blockOffsets[1] -> blockOffsets[2].
@@ -118,10 +118,7 @@ private: // Private methods
* @breif Build the individual forms for the block operator (M, Q, D, and f)
*
* @param blockOffsets The offsets for the blocks in the operator
* @param Mform The mixed bilinear form for the mass matrix
* @param Qform The mixed bilinear form for the gradient matrix
* @param Dform The bilinear form for the divergence matrix
* @param fform The nonlinear form for the source term
* @return forms The forms for the block operator
*
* @note These forms are build exactly how they are defined in the derivation. This means that Mform -> M not -M and Qform -> Q not -Q.
*
@@ -152,7 +149,7 @@ private: // Private methods
* \f]
*
* @note MFEMs MixedVectorWeakDivergenceIntegrator implements
* \f$ -\nabla\!\cdot \f$, so we supply a 1 coefficient to make
* \f$ -\nabla\!\cdot \f$ so we supply a 1 coefficient to make
* `Mform` represent the +M from the derivation. The single negation
* in `PolytropeOperator` then restores the final block sign.
*
@@ -183,6 +180,6 @@ private: // Private methods
void LoadSolverUserParams(double &newtonRelTol, double &newtonAbsTol, int &newtonMaxIter, int &newtonPrintLevel,
double &gmresRelTol, double &gmresAbsTol, int &gmresMaxIter, int &gmresPrintLevel) const;
void GetDofCoordinates(mfem::FiniteElementSpace &fes, const std::string& filename) const;
static void GetDofCoordinates(const mfem::FiniteElementSpace &fes, const std::string& filename);
};