Mass matrices (for explicit time schemes)

Wave propagation systems are often written in the following first-order problem :

where u is called the scalar unknown and V the vectorial unknown. For example, it refers to the following sets of equations (for acoustics) :

Dh is the scalar mass matrix, RhV the scalar stiffness matrix and Sh the scalar damping matrix. Bh is the vectorial mass matrix, RhU the vectorial stiffness matrix and ShV the vectorial damping matrix.

Public attributes of ContinuousMassMatrix

inverse of the diagonal of mass matrix (if diagonal) inverse of the block-diagonal mass matrix
free_mat mass matrix stored in Montjoie format
diagonal diagonal of mass matrix (if diagonal)
invDiagonal
block_diagonal block-diagonal mass matrix
invBlock_diagonal
precond_diag diagonal preconditioning
mat_sparse mass matrix stored in CSR format
type_matrix type of mass matrix (diagonal, block-diagonal, sparse, etc)
previous_iterate initial guess used for iterative resolution
stopping_criterion stopping criterion used for the iterative solver

Public methods of ContinuousMassMatrix

FindMatrixType finds the type of the mass matrix for a given mesh
GetM returns the number of rows of the mass matrix
MltMass computes the matrix vector product Y = M X
SolveMass solves the linear system M X = Y
Invert inverts mass matrix
GetSource extracts components of the source for which a linear system has to be solved
GetSolution puts components of the solution on the global vector
AddSolution adds components of the solution on the global vector
MltAdd performs matrix-vector products with mass matrix
Solve performs preconditioning

Public methods of DiscontinuousBlockMassMatrix

GetM returns the number of rows of the matrix
MltElement matrix vector product by local mass matrix by using factorisation M = Ch D Ch*
MltMass matrix vector product by local mass matrix
SolveMass resolution by local mass matrix
SolveCholesky solution of L x = y or LT x = y where M = L LT
Factorize factorization of local mass matrix
Solve applies preconditioning (if mass matrix is solved iteratively)

Public attributes of DiscontinuousMassMatrix

diagonal diagonal of the mass matrix (if diagonal)
block_diagonal blocks of the mass matrix (if block-diagonal)
mat_sparse sparse mass matrix
block_mass block of the mass matrix, each block being related to an element
type_matrix type of the mass matrix (diagonal, block-diagonal, sparse, etc)

Public methods of DiscontinuousMassMatrix

GetM returns the number of rows of the matrix
ComputeMass computation and factorization of mass matrix
MltMass matrix vector product by mass matrix
SolveMass resolution by mass matrix
SolveCholesky solution of L x = y or LT x = y where M = L LT
Solve applies preconditioning (if mass matrix is solved iteratively)

Public attributes of ContinuousUnsteadyMassMatrix/DiscontinuousUnsteadyMassMatrix

matrix Dh + Δ t/2 Sh vectorial mass matrix
Dh mass matrix for the scalar unknown u
DhMinusdtSh matrix Dh - Δ t/2 Sh
DhPlusdtSh
Sh scalar damping matrix
Bh
BhMinusdtSh matrix Bh - Δ t/2 ShV
BhPlusdtSh matrix Bh - Δ t/2 ShV
ShVec vectorial damping matrix
invJacobian inverse of jacobian Ji for all elements
NonLumpedElement elements for which no mass lumping is achieved
NonLumpedDof dofs for which no mass lumping is achieved
InverseDof Global to local array for mass-lumped dofs
NonLumped if false the dof i is mass lumped

Public methods of ContinuousUnsteadyMassMatrix/DiscontinuousUnsteadyMassMatrix

Init computation of the mass matrices Dh, Bh and damping matrices
SolveMassMatrix solves linear system Dh Y = X with the scalar mass matrix
GetDiagonalDh returns the diagonal of Dh (if this matrix is diagonal)
GetDiagonalSh returns the diagonal of Sh (if this matrix is diagonal)
SetDiagonalDh sets the diagonal of Dh (if this matrix is diagonal)
SetDiagonalSh sets the diagonal of Sh (if this matrix is diagonal)
FindMatricesToCompute finds which matrices (for the scalar unknown) to compute for the selected time scheme
FindMatricesToComputeVec finds which matrices (for the vectorial unknown) to compute for the selected time scheme
ComputeScalarMassMatrix computes scalar mass and damping matrix
ComputeVectorialMassMatrix computes vectorial mass and damping matrix
FactorizeLinearSystem performs factorization (or constructs preconditioning) of the linear system to solve if an implicit scheme has been selected
ApplyOperatorSh applies scalar damping matrix Sh to a vector
ApplyOperatorShVectorial applies vectorial damping matrix ShV to a vector
ApplyOperatorDh applies scalar mass matrix Dh
ApplyOperatorDhMinusdtSh applies matrix Dh - Δ t/2 Sh
SolveOperatorDhPlusdtSh resolution of the system (Dh + Δ t/2 Sh) X = Y
SolveOperatorDh solves scalar mass matrix Dh X = Y
SolveCholeskyDh solves linear system L X = Y or LT X = Y where Dh = L LT
ApplyOperatorBhMinusdtSh applies matrix Bh - Δ t/2 ShV
SolveOperatorBhPlusdtSh resolution of the system (Bh + Δ t/2 ShV) X = Y
SolveOperatorBh resolution of the system Bh X = Y