LifeV
LinearElasticity Class Reference

#include <LinearElasticity.hpp>

+ Collaboration diagram for LinearElasticity:

Public Member Functions

 LinearElasticity (const commPtr_Type &communicator)
 
 ~LinearElasticity ()
 
void setCoefficients (const Real density, const Real young, const Real poisson)
 Set the physical parameters of the structure. More...
 
void setCoefficientsThinLayer (const Real density, const Real young, const Real poisson, const Real thickness, const UInt interface)
 Set the physical parameters of the thin layered structure. More...
 
void setup (const meshPtr_Type &mesh, const std::string dOrder)
 Setup: build the FE space and the ETA fespace. More...
 
void assemble_matrices (const Real timestep, const Real beta, bcPtr_Type &bc, bool useBDF=false)
 Assembling matrices (mass and stiffness) which for this model are constant in a time dependent simulation. More...
 
matrixPtr_Type const & mass_matrix_no_bc () const
 Getter of the mass matrix whithout boundary conditions applied. More...
 
matrixPtr_Type const & stiffness_matrix_no_bc () const
 Getter of the stiffness matrix whithout boundary conditions applied. More...
 
matrixPtr_Type const & jacobian () const
 Getter of 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
 

Private Attributes

commPtr_Type M_comm
 
Real M_density
 
Real M_young
 
Real M_poisson
 
Real M_lambda
 
Real M_mu
 
std::string M_dOrder
 
std::shared_ptr< FESpace< mesh_Type, map_Type > > M_displacementFESpace
 
std::shared_ptr< ETFESpace_displacementM_displacementFESpace_ETA
 
matrixPtr_Type M_mass_no_bc
 
matrixPtr_Type M_stiffness_no_bc
 
matrixPtr_Type M_mass_no_bc_thin
 
matrixPtr_Type M_stiffness_no_bc_thin
 
matrixPtr_Type M_jacobian
 
bool M_thinLayer
 
Real M_thinLayerThickness
 
Real M_thinLayerDensity
 
Real M_thinLayerLameI
 
Real M_thinLayerLameII
 
UInt M_interfaceFlag
 

Detailed Description

Definition at line 66 of file LinearElasticity.hpp.

Member Typedef Documentation

◆ comm_Type

typedef Epetra_Comm comm_Type
private

Definition at line 69 of file LinearElasticity.hpp.

◆ commPtr_Type

typedef std::shared_ptr< comm_Type > commPtr_Type
private

Definition at line 71 of file LinearElasticity.hpp.

◆ vector_Type

typedef VectorEpetra vector_Type
private

Definition at line 73 of file LinearElasticity.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type
private

Definition at line 75 of file LinearElasticity.hpp.

◆ matrix_Type

typedef MatrixEpetra<Real> matrix_Type
private

Definition at line 77 of file LinearElasticity.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type
private

Definition at line 79 of file LinearElasticity.hpp.

◆ bcPtr_Type

typedef std::shared_ptr<BCHandler> bcPtr_Type
private

Definition at line 81 of file LinearElasticity.hpp.

◆ mesh_Type

typedef RegionMesh<LinearTetra> mesh_Type
private

Definition at line 83 of file LinearElasticity.hpp.

◆ meshPtr_Type

typedef std::shared_ptr<mesh_Type> meshPtr_Type
private

Definition at line 85 of file LinearElasticity.hpp.

◆ map_Type

typedef MapEpetra map_Type
private

Definition at line 87 of file LinearElasticity.hpp.

◆ ETFESpace_displacement

Definition at line 89 of file LinearElasticity.hpp.

Constructor & Destructor Documentation

◆ LinearElasticity()

LinearElasticity ( const commPtr_Type communicator)
Parameters
communicatorEpetra communicator

Definition at line 6 of file LinearElasticity.cpp.

◆ ~LinearElasticity()

Definition at line 21 of file LinearElasticity.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 25 of file LinearElasticity.cpp.

◆ setCoefficientsThinLayer()

void setCoefficientsThinLayer ( const Real  density,
const Real  young,
const Real  poisson,
const Real  thickness,
const UInt  interface 
)

Set the physical parameters of the thin layered structure.

