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
+5 -19
View File
@@ -15,6 +15,8 @@
#include "fesa/fem/dof_manager.h"
#include "fesa/model/domain.h"
#include "assembly/ordered_contribution_internal.h"
namespace fesa {
namespace {
@@ -26,15 +28,8 @@ Status AssemblyFailure(const std::string& code, const SourceLocation& location,
{{Severity::kError, code, location, "*ELEMENT", identity, message}});
}
bool SameSourceIdentity(const SourceEntityId& left,
const SourceEntityId& right) {
return left.instance_name == right.instance_name &&
left.source_label == right.source_label &&
left.source_label_text == right.source_label_text;
}
bool SameLayout(const ElementDofLayout& left, const ElementDofLayout& right) {
return SameSourceIdentity(left.source_id, right.source_id) &&
return SourceIdentityEquals(left.source_id, right.source_id) &&
left.node_indices == right.node_indices &&
left.components_per_node == right.components_per_node;
}
@@ -80,17 +75,8 @@ Result<SparseMatrix> SparseAssembler::Assemble(
auto& buffer = local_buffers[element_order];
buffer.reserve(local_dof_count * local_dof_count);
for (std::size_t local_row = 0U; local_row < local_dof_count; ++local_row) {
for (std::size_t local_column = 0U; local_column < local_dof_count;
++local_column) {
const std::size_t local_order =
local_row * local_dof_count + local_column;
buffer.push_back({scatter.Value()[local_row],
scatter.Value()[local_column],
contribution.values(local_row, local_column),
element_order, local_order});
}
}
assembly_internal::AppendLocalMatrix(
contribution.values, scatter.Value(), element_order, buffer);
});
for (std::size_t element_order = 0U; element_order < local_failures.size();