#include <MassLumpedSolver.h>
Public Member Functions | |
MassLumpedSolver () | |
~MassLumpedSolver () | |
int | init (int num_nodes, int num_elements, mesh_node *node, tetra_element_linear *elem, SimulationParams *params, int num_pinned_nodes, int *pinned_nodes_list, set< int > bsite_pinned_node_list) |
int | solve (vector3 *x) |
void | apply_matrix (scalar *in, scalar *result) |
Public Member Functions inherited from Solver | |
Solver () | |
virtual | ~Solver () |
Private Attributes | |
int | num_rows |
scalar * | inv_M |
MassLumpedSolver::MassLumpedSolver | ( | ) |
Constructor
MassLumpedSolver::~MassLumpedSolver | ( | ) |
Destructor
Applies the mass matrix to the given vector, 'in', putting the result in 'result'
Implements Solver.
|
virtual |
Builds the diagonal mass matrix and gets reciprocal of each value
Implements Solver.
|
virtual |
Applies inverse mass matrix (since diagonal: Mx = f => x = f_i/M_i
Implements Solver.
|
private |
Mass matrix diagonal inversed
Referenced by apply_matrix(), init(), MassLumpedSolver(), solve(), and ~MassLumpedSolver().
|
private |
Number of rows in original matrix
Referenced by apply_matrix(), init(), MassLumpedSolver(), solve(), and ~MassLumpedSolver().