Container for element-level DENSE matrices in transient nonlinear FEM. More...
#include <cl_TimestepMatrices.hpp>
Public Member Functions | |
| TimestepMatrices ()=default | |
| ~TimestepMatrices ()=default | |
| void | initialize (const index_t aNumDofs) |
| Initialize all matrices to given size. | |
| void | reset () |
| void | reset_flags () |
| Clear all flags ( unused; the IWG sets its flags once in the constructor ). | |
| void | set_flag (const MatrixFlag aFlag) |
| Set a flag after populating corresponding matrix. | |
| bool | has_flag (const MatrixFlag aFlag) const |
| Check if a matrix has been populated. | |
| const Bitset< 8 > & | flags () const |
| Direct access to flags bitset. | |
| const Matrix< real > & | M () const |
| const Matrix< real > & | D () const |
| const Matrix< real > & | K () const |
| const Vector< real > & | f () const |
| const Matrix< real > & | dMdx_times_x () const |
| const Matrix< real > & | dMdx_times_h () const |
| const Matrix< real > & | dKdx_times_x () const |
| const Matrix< real > & | dfdx () const |
| const Matrix< real > & | J () const |
| const Matrix< real > & | dJdx () const |
| Matrix< real > & | M () |
| Matrix< real > & | D () |
| Matrix< real > & | K () |
| Vector< real > & | f () |
| Matrix< real > & | dMdx_times_x () |
| Matrix< real > & | dMdx_times_h () |
| Matrix< real > & | dKdx_times_x () |
| Matrix< real > & | dfdx () |
| void | assemble_J (const real adt) |
| void | assemble_dJdx (const real adt, const real aAlpha=1.0) |
| Assemble the Newton correction dJ/dx. | |
Container for element-level DENSE matrices in transient nonlinear FEM.
This class serves as interface between the physics-aware IWG and the time-stepping scheme (BDF). All matrices are DENSE and sized n_e × n_e where n_e is the number of element DOFs.
The global SPARSE Jacobian is assembled from these element contributions in a separate assembler class.
Workflow:
Key design decisions:
|
default |
|
default |
Assemble the Newton correction dJ/dx.
| adt | length of the current timestep |
| aAlpha | BDF coefficient of the current time level; scales the (dM/dx)·x term (Hairer & Wanner 1996, II.4). One for all schemes that scale M by one (BDF1, Crank-Nicolson, ...) |
| void belfem::fem::TimestepMatrices::assemble_J | ( | const real | adt | ) |
|
inline |
Direct access to flags bitset.
|
inline |
Check if a matrix has been populated.
| void belfem::fem::TimestepMatrices::initialize | ( | const index_t | aNumDofs | ) |
Initialize all matrices to given size.
| aNumDofs | Number of element DOFs (typically 4-27 for common elements) |
| void belfem::fem::TimestepMatrices::reset | ( | ) |
|
inline |
Clear all flags ( unused; the IWG sets its flags once in the constructor ).
|
inline |
Set a flag after populating corresponding matrix.