Integrate Refactor solver sources and dual MSVC CMake builds
This commit is contained in:
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user