fix(poly): added stabilization term

least squares stabalization term seems to have stabilized polytrope and mostly resolve the overshoot mode (in more non linear cases (n > 2) the mode does reapear; however, it is much less pronounced
This commit is contained in:
2025-06-11 10:43:09 -04:00
parent 1e85c48f33
commit 26febe7fbb
4 changed files with 120 additions and 45 deletions

View File

@@ -49,6 +49,7 @@ struct formBundle {
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::BilinearForm> S; //<-- S ∫∇ψ^θ·∇N^θ dV
std::unique_ptr<mfem::NonlinearForm> f; //<-- f(θ) ∫ψ^θ·θ^n dV
};
@@ -84,8 +85,6 @@ private: // Private Attributes
std::unique_ptr<mfem::OperatorJacobiSmoother> m_prec;
std::unique_ptr<mfem::VectorConstantCoefficient> m_negationCoeff;
private: // Private methods
PolySolver(mfem::Mesh& mesh, double n, double order);