LifeV
NeoHookean Class Reference

#include <NeoHookean.hpp>

+ Collaboration diagram for NeoHookean:

Public Member Functions

 NeoHookean (const commPtr_Type &communicator)
 
 ~NeoHookean ()
 
void setCoefficients (const Real density, const Real young, const Real poisson)
 Set the physical parameters of the structure. More...
 
void setup (const meshPtr_Type &mesh, const std::string dOrder)
 Setup: build the FE space and the ETA fespace. More...
 
void evaluate_residual (const vectorPtr_Type &solution, const Real &coefficient, const vectorPtr_Type &csi, vectorPtr_Type &residual)
 Evaluate the residual of the problem. More...
 
void update_jacobian (const vectorPtr_Type &solution, const Real &coefficient, matrixPtr_Type &jacobian)
 Updates the Jacobian matrix. More...
 
const std::shared_ptr< FESpace< mesh_Type, map_Type > > & fespace () const
 Getter of the standard FE space. More...
 
const std::shared_ptr< ETFESpace_displacement > & et_fespace () const
 Getter of the ETA FE space. More...
 

Private Types

typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef std::shared_ptr< BCHandlerbcPtr_Type
 
typedef RegionMesh< LinearTetramesh_Type
 
typedef std::shared_ptr< mesh_TypemeshPtr_Type
 
typedef MapEpetra map_Type
 
typedef ETFESpace< mesh_Type, map_Type, 3, 3 > ETFESpace_displacement
 
typedef ExpressionDefinitions::deformationGradient_Type tensorF_Type
 
typedef ExpressionDefinitions::determinantTensorF_Type determinantF_Type
 
typedef ExpressionDefinitions::rightCauchyGreenTensor_Type tensorC_Type
 
typedef ExpressionDefinitions::minusTransposedTensor_Type minusT_Type
 
typedef ExpressionDefinitions::traceTensor_Type traceTensor_Type
 

Private Attributes

commPtr_Type M_comm
 
Real M_density
 
Real M_bulk
 
Real M_mu
 
Real M_offset
 
matrixSmall_Type M_identity
 
std::string M_dOrder
 
std::shared_ptr< FESpace< mesh_Type, map_Type > > M_displacementFESpace
 
std::shared_ptr< ETFESpace_displacementM_displacementFESpace_ETA
 
matrixPtr_Type M_jacobian
 

Detailed Description

Definition at line 62 of file NeoHookean.hpp.

Member Typedef Documentation

◆ comm_Type

typedef Epetra_Comm comm_Type
private

Definition at line 65 of file NeoHookean.hpp.

◆ commPtr_Type

typedef std::shared_ptr< comm_Type > commPtr_Type
private

Definition at line 67 of file NeoHookean.hpp.

◆ vector_Type

typedef VectorEpetra vector_Type
private

Definition at line 69 of file NeoHookean.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type
private

Definition at line 71 of file NeoHookean.hpp.

◆ matrix_Type

typedef MatrixEpetra<Real> matrix_Type
private

Definition at line 73 of file NeoHookean.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type
private

Definition at line 75 of file NeoHookean.hpp.

◆ bcPtr_Type

typedef std::shared_ptr<BCHandler> bcPtr_Type
private

Definition at line 77 of file NeoHookean.hpp.

◆ mesh_Type

typedef RegionMesh<LinearTetra> mesh_Type
private

Definition at line 79 of file NeoHookean.hpp.

◆ meshPtr_Type

typedef std::shared_ptr<mesh_Type> meshPtr_Type
private

Definition at line 81 of file NeoHookean.hpp.

◆ map_Type

typedef MapEpetra map_Type
private

Definition at line 83 of file NeoHookean.hpp.

◆ ETFESpace_displacement

Definition at line 85 of file NeoHookean.hpp.

◆ tensorF_Type

◆ determinantF_Type

◆ tensorC_Type

◆ minusT_Type

◆ traceTensor_Type

Definition at line 95 of file NeoHookean.hpp.

Constructor & Destructor Documentation

◆ NeoHookean()

NeoHookean ( const commPtr_Type communicator)
Parameters
communicatorEpetra communicator

Definition at line 6 of file NeoHookean.cpp.

◆ ~NeoHookean()

~NeoHookean ( )

Definition at line 27 of file NeoHookean.cpp.

Member Function Documentation

◆ setCoefficients()

void setCoefficients ( const Real  density,
const Real  young,
const Real  poisson 
)

Set the physical parameters of the structure.

Parameters
densityDensity of the structure
youngYoung modulus of the structure
poissonPoisson ratio of the structure

Definition at line 31 of file NeoHookean.cpp.

◆ setup()

void setup ( const meshPtr_Type mesh,
const std::string  dOrder 
)

Setup: build the FE space and the ETA fespace.

Parameters
meshComputational mesh
dOrderDegree of the finite element used

Definition at line 49 of file NeoHookean.cpp.

◆ evaluate_residual()

void evaluate_residual ( const vectorPtr_Type solution,
const Real coefficient,
const vectorPtr_Type csi,
vectorPtr_Type residual 
)

Evaluate the residual of the problem.

Parameters
solutionSolution vector at the previous Newton iterate
coefficientCoefficient which goes in front of the mass matrix depending on the time discretization scheme used
csiVector containing the solution at the previous time steps which depends on the time discretization scheme used
residualResidual vector to be assembled

Definition at line 61 of file NeoHookean.cpp.

◆ update_jacobian()

void update_jacobian ( const vectorPtr_Type solution,
const Real coefficient,
matrixPtr_Type jacobian 
)

Updates the Jacobian matrix.

Parameters
solutionSolution vector at the previous Newton iterate
coefficientCoefficient which goes in front of the mass matrix depending on the time discretization scheme used
jacobianJacobian matrix to be updated

Definition at line 107 of file NeoHookean.cpp.

◆ fespace()

const std::shared_ptr<FESpace<mesh_Type, map_Type> >& fespace ( ) const
inline

Getter of the standard FE space.

Returns
M_displacementFESpace FE space used for the displacement

Definition at line 145 of file NeoHookean.hpp.

◆ et_fespace()

const std::shared_ptr<ETFESpace_displacement >& et_fespace ( ) const
inline

Getter of the ETA FE space.

Returns
M_displacementFESpace_ETA ETA FE space used for the displacement

Definition at line 152 of file NeoHookean.hpp.

Field Documentation

◆ M_comm

commPtr_Type M_comm
private

Definition at line 152 of file NeoHookean.hpp.

◆ M_density

Real M_density
private

Definition at line 160 of file NeoHookean.hpp.

◆ M_bulk

Real M_bulk
private

Definition at line 163 of file NeoHookean.hpp.

◆ M_mu

Real M_mu
private

Definition at line 164 of file NeoHookean.hpp.

◆ M_offset

Real M_offset
private

Definition at line 165 of file NeoHookean.hpp.

◆ M_identity

matrixSmall_Type M_identity
private

Definition at line 167 of file NeoHookean.hpp.

◆ M_dOrder

std::string M_dOrder
private

Definition at line 170 of file NeoHookean.hpp.

◆ M_displacementFESpace

std::shared_ptr<FESpace<mesh_Type, map_Type> > M_displacementFESpace
private

Definition at line 173 of file NeoHookean.hpp.

◆ M_displacementFESpace_ETA

std::shared_ptr<ETFESpace_displacement > M_displacementFESpace_ETA
private

Definition at line 176 of file NeoHookean.hpp.

◆ M_jacobian

matrixPtr_Type M_jacobian
private

Definition at line 179 of file NeoHookean.hpp.


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