fix(equation-and-linear-solve): address review findings

This commit is contained in:
KOKO\Mimi
2026-07-31 16:36:07 +09:00
parent 2dd17be5d0
commit 741fc9eaea
12 changed files with 329 additions and 147 deletions
+13 -4
View File
@@ -60,16 +60,25 @@ std::size_t DofManager::free_equation_count() const noexcept {
std::optional<std::size_t> DofManager::equation(
const DofAddress address) const {
return equations_[full_dof(address)];
return equation(full_dof(address));
}
std::optional<std::size_t> DofManager::equation(
const std::size_t full_dof) const {
return equations_.at(full_dof);
}
std::optional<double> DofManager::prescribed_value(
const DofAddress address) const {
const std::size_t full = full_dof(address);
if (equations_[full].has_value()) {
return prescribed_value(full_dof(address));
}
std::optional<double> DofManager::prescribed_value(
const std::size_t full_dof) const {
if (equations_.at(full_dof).has_value()) {
return std::nullopt;
}
return prescribed_values_[full];
return prescribed_values_.at(full_dof);
}
std::array<std::size_t, 12> DofManager::element_full_dofs(