Clear unavailable gravity measurements before each attempt
This commit is contained in:
@@ -196,6 +196,11 @@ TEST_CASE("Production gravity strategies retain optional model borders and resto
|
||||
CHECK(report.diagnostics().lastLinearSolve->iterations == 0);
|
||||
CHECK(report.diagnostics().numericalStrategies.gravitySolves > 0);
|
||||
CHECK(report.diagnostics().numericalStrategies.gravityFailures == 0);
|
||||
CHECK(std::isfinite(report.diagnostics().numericalStrategies.lastGravityCorrectionNorm));
|
||||
CHECK(std::isfinite(report.diagnostics().numericalStrategies.lastGravityPreparedDefect));
|
||||
CHECK(std::isfinite(report.diagnostics().numericalStrategies.lastGravityAffineDisagreement));
|
||||
CHECK(std::isfinite(report.diagnostics().numericalStrategies.lastGravityArithmeticAllowance));
|
||||
CHECK(std::isfinite(report.diagnostics().numericalStrategies.lastGravityPreparedTargetThreshold));
|
||||
CHECK(report.lastAcceptedCheckpointView().valid());
|
||||
}
|
||||
REQUIRE(context.isReady());
|
||||
@@ -237,6 +242,15 @@ TEST_CASE("A failed initial gravity completion preserves the accepted stellar ch
|
||||
CHECK(report.diagnostics().numericalStrategies.initialGravityResidual > 0.0);
|
||||
CHECK(report.diagnostics().numericalStrategies.gravitySolves == 1);
|
||||
CHECK(report.diagnostics().numericalStrategies.gravityFailures == 1);
|
||||
const auto &auxiliary = report.diagnostics().numericalStrategies;
|
||||
// A completed but unsuccessful inner solve has a meaningful true
|
||||
// defect. No correction/prepared assessment occurred in this attempt.
|
||||
CHECK(std::isfinite(auxiliary.lastGravityTrueResidual));
|
||||
CHECK(std::isnan(auxiliary.lastGravityCorrectionNorm));
|
||||
CHECK(std::isnan(auxiliary.lastGravityPreparedDefect));
|
||||
CHECK(std::isnan(auxiliary.lastGravityAffineDisagreement));
|
||||
CHECK(std::isnan(auxiliary.lastGravityArithmeticAllowance));
|
||||
CHECK(std::isnan(auxiliary.lastGravityPreparedTargetThreshold));
|
||||
CHECK(report.diagnostics().acceptedNonlinearIterations == 0);
|
||||
CHECK(report.lastAcceptedCheckpointView().valid());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user