Description
Perform a corotation (warping) of a K matrix by pre- or post- multiplying it with a C matrix that has 3x3 rotation matrices R as diagonal blocks, so that C*K means:
[R ] [ ] [ R ] *[ K ] [ R] [ ]
This is often used in FEA codes to rotate a K local stiffness matrix and to obtain a global stiffness matrix. This class provides methods to do either C*K or also C*K*C' , without explicitly building C, for improved performance.
#include <ChMatrixCorotation.h>
Static Public Member Functions | |
static void | ComputeCK (ChMatrixConstRef K, const ChMatrix33<> &R, const int nblocks, ChMatrixRef CK) |
Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks. More... | |
static void | ComputeKCt (ChMatrixConstRef K, const ChMatrix33<> &R, const int nblocks, ChMatrixRef KC) |
Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks. More... | |
static void | ComputeCK (ChMatrixConstRef K, const std::vector< ChMatrix33<> * > &R, const int nblocks, ChMatrixRef CK) |
Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations) More... | |
static void | ComputeKCt (ChMatrixConstRef K, const std::vector< ChMatrix33<> * > &R, const int nblocks, ChMatrixRef KC) |
Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations) More... | |
Member Function Documentation
◆ ComputeCK() [1/2]
|
static |
Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks.
- Parameters
-
K matrix to pre-corotate R 3x3 rotation matrix nblocks number of rotation blocks CK result matrix: C*K
◆ ComputeCK() [2/2]
|
static |
Perform a corotation (warping) of a K matrix by pre-multiplying it with a C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations)
- Parameters
-
K matrix to pre-corotate R 3x3 rotation matrices nblocks number of rotation blocks CK result matrix: C*K
◆ ComputeKCt() [1/2]
|
static |
Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks.
- Parameters
-
K matrix to post-corotate R 3x3 rotation matrix (will be used transposed) nblocks number of rotation blocks KC result matrix: C*K
◆ ComputeKCt() [2/2]
|
static |
Perform a corotation (warping) of a K matrix by post-multiplying it with a transposed C matrix; C has 3x3 rotation matrices R as diagonal blocks (generic version with different rotations)
- Parameters
-
K matrix to post-corotate R 3x3 rotation matrices (used transposed) nblocks number of rotation blocks KC result matrix: C*K
The documentation for this class was generated from the following files:
- /builds/uwsbel/chrono/src/chrono/fea/ChMatrixCorotation.h
- /builds/uwsbel/chrono/src/chrono/fea/ChMatrixCorotation.cpp