Snapshot optimized solver and audit diagnostics before numerical experiments

This commit is contained in:
2026-09-16 14:34:06 -04:00
parent 75cc638739
commit 80cc3d83d7
64 changed files with 11969 additions and 267 deletions

View File

@@ -242,6 +242,23 @@ namespace mean_field::mapping::compactification {
return MappingStatus::valid;
}
MappingStatus KelvinCompactification::EvaluateJacobianVariationFactors(
const double coordinate,
const mfem::Vector &coordinateGradient,
double &scale,
mfem::Vector &scaleGradient
) const {
if (coordinateGradient.Size() <= 0) return MappingStatus::invalid_dimension;
if (!vector_is_finite(coordinateGradient)) return MappingStatus::non_finite_input;
RadialFactors factors;
const MappingStatus status = ComputeRadialFactors(coordinate, factors);
if (status != MappingStatus::valid) return status;
scale = factors.scale;
scaleGradient = coordinateGradient;
scaleGradient *= factors.scale_derivative;
return vector_is_finite(scaleGradient) ? MappingStatus::valid : MappingStatus::non_finite_result;
}
std::string_view KelvinCompactification::GetName() const noexcept {
return "KelvinCompactification";
}
@@ -257,4 +274,4 @@ namespace mean_field::mapping::compactification {
double KelvinCompactification::GetCoordinateTolerance() const noexcept {
return m_options.coordinate_tolerance;
}
} // namespace mean_field::mapping::compactification
} // namespace mean_field::mapping::compactification