LifeV
VenantKirchhoffMaterialLinear< MeshType > Class Template Reference

#include <VenantKirchhoffMaterialLinear.hpp>

+ Inheritance diagram for VenantKirchhoffMaterialLinear< MeshType >:
+ Collaboration diagram for VenantKirchhoffMaterialLinear< MeshType >:

Protected Member Functions

void setupVectorsParameters (void)
 construct the vectors for the parameters More...
 

Protected Attributes

matrixPtr_Type M_linearStiff
 Protected members. More...
 
matrixPtr_Type M_stiff
 Matrix Kl: stiffness linear. More...
 
- Protected Attributes inherited from StructuralIsotropicConstitutiveLaw< MeshType >
dataPtr_Type M_dataMaterial
 Protected Members. More...
 
FESpacePtr_Type M_dispFESpace
 
ETFESpacePtr_Type M_dispETFESpace
 
std::shared_ptr< const MapEpetraM_localMap
 
matrixPtr_Type M_jacobian
 Matrix jacobian. More...
 
UInt M_offset
 The Offset parameter. More...
 
vectorsParametersPtr_Type M_vectorsParameters
 Map between markers and volumes on the mesh. More...
 

Type definitions

typedef StructuralIsotropicConstitutiveLaw< MeshTypesuper
 
typedef super::data_Type data_Type
 
typedef super::vector_Type vector_Type
 
typedef super::matrix_Type matrix_Type
 
typedef super::matrixPtr_Type matrixPtr_Type
 
typedef super::dataPtr_Type dataPtr_Type
 
typedef super::displayerPtr_Type displayerPtr_Type
 
typedef super::vectorPtr_Type vectorPtr_Type
 
typedef super::mapMarkerVolumesPtr_Type mapMarkerVolumesPtr_Type
 
typedef super::mapMarkerVolumes_Type mapMarkerVolumes_Type
 
typedef mapMarkerVolumes_Type::const_iterator mapIterator_Type
 
typedef super::vectorVolumes_Type vectorVolumes_Type
 
typedef std::shared_ptr< vectorVolumes_TypevectorVolumesPtr_Type
 
typedef std::vector< UIntvectorIndexes_Type
 
typedef std::shared_ptr< vectorIndexes_TypevectorIndexesPtr_Type
 
typedef std::map< UInt, vectorIndexes_TypemapMarkerIndexes_Type
 
typedef std::shared_ptr< mapMarkerIndexes_TypemapMarkerIndexesPtr_Type
 
typedef mapMarkerIndexes_Type::const_iterator mapIteratorIndex_Type
 
typedef super::FESpacePtr_Type FESpacePtr_Type
 
typedef super::ETFESpacePtr_Type ETFESpacePtr_Type
 
typedef super::vectorsParameters_Type vectorsParameters_Type
 
typedef super::vectorsParametersPtr_Type vectorsParametersPtr_Type
 
typedef MatrixSmall< 3, 3 > matrixSmall_Type
 
typedef super::tensorF_Type tensorF_Type
 

Constructor & Destructor

 VenantKirchhoffMaterialLinear ()
 
virtual ~VenantKirchhoffMaterialLinear ()
 

Methods

void setup (const FESpacePtr_Type &dFESpace, const ETFESpacePtr_Type &ETFESpace, const std::shared_ptr< const MapEpetra > &monolithicMap, const UInt offset, const dataPtr_Type &dataMaterial)
 Setup the created object of the class StructuralIsotropicConstitutiveLaw. More...
 
void computeLinearStiff (dataPtr_Type &, const mapMarkerVolumesPtr_Type, const mapMarkerIndexesPtr_Type)
 Compute the Stiffness matrix in StructuralSolver::buildSystem() More...
 
void updateJacobianMatrix (const vector_Type &disp, const dataPtr_Type &dataMaterial, const mapMarkerVolumesPtr_Type mapsMarkerVolumes, const mapMarkerIndexesPtr_Type mapsMarkerIndexes, const displayerPtr_Type &displayer)
 Updates the Jacobian matrix in StructualSolver::updateJacobian. More...
 
void updateNonLinearJacobianTerms (matrixPtr_Type &jacobian, const vector_Type &, const dataPtr_Type &, const mapMarkerVolumesPtr_Type, const mapMarkerIndexesPtr_Type, const displayerPtr_Type &)
 Updates the nonlinear terms in the Jacobian matrix in StructualSolver::updateJacobian. More...
 
