MassLumpedSolver Class Reference

#include <MassLumpedSolver.h>

Inheritance diagram for MassLumpedSolver:
Solver

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
 
scalarinv_M
 

Constructor & Destructor Documentation

◆ MassLumpedSolver()

MassLumpedSolver::MassLumpedSolver ( )

Constructor

◆ ~MassLumpedSolver()

MassLumpedSolver::~MassLumpedSolver ( )

Destructor

Member Function Documentation

◆ apply_matrix()

void MassLumpedSolver::apply_matrix ( scalar in,
scalar result 
)
virtual

Applies the mass matrix to the given vector, 'in', putting the result in 'result'

Implements Solver.

◆ init()

int MassLumpedSolver::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 
)
virtual

Builds the diagonal mass matrix and gets reciprocal of each value

Implements Solver.

◆ solve()

int MassLumpedSolver::solve ( vector3 x)
virtual

Applies inverse mass matrix (since diagonal: Mx = f => x = f_i/M_i

Implements Solver.

Field Documentation

◆ inv_M

scalar* MassLumpedSolver::inv_M
private

Mass matrix diagonal inversed

Referenced by apply_matrix(), init(), MassLumpedSolver(), solve(), and ~MassLumpedSolver().

◆ num_rows

int MassLumpedSolver::num_rows
private

Number of rows in original matrix

Referenced by apply_matrix(), init(), MassLumpedSolver(), solve(), and ~MassLumpedSolver().


The documentation for this class was generated from the following files: