Integrate Refactor solver sources and dual MSVC CMake builds

This commit is contained in:
KOKO\Mimi
2026-10-18 02:10:51 +09:00
parent 7ee32e5837
commit 12d51480de
218 changed files with 17842 additions and 9689 deletions
+6 -5
View File
@@ -8,6 +8,9 @@
#include <utility>
#include <vector>
#include "fesa/assembly/thermal_assembler.h"
#include "math/finite_values.h"
namespace fesa {
namespace {
@@ -23,9 +26,7 @@ Status Failure(const std::string& message) {
/// @brief Checks every stored scalar without imposing a temperature sign bound.
bool Finite(const Vector& vector) {
for (std::size_t i = 0; i < vector.Size(); ++i)
if (!std::isfinite(vector[i])) return false;
return true;
return math_internal::IsFinite(vector);
}
/// @brief Compares prescribed row identities without conflating node and row
@@ -64,8 +65,8 @@ Result<ThermalAnalysisState> ThermalAnalysisState::Create(
for (const auto node : state.node_order_)
state.node_source_ids_.push_back(domain.Nodes()[node].source_id);
for (std::size_t index = 0; index < state.element_order_.size(); ++index) {
state.element_source_ids_.push_back(assembly.Kernels()[index].SourceId());
const auto frame = assembly.Kernels()[index].Recover({});
state.element_source_ids_.push_back(assembly.Elements()[index]->DofLayout().source_id);
const auto frame = assembly.Elements()[index]->Recover({});
if (!frame.HasValue())
return Result<ThermalAnalysisState>::Failure(frame.GetStatus());
state.local_frames_.push_back(frame.Value().frames);