void computeStiffness (const vector_Type &sol, Real factor, const dataPtr_Type &dataMaterial, const mapMarkerVolumesPtr_Type mapsMarkerVolumes, const mapMarkerIndexesPtr_Type mapsMarkerIndexes, const displayerPtr_Type &displayer)
 Interface method to compute the new Stiffness matrix in StructuralSolver::evalResidual and in StructuralSolver::updateSystem since the matrix is the expression of the matrix is the same. More...
 
void computeKinematicsVariables (const VectorElemental &)
 Computes the deformation Gradient F, the cofactor of F Cof(F), the determinant of F J = det(F), the trace of C Tr(C). More...
 
void showMe (std::string const &fileNameStiff, std::string const &fileNameJacobian)
 ShowMe method of the class (saved on a file the two matrices) More...
 
void computeLocalFirstPiolaKirchhoffTensor (Epetra_SerialDenseMatrix &firstPiola, const Epetra_SerialDenseMatrix &tensorF, const Epetra_SerialDenseMatrix &cofactorF, const std::vector< Real > &invariants, const UInt marker)
 Compute the First Piola Kirchhoff Tensor. More...
 
void computeCauchyStressTensor (const vectorPtr_Type disp, const QuadratureRule &evalQuad, vectorPtr_Type sigma_1, vectorPtr_Type sigma_2, vectorPtr_Type sigma_3)
 Compute the First Piola Kirchhoff Tensor. More...
 

Get Methods

matrixPtr_Type const linearStiff () const
 Get the linear part of the matrix. More...
 
matrixPtr_Type const stiffMatrix () const
 Get the Stiffness matrix. More...
 
vectorPtr_Type const stiffVector () const
 Get the Stiffness vector. More...
 
void apply (const vector_Type &sol, vector_Type &res, const mapMarkerVolumesPtr_Type, const mapMarkerIndexesPtr_Type, const displayerPtr_Type)
 

Additional Inherited Members

- Public Types inherited from StructuralIsotropicConstitutiveLaw< MeshType >
typedef StructuralConstitutiveLawData data_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 
typedef std::shared_ptr< data_TypedataPtr_Type
 
typedef std::shared_ptr< const DisplayerdisplayerPtr_Type
 
typedef FactorySingleton< Factory< StructuralIsotropicConstitutiveLaw< MeshType >, std::string > > StructureIsotropicMaterialFactory
 
typedef std::vector< typename MeshType::element_Type *> vectorVolumes_Type
 
typedef std::map< UInt, vectorVolumes_TypemapMarkerVolumes_Type
 
typedef std::shared_ptr< mapMarkerVolumes_TypemapMarkerVolumesPtr_Type
 
typedef std::vector< UIntvectorIndexes_Type
 
typedef std::map< UInt, vectorIndexes_TypemapMarkerIndexes_Type
 
typedef std::shared_ptr< mapMarkerIndexes_TypemapMarkerIndexesPtr_Type
 
typedef ETFESpace< MeshType, MapEpetra, 3, 3 > ETFESpace_Type
 
typedef std::shared_ptr< ETFESpace_TypeETFESpacePtr_Type
 
typedef FESpace< MeshType, MapEpetraFESpace_Type
 
typedef std::shared_ptr< FESpace_TypeFESpacePtr_Type
 
typedef std::vector< std::vector< Real > > vectorsParameters_Type
 
typedef std::shared_ptr< vectorsParameters_TypevectorsParametersPtr_Type
 
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
 
- Public Member Functions inherited from StructuralIsotropicConstitutiveLaw< MeshType >
 StructuralIsotropicConstitutiveLaw ()
 
virtual ~StructuralIsotropicConstitutiveLaw ()
 
MapEpetra const & map () const
 Getters Get the Epetramap. More...
 
FESpace_TypedFESpace ()
 Get the FESpace object. More...
 
matrixPtr_Type const jacobian () const
 Get the Stiffness matrix. More...
 

Detailed Description

template<typename MeshType>
class LifeV::VenantKirchhoffMaterialLinear< MeshType >

Definition at line 47 of file VenantKirchhoffMaterialLinear.hpp.

Member Typedef Documentation

◆ super

◆ data_Type

Definition at line 56 of file VenantKirchhoffMaterialLinear.hpp.

◆ vector_Type

◆ matrix_Type

◆ matrixPtr_Type

◆ dataPtr_Type

◆ displayerPtr_Type

◆ vectorPtr_Type

◆ mapMarkerVolumesPtr_Type

◆ mapMarkerVolumes_Type

