public class PnMassMatrix extends PnStiffMatrix
A diagonalization method is available useLumpedMass
.
m_noe
USE_LARGER_BUFFER
HAS_BOUNDARY_PANEL, HAS_CONFIG_PANEL, HAS_INFO_PANEL, HAS_LABEL_PANEL, HAS_MATERIAL_PANEL, HAS_TEXTURE_PANEL, HAS_VECTOR_PANEL, INSPECTOR_INFO, INSPECTOR_INFO_EXT, IS_DELETED, IS_FIXED, IS_FOCUSSED, IS_PICKED, IS_SELECTED, IS_USED, NUM_TAGS
Constructor and Description |
---|
PnMassMatrix(PgElementSet surface)
Constructor computes mass matrix with respect to the actual surface.
|
PnMassMatrix(PgElementSet surface,
boolean useLumped)
Constructor computes mass matrix with respect to the actual surface.
|
Modifier and Type | Method and Description |
---|---|
static PdVector |
getInvLumpedMassMatrix(PgElementSet geom,
PdVector invMass) |
static PdVector |
getLumpedMassMatrix(PgElementSet geom,
PdVector diagonalMass) |
PnBiconjugateGradient |
getSolver()
Get class that computes the inverse mass matrix.
|
void |
init()
Initializes the stiffness matrix by computing the index vector and matrix entries.
|
void |
init(PgElementSet surface)
Deprecated.
Since JavaView 3.91, use
init() . |
boolean |
isUsingLumpedMass()
Check if usage of the lumped mass matrix is enabled.
|
PdVector |
multInvMassMatrix(PdVector vec) |
PdVector[] |
multInvMassMatrix(PdVector[] vec)
Multiply vertex-based vector field with inverse mass matrix.
|
PdVector |
multInvMassMatrix(PdVector vec,
int dim)
Multiply piecewise linear function (mapping to Rn) with inverse mass matrix.
|
static PdMatrix[] |
multInvMassMatrix(PgElementSet geom,
PdMatrix[] tensor,
boolean useLumped)
Multiply vertex-based tensor field with inverse mass matrix.
|
static PdVector[] |
multInvMassMatrix(PgElementSet geom,
PdVector[] vec,
boolean useLumped)
Multiply vertex-based vector field with inverse mass matrix.
|
static PdVector |
multInvMassMatrix(PgElementSet geom,
PdVector vec,
boolean useLumped)
Multiply vertex-based function with inverse mass matrix.
|
void |
useLumpedMass(boolean flag)
Enable/Disable usage of the lumped mass matrix.
|
init
add, add, addDiagonal, addDiagonal, addEntry, appendEntry, clear, clearRow, compress, concatMatrices, copy, deleteColumn, deleteRow, getColIndex, getColIndices, getColIndices, getDiagIndex, getEntries, getEntries, getEntry, getEntrySparse, getIndex, getNumCols, getNumEntries, getNumEntries, getNumRows, isSquare, leftMultMatrix, leftMultVector, leftMultVector, leftMultVector, leftMultVector, multMatrices, multQuadratic, multScalar, multScalar, removeZeros, rightMultMatrix, rightMultVector, rightMultVector, rightMultVector, rightMultVector, setEntry, setEntrySparse, setNumEntries, setRow, setSize, setSize, setSize, sortEntries, toPdMatrix, toShortString, toString, transpose, transpose, transposeNew, transposeNew, validate
addInspector, addUpdateListener, assureInspector, clearTag, clone, clone, clone, copy, getFather, getInfoPanel, getInspector, getName, getNumObjects, getSymbol, hasInspector, hasTag, hasUpdateListener, instanceOf, instanceOf, newInspector, newInspector, removeInspector, removeInspector, removeUpdateListener, setName, setParent, setSymbol, setTag, update, updatePanels
public PnMassMatrix(PgElementSet surface)
public PnMassMatrix(PgElementSet surface, boolean useLumped)
useLumpedMass
.public void init(PgElementSet surface)
init()
.init
in class PnStiffMatrix
public void init()
public void useLumpedMass(boolean flag)
public boolean isUsingLumpedMass()
public PnBiconjugateGradient getSolver()
public PdVector[] multInvMassMatrix(PdVector[] vec)
vec
- Length of the array must equal the number of vertices of the surface, the mass matrix is computed from.
All vector must have the same length.public PdVector multInvMassMatrix(PdVector vec, int dim)
vec
- Length of the array must equal dim*number of vertices of the surface.dim
- Dimension of the image space.public static PdVector multInvMassMatrix(PgElementSet geom, PdVector vec, boolean useLumped)
vec
- vector specifies a function value for each vertex of the geometry.public static PdVector[] multInvMassMatrix(PgElementSet geom, PdVector[] vec, boolean useLumped)
vec
- length of the array must equal the number of vertices of the surface, the mass matrix is computed from.
All vector must have the same length.public static PdMatrix[] multInvMassMatrix(PgElementSet geom, PdMatrix[] tensor, boolean useLumped)
Only usage of lumped mass matrix is implemented yet.
tensor
- length of the array must equal the number of vertices of the surface, the mass matrix is computed from.
All vector must have the same length.public static PdVector getInvLumpedMassMatrix(PgElementSet geom, PdVector invMass)
public static PdVector getLumpedMassMatrix(PgElementSet geom, PdVector diagonalMass)
"