feat(hex8): preserve full high-low state in dynamic element responses
This commit is contained in:
@@ -133,7 +133,7 @@ std::pair<Coefficients, Coefficients> Split(const Coefficients& original,
|
||||
} // namespace
|
||||
|
||||
Certificate Certify(const Hex8Element::Coordinates& coordinates,
|
||||
const Vector* displacement) {
|
||||
const Vector* displacement, const Vector* displacement_low) {
|
||||
std::array<std::array<Interval, 3>, 8> x{};
|
||||
for (std::size_t a = 0; a < 8; ++a)
|
||||
for (std::size_t i = 0; i < 3; ++i) {
|
||||
@@ -145,6 +145,11 @@ Certificate Certify(const Hex8Element::Coordinates& coordinates,
|
||||
if (!std::isfinite(u)) return Certificate::kNonfinite;
|
||||
x[a][i] = Add(x[a][i], {u, u});
|
||||
}
|
||||
if (displacement_low) {
|
||||
const auto low = (*displacement_low)[3U * a + i];
|
||||
if (!std::isfinite(low)) return Certificate::kNonfinite;
|
||||
x[a][i] = Add(x[a][i], {low, low});
|
||||
}
|
||||
if (!Finite(x[a][i])) return Certificate::kNonfinite;
|
||||
}
|
||||
Coefficients coefficients{};
|
||||
|
||||
Reference in New Issue
Block a user