엄격 수렴 기준 실행 보존과 한정 HHT 개발 계측 기록

This commit is contained in:
KOKO\Mimi
2026-10-19 02:09:22 +09:00
parent 78cb339207
commit adb809bc01
12 changed files with 450 additions and 0 deletions
@@ -1,4 +1,5 @@
#include "analysis/hht_reduced_internal.h"
#include "analysis/hht_development_probe.h"
#include <algorithm>
#include <cmath>
@@ -513,6 +514,7 @@ Result<ConstraintOperators> EvaluateConstraintOperators(
shell_index++, shells.size(), q, v);
std::optional<NonlinearMitc4InternalEquilibrium> fresh;
if (saved == nullptr) {
FESA_HHT_PROBE_COUNT(kConstraintInternalEvaluation);
auto internal =
shell.internal->EvaluateTrial(Trial(q), &v);
if (!internal.HasValue())
@@ -713,6 +715,7 @@ Result<EmbeddingRoot> SolveEmbeddingRoot(const FixedChart& chart,
const Vector& p, const Vector& seed,
const ConstraintEvaluator& evaluate,
TangentSolver& solver) {
FESA_HHT_PROBE_SCOPE(kInner);
if (!evaluate || p.Size() != chart.p_dofs.size() ||
seed.Size() != chart.z_dofs.size())
return Result<EmbeddingRoot>::Failure(
@@ -830,6 +833,7 @@ Result<EmbeddingRoot> SolveEmbeddingRoot(const FixedChart& chart,
prior_q = q.Value();
has_prior_z = true;
z = std::move(next_z);
FESA_HHT_PROBE_COUNT(kInnerCorrection);
}
return Result<EmbeddingRoot>::Failure(Failure("Unreachable graph loop."));
}
@@ -876,6 +880,7 @@ Result<EmbeddingFirstDerivatives> EvaluateEmbeddingFirstDerivatives(
Result<ReconstructedRates> ReconstructPhysicalRates(
const FixedChart& chart, const EmbeddingRoot& root, const Vector& vp,
const Vector& ap, TangentSolver& solver) {
FESA_HHT_PROBE_SCOPE(kRates);
if (!ValidBasis(chart) || root.q.Size() != chart.full_dof_count ||
root.operators.rows.size() != chart.z_dofs.size() ||
vp.Size() != chart.p_dofs.size() || ap.Size() != chart.p_dofs.size() ||