Snapshot optimized solver and audit diagnostics before numerical experiments
This commit is contained in:
@@ -156,6 +156,16 @@ export namespace mean_field::operators {
|
||||
|
||||
void BuildResidual(mfem::Vector &residual) const;
|
||||
|
||||
// Rows differentiate I_axis; changing Omega alone reuses both rows.
|
||||
[[nodiscard]] bool PrepareJacobianRows() const;
|
||||
[[nodiscard]] std::uint64_t GetJacobianRowPreparationCount() const noexcept;
|
||||
void ApplyCompleteJacobianActionReference(
|
||||
const mfem::Vector &densityVariation,
|
||||
const mfem::Vector &displacementVariation,
|
||||
double angularVelocityVariation,
|
||||
mfem::Vector &action
|
||||
) const;
|
||||
|
||||
void ApplyDensityJacobianAction(
|
||||
const mfem::Vector &densityVariation,
|
||||
mfem::Vector &action
|
||||
@@ -223,6 +233,8 @@ export namespace mean_field::operators {
|
||||
|
||||
[[nodiscard]] double EvaluateDensityMomentActionLocal(const mfem::Vector &densityVariation) const;
|
||||
[[nodiscard]] double EvaluateDisplacementMomentActionLocal(const mfem::Vector &displacementVariation) const;
|
||||
[[nodiscard]] double EvaluateDensityMomentActionLocalReference(const mfem::Vector &densityVariation) const;
|
||||
[[nodiscard]] double EvaluateDisplacementMomentActionLocalReference(const mfem::Vector &displacementVariation) const;
|
||||
[[nodiscard]] double CylindricalRadiusSquared(const mfem::Vector &physicalPosition) const noexcept;
|
||||
[[nodiscard]] double CylindricalRadiusSquaredVariation(
|
||||
const mfem::Vector &physicalPosition,
|
||||
@@ -238,6 +250,11 @@ export namespace mean_field::operators {
|
||||
std::vector<ElementPAData> m_elements;
|
||||
AngularMomentumDependencies m_preparedDependencies;
|
||||
mfem::Vector m_cachedResidual;
|
||||
mutable mfem::Vector m_densityJacobianLocal;
|
||||
mutable mfem::Vector m_displacementJacobianLocal;
|
||||
mutable bool m_jacobianRowsReady{false};
|
||||
mutable bool m_jacobianRowsSupported{false};
|
||||
mutable std::uint64_t m_jacobianRowPreparationCount{0};
|
||||
mutable mfem::Vector m_densityVariationTrue;
|
||||
mutable mfem::Vector m_displacementVariationTrue;
|
||||
mutable mfem::Vector m_densityVariationLocal;
|
||||
|
||||
Reference in New Issue
Block a user