◆ mapIterator_Type

typedef mapMarkerVolumes_Type::const_iterator mapIterator_Type

Definition at line 68 of file VenantKirchhoffMaterialLinear.hpp.

◆ vectorVolumes_Type

◆ vectorVolumesPtr_Type

typedef std::shared_ptr<vectorVolumes_Type> vectorVolumesPtr_Type

Definition at line 71 of file VenantKirchhoffMaterialLinear.hpp.

◆ vectorIndexes_Type

typedef std::vector<UInt> vectorIndexes_Type

Definition at line 73 of file VenantKirchhoffMaterialLinear.hpp.

◆ vectorIndexesPtr_Type

typedef std::shared_ptr<vectorIndexes_Type> vectorIndexesPtr_Type

Definition at line 74 of file VenantKirchhoffMaterialLinear.hpp.

◆ mapMarkerIndexes_Type

Definition at line 75 of file VenantKirchhoffMaterialLinear.hpp.

◆ mapMarkerIndexesPtr_Type

Definition at line 76 of file VenantKirchhoffMaterialLinear.hpp.

◆ mapIteratorIndex_Type

typedef mapMarkerIndexes_Type::const_iterator mapIteratorIndex_Type

Definition at line 77 of file VenantKirchhoffMaterialLinear.hpp.

◆ FESpacePtr_Type

◆ ETFESpacePtr_Type

◆ vectorsParameters_Type

◆ vectorsParametersPtr_Type

◆ matrixSmall_Type

Definition at line 86 of file VenantKirchhoffMaterialLinear.hpp.

◆ tensorF_Type

Constructor & Destructor Documentation

◆ VenantKirchhoffMaterialLinear()

◆ ~VenantKirchhoffMaterialLinear()

Definition at line 260 of file VenantKirchhoffMaterialLinear.hpp.

Member Function Documentation

◆ setup()

void setup ( const FESpacePtr_Type dFESpace,
const ETFESpacePtr_Type ETFESpace,
const std::shared_ptr< const MapEpetra > &  monolithicMap,
const UInt  offset,
const dataPtr_Type dataMaterial 
)
virtual

Setup the created object of the class StructuralIsotropicConstitutiveLaw.

Parameters
dFespacethe FiniteElement Space
monolithicMapthe MapEpetra
offsetthe offset parameter used assembling the matrices

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 266 of file VenantKirchhoffMaterialLinear.hpp.

◆ computeLinearStiff()

void computeLinearStiff ( dataPtr_Type ,
const mapMarkerVolumesPtr_Type  ,
const mapMarkerIndexesPtr_Type   
)
virtual

Compute the Stiffness matrix in StructuralSolver::buildSystem()

Parameters
dataMaterialthe class with Material properties data

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 323 of file VenantKirchhoffMaterialLinear.hpp.

◆ updateJacobianMatrix()

void updateJacobianMatrix ( const vector_Type disp,
const dataPtr_Type dataMaterial,
const mapMarkerVolumesPtr_Type  mapsMarkerVolumes,
const mapMarkerIndexesPtr_Type  mapsMarkerIndexes,
const displayerPtr_Type displayer 
)
virtual

Updates the Jacobian matrix in StructualSolver::updateJacobian.

Parameters
dispsolution at the k-th iteration of NonLinearRichardson Method
dataMateriala pointer to the dataType member in StructuralSolver class to get the material coefficients (e.g. Young modulus, Poisson ratio..)
displayera pointer to the Dysplaier member in the StructuralSolver class

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 358 of file VenantKirchhoffMaterialLinear.hpp.

◆ updateNonLinearJacobianTerms()

void updateNonLinearJacobianTerms ( matrixPtr_Type jacobian,
const vector_Type ,
const dataPtr_Type ,
const mapMarkerVolumesPtr_Type  ,
const mapMarkerIndexesPtr_Type  ,
const displayerPtr_Type  
)

Updates the nonlinear terms in the Jacobian matrix in StructualSolver::updateJacobian.

Parameters
stiffstiffness matrix provided from outside
dispsolution at the k-th iteration of NonLinearRichardson Method
dataMateriala pointer to the dataType member in StructuralSolver class to get the material coefficients (e.g. Young modulus, Poisson ratio..)
displayera pointer to the Dysplaier member in the StructuralSolver class

Definition at line 375 of file VenantKirchhoffMaterialLinear.hpp.

◆ computeStiffness()

