feat(equation-and-linear-solve): step 0 — symmetric-csr-assembly

This commit is contained in:
KOKO\Mimi
2026-07-31 15:45:02 +09:00
parent d393402174
commit 8342774c82
12 changed files with 712 additions and 2 deletions
+18
View File
@@ -55,6 +55,24 @@ const Node& Domain::node(const EntityOrigin& origin) const {
return nodes_[found->second];
}
const IsotropicElastic& Domain::material(const MaterialId id) const {
const auto found = material_indices_.find(id.value());
if (found == material_indices_.end()) {
throw std::out_of_range{
"Material ID is not present in the Domain."};
}
return materials_[found->second];
}
const BeamSection& Domain::section(const SectionId id) const {
const auto found = section_indices_.find(id.value());
if (found == section_indices_.end()) {
throw std::out_of_range{
"Section ID is not present in the Domain."};
}
return sections_[found->second];
}
Domain::OriginKey Domain::origin_key(const EntityOrigin& origin) {
return {origin.instance_name, origin.local_label};
}