Parameters
densityDensity of the thin layered structure
youngYoung modulus of the thin layered structure
poissonPoisson ratio of the thin layered structure
thicknessThickness of the thin layered structure
interfaceFlag of the thin layered structure

Definition at line 44 of file LinearElasticity.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 57 of file LinearElasticity.cpp.

◆ assemble_matrices()

void assemble_matrices ( const Real  timestep,
const Real  beta,
bcPtr_Type bc,
bool  useBDF = false 
)

Assembling matrices (mass and stiffness) which for this model are constant in a time dependent simulation.

Parameters
timestepValue of the time step used
bcBoundary conditions
useBDFBoolean variable which specifies if BDF is used for the structure. By default it is false (therefore, Newmark is used).

Definition at line 85 of file LinearElasticity.cpp.

◆ mass_matrix_no_bc()

matrixPtr_Type const& mass_matrix_no_bc ( ) const
inline

Getter of the mass matrix whithout boundary conditions applied.

Returns
M_mass_no_bc mass matrix whithout boundary conditions applied

Definition at line 139 of file LinearElasticity.hpp.

◆ stiffness_matrix_no_bc()

matrixPtr_Type const& stiffness_matrix_no_bc ( ) const
inline

Getter of the stiffness matrix whithout boundary conditions applied.

Returns
M_stiffness_no_bc stiffness matrix whithout boundary conditions applied

Definition at line 145 of file LinearElasticity.hpp.

◆ jacobian()

matrixPtr_Type const& jacobian ( ) const
inline

Getter of the Jacobian matrix.

Returns
M_jacobian stiffness matrix

Definition at line 151 of file LinearElasticity.hpp.

◆ 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 158 of file LinearElasticity.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 165 of file LinearElasticity.hpp.

Field Documentation

◆ M_comm

commPtr_Type M_comm
private

Definition at line 165 of file LinearElasticity.hpp.

◆ M_density

Real M_density
private

Definition at line 173 of file LinearElasticity.hpp.

◆ M_young

Real M_young
private

Definition at line 174 of file LinearElasticity.hpp.

◆ M_poisson

Real M_poisson
private

Definition at line 175 of file LinearElasticity.hpp.

◆ M_lambda

Real M_lambda
private

Definition at line 178 of file LinearElasticity.hpp.

◆ M_mu

Real M_mu
private

Definition at line 179 of file LinearElasticity.hpp.

◆ M_dOrder

std::string M_dOrder
private

Definition at line 182 of file LinearElasticity.hpp.

◆ M_displacementFESpace

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

Definition at line 185 of file LinearElasticity.hpp.

◆ M_displacementFESpace_ETA

std::shared_ptr<ETFESpace_displacement > M_displacementFESpace_ETA
private

Definition at line 188 of file LinearElasticity.hpp.

◆ M_mass_no_bc

matrixPtr_Type M_mass_no_bc
private

Definition at line 191 of file LinearElasticity.hpp.

◆ M_stiffness_no_bc

matrixPtr_Type M_stiffness_no_bc
private

Definition at line 192 of file LinearElasticity.hpp.

◆ M_mass_no_bc_thin

matrixPtr_Type M_mass_no_bc_thin
private

Definition at line 195 of file LinearElasticity.hpp.

◆ M_stiffness_no_bc_thin

matrixPtr_Type M_stiffness_no_bc_thin
private

Definition at line 196 of file LinearElasticity.hpp.

◆ M_jacobian

matrixPtr_Type M_jacobian
private

Definition at line 199 of file LinearElasticity.hpp.

◆ M_thinLayer

bool M_thinLayer
private

Definition at line 202 of file LinearElasticity.hpp.

◆ M_thinLayerThickness

Real M_thinLayerThickness
private

Definition at line 203 of file LinearElasticity.hpp.

◆ M_thinLayerDensity

Real M_thinLayerDensity
private

Definition at line 204 of file LinearElasticity.hpp.

◆ M_thinLayerLameI

Real M_thinLayerLameI
private

Definition at line 205 of file LinearElasticity.hpp.

◆ M_thinLayerLameII

Real M_thinLayerLameII
private

Definition at line 206 of file LinearElasticity.hpp.

◆ M_interfaceFlag

UInt M_interfaceFlag
private

Definition at line 207 of file LinearElasticity.hpp.


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