void computeStiffness ( const vector_Type sol,
Real  factor,
const dataPtr_Type dataMaterial,
const mapMarkerVolumesPtr_Type  mapsMarkerVolumes,
const mapMarkerIndexesPtr_Type  mapsMarkerIndexes,
const displayerPtr_Type displayer 
)
virtual

Interface method to compute the new Stiffness matrix in StructuralSolver::evalResidual and in StructuralSolver::updateSystem since the matrix is the expression of the matrix is the same.

Parameters
solthe solution vector
factorscaling factor used in FSI
dataMateriala pointer to the dataType member in StructuralSolver class to get the material coefficients (e.g. Young modulus, Poisson ratio..)
displayera pointer to the Dysplaier member in the StructuralSolver class

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 387 of file VenantKirchhoffMaterialLinear.hpp.

◆ computeKinematicsVariables()

void computeKinematicsVariables ( const VectorElemental dk_loc)
inlinevirtual

Computes the deformation Gradient F, the cofactor of F Cof(F), the determinant of F J = det(F), the trace of C Tr(C).

Parameters
dk_loclocal displacement vector

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 166 of file VenantKirchhoffMaterialLinear.hpp.

◆ showMe()

void showMe ( std::string const &  fileNameStiff,
std::string const &  fileNameJacobian 
)
virtual

ShowMe method of the class (saved on a file the two matrices)

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 403 of file VenantKirchhoffMaterialLinear.hpp.

◆ computeLocalFirstPiolaKirchhoffTensor()

void computeLocalFirstPiolaKirchhoffTensor ( Epetra_SerialDenseMatrix &  firstPiola,
const Epetra_SerialDenseMatrix &  tensorF,
const Epetra_SerialDenseMatrix &  cofactorF,
const std::vector< Real > &  invariants,
const UInt  marker 
)
virtual

Compute the First Piola Kirchhoff Tensor.

Parameters
firstPiolaEpetra_SerialDenseMatrix that has to be filled
tensorFEpetra_SerialDenseMatrix the deformation gradient
cofactorFEpetra_SerialDenseMatrix cofactor of F
invariantsstd::vector with the invariants of C and the detF
materialUInt number to get the material parameteres form the VenantElasticData class

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 418 of file VenantKirchhoffMaterialLinear.hpp.

◆ computeCauchyStressTensor()

void computeCauchyStressTensor ( const vectorPtr_Type  disp,
const QuadratureRule evalQuad,
vectorPtr_Type  sigma_1,
vectorPtr_Type  sigma_2,
vectorPtr_Type  sigma_3 
)
virtual

Compute the First Piola Kirchhoff Tensor.

Parameters
dispthe displacement field from which we compute the fisrt piola-Kirchhoff tensor
sigma_1the first column of the Cauchy stress tensor
sigma_2the second column of the Cauchy stress tensor
sigma_3the third column of the Cauchy stress tensor

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 471 of file VenantKirchhoffMaterialLinear.hpp.

◆ linearStiff()

matrixPtr_Type const linearStiff ( ) const
inline

Get the linear part of the matrix.

Definition at line 204 of file VenantKirchhoffMaterialLinear.hpp.

◆ stiffMatrix()

matrixPtr_Type const stiffMatrix ( ) const
inlinevirtual

Get the Stiffness matrix.

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 210 of file VenantKirchhoffMaterialLinear.hpp.

◆ stiffVector()

vectorPtr_Type const stiffVector ( ) const
inlinevirtual

Get the Stiffness vector.

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 216 of file VenantKirchhoffMaterialLinear.hpp.

◆ apply()

void apply ( const vector_Type sol,
vector_Type res,
const mapMarkerVolumesPtr_Type  ,
const mapMarkerIndexesPtr_Type  ,
const displayerPtr_Type   
)
inlinevirtual

◆ setupVectorsParameters()

void setupVectorsParameters ( void  )
protectedvirtual

construct the vectors for the parameters

Parameters
VOID
Returns
VOID

Implements StructuralIsotropicConstitutiveLaw< MeshType >.

Definition at line 290 of file VenantKirchhoffMaterialLinear.hpp.

Field Documentation

◆ M_linearStiff

matrixPtr_Type M_linearStiff
protected

Protected members.

Matrix Kl: stiffness linear

Definition at line 244 of file VenantKirchhoffMaterialLinear.hpp.

◆ M_stiff

matrixPtr_Type M_stiff
protected

Matrix Kl: stiffness linear.

Definition at line 247 of file VenantKirchhoffMaterialLinear.hpp.


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