fix(hex8): retain tensor failure priority before MKL dispatch

This commit is contained in:
KOKO\Mimi
2026-10-14 16:50:43 +09:00
parent e18271051c
commit 918eb50300
+4 -4
View File
@@ -428,6 +428,10 @@ Result<Hex8Response> Hex8Element::Evaluate(const Vector& u,
Matrix shear{0U, 0U};
Matrix gram{0U, 0U};
Matrix geometric{0U, 0U};
if (!Finite(f) || !Finite(strain) || !Finite(s) || !Finite(p) ||
!Finite(fft) || !Finite(stress))
return Result<Hex8Response>::Failure(
Failure("Hex8 trial tensor is nonfinite."));
if (nonlinear) {
std::array<Triple, 8> fg{};
for (std::size_t a = 0; a < 8; ++a)
@@ -475,10 +479,6 @@ Result<Hex8Response> Hex8Element::Evaluate(const Vector& u,
}
}
}
if (!Finite(f) || !Finite(strain) || !Finite(s) || !Finite(p) ||
!Finite(fft) || !Finite(stress))
return Result<Hex8Response>::Failure(
Failure("Hex8 trial tensor is nonfinite."));
response.points[g] = {element_index_, static_cast<int>(g + 1U),
point.natural, point.position,
Pack(stress), Pack(strain)};