|
Public Member Functions |
|
| CSolver (FEM::InputData const &ID, FEM::Data &data, FEM::Output &output) |
|
virtual | ~CSolver () |
|
void | Solve (int iStage) |
Protected Member Functions |
|
void | _realloc_and_setup_dof_vectors () |
|
void | _assemb_natural_stage_inc () |
|
void | _assemb_essential_stage_inc () |
|
void | _assemb_G (LinAlg::Matrix< REAL > &K, LinAlg::Vector< REAL > &RHS, REAL TimeInc) |
|
void | _inv_K_times_X (LinAlg::Matrix< REAL > &K, bool DoPreserveK, LinAlg::Vector< REAL > &X, LinAlg::Vector< REAL > &Y) |
|
int | _n_tot_dof () const |
|
void | _backup_nodes_and_elements_state () |
|
void | _update_nodes_and_elements_state (LinAlg::Vector< REAL > const &dU, LinAlg::Vector< REAL > &dF_int, REAL TimeInc) |
|
void | _restore_nodes_and_elements_state () |
|
REAL | _norm_essential_vector () |
|
REAL | _norm_natural_vector () |
Protected Attributes |
|
FEM::InputData const & | _idat |
|
FEM::Data & | _data |
|
FEM::Output & | _output |
|
Array< FEM::Node::DOFVarsStruct * > | _a_udofs |
|
Array< FEM::Node::DOFVarsStruct * > | _a_pdofs |
|
LinAlg::Vector< REAL > | _DF_ext |
|
LinAlg::Vector< REAL > | _DU_ext |
Private Member Functions |
|
void | _do_scatter (LinAlg::Matrix< REAL > const &K, LinAlg::Vector< REAL > const &X, LinAlg::Vector< REAL > const &Y, LinAlg::Matrix< REAL > &K11, LinAlg::Matrix< REAL > &K12, LinAlg::Matrix< REAL > &K21, LinAlg::Matrix< REAL > &K22, LinAlg::Vector< REAL > &Y2, LinAlg::Vector< REAL > &X1) |
|
void | _do_gather (LinAlg::Vector< REAL > const &Y1, LinAlg::Vector< REAL > const &Y2, LinAlg::Vector< REAL > const &X1, LinAlg::Vector< REAL > const &X2, LinAlg::Vector< REAL > &Y, LinAlg::Vector< REAL > &X) |
|
void | _mount_into_Global (LinAlg::Matrix< REAL > &Global, LinAlg::Matrix< REAL > &LocalMatrix, Array< size_t > &Map1, Array< size_t > &Map2) const |
|
void | _mount_into_RHS (LinAlg::Vector< REAL > &RHS, LinAlg::Vector< REAL > &LocalVector, Array< size_t > &Map) const |
Private Attributes |
|
LinAlg::Vector< REAL > | _U_bkp |
|
LinAlg::Vector< REAL > | _F_bkp |