1#ifndef MATRIX_MANAGER_H
2#define MATRIX_MANAGER_H
21 std::vector<std::pair<int, int>> m_non_zero_elements;
64 if (m_non_zero_elements.empty())
69 T delta_t{m_sim->m_simulation_config.getDoubleParameters(
"time_delta")};
70 const std::valarray<T>&
temperature{m_sim->m_field_map.at(
"Temperature")};
72 for (
const auto& [
row,
col] : m_non_zero_elements)
92 lhs_matrix->zeroMatrix();
Error class to throw when a module chain has circular or missing dependencies. Inherits from std::exc...
Definition ChainManager.h:28
Class that manages the assembly of the global linear system of equations to be passed to the solver.
Definition MatrixManager.h:19
std::valarray< T > rhs_vector
Definition MatrixManager.h:29
MatrixManager(int size, SimulationClassBase< T > *sim, std::shared_ptr< MatrixFactory< T > > matrix_factory)
Constructor for MatrixManager.
Definition MatrixManager.h:43
void assembleGlobalLse(std::shared_ptr< GenericMatrix< T > > capacitance_matrix, std::shared_ptr< GenericMatrix< T > > stiffness_matrix, std::valarray< T > &forcing_vector)
Function which assembles the global linear system of equations from the global FEM matrices.
Definition MatrixManager.h:60
std::shared_ptr< GenericMatrix< T > > lhs_matrix
Definition MatrixManager.h:28