Trilinos based (stochastic) FEM solvers
rubberblock Class Reference

#include <rubberblock.hpp>

Inheritance diagram for rubberblock:
[legend]
Collaboration diagram for rubberblock:
[legend]

Public Member Functions

 rubberblock (Epetra_Comm &comm, Teuchos::ParameterList &Parameters)
 
 ~rubberblock ()
 
void set_parameters (Epetra_SerialDenseVector &x)
 
void findtop ()
 
void get_matrix_and_rhs (Epetra_Vector &x, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void setup_dirichlet_conditions ()
 
void apply_dirichlet_conditions (Epetra_FECrsMatrix &K, Epetra_FEVector &F, double &displacement)
 
void get_constitutive_tensors (Epetra_SerialDenseMatrix &deformation_gradient, Epetra_SerialDenseVector &piola_stress, Epetra_SerialDenseMatrix &tangent_piola)
 
void compute_cauchy (Epetra_Vector &solution, double &xi, double &eta, double &zeta, std::string &filename)
 
Epetra_SerialDenseVector get_neumannBc (Epetra_SerialDenseMatrix &matrix_X, Epetra_SerialDenseMatrix &xg, unsigned int &gp)
 
Epetra_SerialDenseVector get_forcing (double &x1, double &x2, double &x3, unsigned int &e_lid, unsigned int &gp)
 
void get_material_parameters (unsigned int &e_lid, unsigned int &gp)
 
void get_material_parameters_for_recover (unsigned int &e_lid)
 
void get_stress_for_recover (Epetra_SerialDenseMatrix &deformation_gradient, double &det, Epetra_SerialDenseMatrix &piola_stress)
 
- Public Member Functions inherited from compressibleHyperelasticity
 compressibleHyperelasticity ()
 
 ~compressibleHyperelasticity ()
 
void assemblePureDirichlet_homogeneousForcing (Epetra_Vector &x, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void assemblePureDirichlet_inhomogeneousForcing (Epetra_Vector &x, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void assembleMixedDirichletNeumann_homogeneousForcing (Epetra_Vector &x, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void assembleMixedDirichletNeumann_inhomogeneousForcing (Epetra_Vector &x, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void stiffnessRhs_homogeneousForcing (Epetra_Vector &u, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void stiffnessRhs_inhomogeneousForcing (Epetra_Vector &u, Epetra_FECrsMatrix &K, Epetra_FEVector &F)
 
void rhs_NeumannBoundaryCondition (Epetra_FEVector &F)
 
- Public Member Functions inherited from hyperelasticity
 hyperelasticity ()
 
 ~hyperelasticity ()
 
void create_FECrsGraph ()
 
void compute_B_matrices (Epetra_SerialDenseMatrix &F, Epetra_SerialDenseMatrix &dx_shape_functions, Epetra_SerialDenseMatrix &B, Epetra_SerialDenseMatrix &BG)
 
int compute_green_lagrange (Epetra_Vector &x, double &xi, double &eta, double &zeta, std::string &filename)
 
void compute_center_cauchy_stress (Epetra_Vector &x, std::string &filename)
 
void compute_gauss_vonmises (Epetra_Vector &x, std::string &filename)
 
- Public Member Functions inherited from nonLinearFiniteElementProblem
 nonLinearFiniteElementProblem ()
 
 ~nonLinearFiniteElementProblem ()
 
void display_amesos_solvers ()
 
- Public Member Functions inherited from baseClassFEM
 baseClassFEM ()
 
 ~baseClassFEM ()
 

Public Attributes

double topcoord
 
double lambda
 
double mu
 
- Public Attributes inherited from hyperelasticity
unsigned int n_bc_dof
 
int * dof_on_boundary
 
- Public Attributes inherited from nonLinearFiniteElementProblem
double pressure_load
 
- Public Attributes inherited from baseClassFEM
meshMesh
 
Epetra_Comm * Comm
 
Epetra_Map * OverlapMap
 
Epetra_Map * StandardMap
 
Epetra_Import * ImportToOverlapMap
 
Epetra_FECrsGraph * FEGraph
 

Detailed Description

Definition at line 7 of file rubberblock.hpp.

Constructor & Destructor Documentation

◆ rubberblock()

rubberblock::rubberblock ( Epetra_Comm &  comm,
Teuchos::ParameterList &  Parameters 
)
inline

Definition at line 14 of file rubberblock.hpp.

◆ ~rubberblock()

rubberblock::~rubberblock ( )
inline

Definition at line 29 of file rubberblock.hpp.

Member Function Documentation

◆ apply_dirichlet_conditions()

void rubberblock::apply_dirichlet_conditions ( Epetra_FECrsMatrix &  K,
Epetra_FEVector &  F,
double &  displacement 
)
inlinevirtual

Implements nonLinearFiniteElementProblem.

Definition at line 87 of file rubberblock.hpp.

◆ compute_cauchy()

void rubberblock::compute_cauchy ( Epetra_Vector &  solution,
double &  xi,
double &  eta,
double &  zeta,
std::string &  filename 
)
inline

Definition at line 152 of file rubberblock.hpp.

◆ findtop()

void rubberblock::findtop ( )
inline

Definition at line 37 of file rubberblock.hpp.

◆ get_constitutive_tensors()

void rubberblock::get_constitutive_tensors ( Epetra_SerialDenseMatrix &  deformation_gradient,
Epetra_SerialDenseVector &  piola_stress,
Epetra_SerialDenseMatrix &  tangent_piola 
)
inlinevirtual

Implements compressibleHyperelasticity.

Definition at line 120 of file rubberblock.hpp.

◆ get_forcing()

Epetra_SerialDenseVector rubberblock::get_forcing ( double &  x1,
double &  x2,
double &  x3,
unsigned int &  e_lid,
unsigned int &  gp 
)
inlinevirtual

Implements compressibleHyperelasticity.

Definition at line 247 of file rubberblock.hpp.

◆ get_material_parameters()

void rubberblock::get_material_parameters ( unsigned int &  e_lid,
unsigned int &  gp 
)
inlinevirtual

Implements hyperelasticity.

Definition at line 253 of file rubberblock.hpp.

◆ get_material_parameters_for_recover()

void rubberblock::get_material_parameters_for_recover ( unsigned int &  e_lid)
inlinevirtual

Implements hyperelasticity.

Definition at line 257 of file rubberblock.hpp.

◆ get_matrix_and_rhs()

void rubberblock::get_matrix_and_rhs ( Epetra_Vector &  x,
Epetra_FECrsMatrix &  K,
Epetra_FEVector &  F 
)
inlinevirtual

Implements nonLinearFiniteElementProblem.

Definition at line 50 of file rubberblock.hpp.

◆ get_neumannBc()

Epetra_SerialDenseVector rubberblock::get_neumannBc ( Epetra_SerialDenseMatrix &  matrix_X,
Epetra_SerialDenseMatrix &  xg,
unsigned int &  gp 
)
inlinevirtual

Implements compressibleHyperelasticity.

Definition at line 241 of file rubberblock.hpp.

◆ get_stress_for_recover()

void rubberblock::get_stress_for_recover ( Epetra_SerialDenseMatrix &  deformation_gradient,
double &  det,
Epetra_SerialDenseMatrix &  piola_stress 
)
inlinevirtual

Implements hyperelasticity.

Definition at line 261 of file rubberblock.hpp.

◆ set_parameters()

void rubberblock::set_parameters ( Epetra_SerialDenseVector &  x)
inline

Definition at line 32 of file rubberblock.hpp.

◆ setup_dirichlet_conditions()

void rubberblock::setup_dirichlet_conditions ( )
inlinevirtual

Implements nonLinearFiniteElementProblem.

Definition at line 54 of file rubberblock.hpp.

Member Data Documentation

◆ lambda

double rubberblock::lambda

Definition at line 12 of file rubberblock.hpp.

◆ mu

double rubberblock::mu

Definition at line 12 of file rubberblock.hpp.

◆ topcoord

double rubberblock::topcoord

Definition at line 11 of file rubberblock.hpp.


The documentation for this class was generated from the following file: