Trilinos based (stochastic) FEM solvers
phaseFieldLinearizedElasticity.hpp
Go to the documentation of this file.
1 /*
2 Brian Staber (brian.staber@gmail.com)
3 */
4 
5 #ifndef PHASEFIELDLINEARIZEDELASTICITY_HPP
6 #define PHASEFIELDLINEARIZEDELASTICITY_HPP
7 
9 #include "damageField.hpp"
10 
12 
13 public:
14  Epetra_SerialDenseMatrix elasticity;
15  Teuchos::RCP<damageField> damageInterface;
16 
17  double gc, lc;
18  double E, nu, lambda, mu;
19 
20  Epetra_Vector * damageSolutionOverlaped;
21 
24 
25  Epetra_Map constructGaussMap();
26 
27  void initialize(Epetra_Comm & comm, Teuchos::ParameterList & Parameters);
28  void computeDisplacement(Teuchos::ParameterList & ParameterList,
29  Epetra_FECrsMatrix & matrix, Epetra_Vector & lhs, Epetra_FEVector & rhs,
30  double & bc_disp);
31  void updateDamageHistory(Epetra_Vector & damageHistory,
32  Epetra_Vector & displacement,
33  Epetra_Map & GaussMap);
34  void staggeredAlgorithmDirichletBC(Teuchos::ParameterList & ParametersList,
35  bool print);
36 
37  void get_elasticity_tensor(unsigned int & e_lid, unsigned int & gp, Epetra_SerialDenseMatrix & tangent_matrix);
38  void get_elasticity_tensor_for_recovery(unsigned int & e_lid, Epetra_SerialDenseMatrix & tangent_matrix);
39 
40 };
41 #endif
void updateDamageHistory(Epetra_Vector &damageHistory, Epetra_Vector &displacement, Epetra_Map &GaussMap)
void get_elasticity_tensor_for_recovery(unsigned int &e_lid, Epetra_SerialDenseMatrix &tangent_matrix)
void initialize(Epetra_Comm &comm, Teuchos::ParameterList &Parameters)
void computeDisplacement(Teuchos::ParameterList &ParameterList, Epetra_FECrsMatrix &matrix, Epetra_Vector &lhs, Epetra_FEVector &rhs, double &bc_disp)
void staggeredAlgorithmDirichletBC(Teuchos::ParameterList &ParametersList, bool print)
void get_elasticity_tensor(unsigned int &e_lid, unsigned int &gp, Epetra_SerialDenseMatrix &tangent_matrix)