FEM::CSolver Class Reference

Class that solves the correspondent FEM DAS (Differential Algebraic System) given by dU/dt=[K(U)]^(-1)*DF/Dt. More...

#include <csolver.h>

Inheritance diagram for FEM::CSolver:

FEM::CAutoME FEM::CForwardEuler FEM::CModifiedEuler List of all members.

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

Detailed Description

Class that solves the correspondent FEM DAS (Differential Algebraic System) given by dU/dt=[K(U)]^(-1)*DF/Dt.

CSolver

Definition at line 51 of file csolver.h.


The documentation for this class was generated from the following file:
Generated on Wed Jan 24 15:56:30 2007 for MechSys by  doxygen 1.4.7