엄격 수렴 기준 실행 보존과 한정 HHT 개발 계측 기록
This commit is contained in:
@@ -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() ||
|
||||
|
||||
Reference in New Issue
Block a user