diff options
Diffstat (limited to 'src/lib/netlist/solver/nld_ms_sm.h')
-rw-r--r-- | src/lib/netlist/solver/nld_ms_sm.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/lib/netlist/solver/nld_ms_sm.h b/src/lib/netlist/solver/nld_ms_sm.h index 30ad2031628..83e309407f7 100644 --- a/src/lib/netlist/solver/nld_ms_sm.h +++ b/src/lib/netlist/solver/nld_ms_sm.h @@ -63,9 +63,7 @@ namespace solver , m_dim(size) , m_cnt(0) { - /* FIXME: Shouldn't be necessary */ - for (std::size_t k = 0; k < this->size(); k++) - state().save(*this, RHS(k), this->name(), plib::pfmt("RHS.{1}")(k)); + this->build_mat_ptr(this->size(), m_A); } void reset() override { matrix_solver_t::reset(); } @@ -289,8 +287,10 @@ namespace solver template <typename FT, int SIZE> unsigned matrix_solver_sm_t<FT, SIZE>::vsolve_non_dynamic(const bool newton_raphson) { - this->build_LE_A(*this); - this->build_LE_RHS(*this); + + const std::size_t iN = this->size(); + this->clear_square_mat(iN, this->m_A); + this->fill_matrix(iN, this->m_RHS); this->m_stat_calculations++; return this->solve_non_dynamic(newton_raphson); |