|
Public Member Functions |
| Solver (FEM::InputData const &ID, FEM::Data &data, FEM::Output &output) |
virtual | ~Solver () |
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_K (LinAlg::Matrix< REAL > &K) |
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) |
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) |
Private Attributes |
LinAlg::Vector< REAL > | _U_bkp |
LinAlg::Vector< REAL > | _F_bkp |