Snapshot optimized solver and audit diagnostics before numerical experiments
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user