LifeV
|
#include <StructuralAnisotropicConstitutiveLaw.hpp>
Protected Attributes | |
FESpacePtr_Type | M_dispFESpace |
construct the vectors for the parameters More... | |
ETFESpacePtr_Type | M_dispETFESpace |
std::shared_ptr< const MapEpetra > | M_localMap |
matrixPtr_Type | M_jacobian |
Matrix jacobian. More... | |
UInt | M_offset |
The Offset parameter. More... | |
dataPtr_Type | M_dataMaterial |
displayerPtr_Type | M_displayer |
vectorFiberFunctionPtr_Type | M_vectorOfFibers |
Map between markers and volumes on the mesh. More... | |
vectorInterpolatedFibers_Type | M_vectorInterpolated |
std::vector to store the vector of the interpolation of the fiber direction. More... | |
Real | M_epsilon |
Constructor & Deconstructor | |
StructuralAnisotropicConstitutiveLaw () | |
virtual | ~StructuralAnisotropicConstitutiveLaw () |
Methods | |
virtual void | setup (const FESpacePtr_Type &dFESpace, const ETFESpacePtr_Type &ETFESpace, const std::shared_ptr< const MapEpetra > &monolithicMap, const UInt offset, const dataPtr_Type &dataMaterial)=0 |
Setup the created object of the class StructuralAnisotropicConstitutiveLaw. More... | |
virtual void | computeLinearStiff (dataPtr_Type &dataMaterial, const mapMarkerVolumesPtr_Type, const mapMarkerIndexesPtr_Type)=0 |
Computes the linear part of the stiffness matrix StructuralSolver::buildSystem. More... | |
virtual void | updateJacobianMatrix (const vector_Type &disp, const dataPtr_Type &dataMaterial, const mapMarkerVolumesPtr_Type mapsMarkerVolumes, const mapMarkerIndexesPtr_Type mapsMarkerIndexes, const displayerPtr_Type &displayer)=0 |
Updates the Jacobian matrix in StructuralSolver::updateJacobian. More... | |
virtual void | computeStiffness (const vector_Type &sol, const UInt iter, Real factor, const dataPtr_Type &dataMaterial, const mapMarkerVolumesPtr_Type mapsMarkerVolumes, const mapMarkerIndexesPtr_Type mapsMarkerIndexes, const displayerPtr_Type &displayer)=0 |
Computes the new Stiffness matrix in StructuralSolver given a certain displacement field. More... | |
virtual void | computeReferenceConfigurations (const vector_Type &sol, const dataPtr_Type &dataMaterial, const displayerPtr_Type &displayer)=0 |
virtual void | computeKinematicsVariables (const VectorElemental &dk_loc)=0 |
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... | |
virtual void | showMe (std::string const &fileNameStiff, std::string const &fileNameJacobian)=0 |
Output of the class. More... | |
virtual void | computeLocalFirstPiolaKirchhoffTensor (Epetra_SerialDenseMatrix &firstPiola, const Epetra_SerialDenseMatrix &tensorF, const Epetra_SerialDenseMatrix &cofactorF, const std::vector< Real > &invariants, const UInt material)=0 |
Compute the First Piola Kirchhoff Tensor. More... | |
virtual void | computeCauchyStressTensor (const vectorPtr_Type disp, const QuadratureRule &evalQuad, vectorPtr_Type sigma_1, vectorPtr_Type sigma_2, vectorPtr_Type sigma_3)=0 |
Compute the First Piola Kirchhoff Tensor. More... | |
virtual void | setupFiberDirections (vectorFiberFunctionPtr_Type vectorOfFibers)=0 |
virtual void | evaluateActivationFibers (const vector_Type &displacement, vector_Type &fourthInvariant)=0 |
Set Methods | |
void | setIthFiberVector (const vector_Type &fiberInterpolated, const UInt i) |
void | setNumberOfFamilies (const UInt n) |
Get Methods | |
MapEpetra const & | map () const |
Getters Get the Epetramap. More... | |
FESpace_Type & | dFESpace () |
Get the FESpace object. More... | |
matrixPtr_Type const | jacobian () const |
Get the Stiffness matrix. More... | |
const vector_Type & | ithFiberVector (const UInt i) const |
virtual matrixPtr_Type const | stiffMatrix () const =0 |
Get the Stiffness matrix. More... | |
virtual vectorPtr_Type const | stiffVector () const =0 |
Get the Stiffness vector. More... | |
virtual vectorPtr_Type const | selectionCriterion (const UInt i) const =0 |
Getters specific for the multi-mechanism model Get the selction vector (the one that measures if the activation criterion is met) More... | |
virtual vectorPtr_Type const | activationDisplacement (const UInt i) const =0 |
Get the activation displacement. More... | |
virtual vectorPtr_Type const | activatedUnitFiber (const UInt i) const =0 |
Get the activation displacement. More... | |
virtual vectorPtr_Type const | activatedDeterminant (const UInt i) const =0 |
Get the activation displacement. More... | |
virtual void | apply (const vector_Type &sol, vector_Type &res, const mapMarkerVolumesPtr_Type mapsMarkerVolumes, const mapMarkerIndexesPtr_Type mapsMarkerIndexes, const displayerPtr_Type displayer)=0 |
Definition at line 89 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 95 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef MatrixEpetra<Real> matrix_Type |
Definition at line 97 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 98 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef VectorEpetra vector_Type |
Definition at line 99 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<vector_Type> vectorPtr_Type |
Definition at line 100 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<data_Type> dataPtr_Type |
Definition at line 102 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<const Displayer> displayerPtr_Type |
Definition at line 103 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef FactorySingleton<Factory<StructuralAnisotropicConstitutiveLaw<MeshType>, std::string> > StructureAnisotropicMaterialFactory |
Definition at line 105 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::vector< typename MeshType::element_Type* > vectorVolumes_Type |
Definition at line 107 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::map< UInt, vectorVolumes_Type> mapMarkerVolumes_Type |
Definition at line 109 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<mapMarkerVolumes_Type> mapMarkerVolumesPtr_Type |
Definition at line 110 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::vector<UInt> vectorIndexes_Type |
Definition at line 112 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::map< UInt, vectorIndexes_Type> mapMarkerIndexes_Type |
Definition at line 113 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<mapMarkerIndexes_Type> mapMarkerIndexesPtr_Type |
Definition at line 114 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef ETFESpace<MeshType, MapEpetra, 3, 3 > ETFESpace_Type |
Definition at line 116 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<ETFESpace_Type> ETFESpacePtr_Type |
Definition at line 117 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef FESpace< MeshType, MapEpetra > FESpace_Type |
Definition at line 119 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<FESpace_Type> FESpacePtr_Type |
Definition at line 120 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::vector<std::vector<Real> > vectorsParameters_Type |
Definition at line 123 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<vectorsParameters_Type> vectorsParametersPtr_Type |
Definition at line 124 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::function<Real ( Real const&, Real const&, Real const&, Real const&, ID const& ) > fiberFunction_Type |
Definition at line 128 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<fiberFunction_Type> fiberFunctionPtr_Type |
Definition at line 129 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::vector<fiberFunctionPtr_Type> vectorFiberFunction_Type |
Definition at line 131 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<vectorFiberFunction_Type> vectorFiberFunctionPtr_Type |
Definition at line 132 of file StructuralAnisotropicConstitutiveLaw.hpp.
typedef std::vector<vectorPtr_Type> vectorInterpolatedFibers_Type |
Definition at line 135 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 139 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 140 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 141 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 142 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 143 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 144 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 145 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 148 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 149 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 150 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 151 of file StructuralAnisotropicConstitutiveLaw.hpp.
Definition at line 399 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
inlinevirtual |
Definition at line 161 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
pure virtual |
Setup the created object of the class StructuralAnisotropicConstitutiveLaw.
dFespace | the FiniteElement Space |
monolithicMap | the MapEpetra |
offset | the offset parameter used assembling the matrices |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Computes the linear part of the stiffness matrix StructuralSolver::buildSystem.
dataMaterial | the class with Material properties data |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Updates the Jacobian matrix in StructuralSolver::updateJacobian.
disp | solution at the k-th iteration of NonLinearRichardson Method |
dataMaterial | a pointer to the dataType member in StructuralSolver class to get the material coefficients (e.g. Young modulus, Poisson ratio..) |
displayer | a pointer to the Dysplaier member in the StructuralSolver class |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Computes the new Stiffness matrix in StructuralSolver given a certain displacement field.
This function is used both in StructuralSolver::evalResidual and in StructuralSolver::updateSystem since the matrix is the expression of the matrix is the same. This is virtual and not pure virtual since in the linear St. Venant-Kirchhoff law it is not needed.
sol | the solution vector |
factor | scaling factor used in FSI |
dataMaterial | a pointer to the dataType member in StructuralSolver class to get the material coefficients (e.g. Young modulus, Poisson ratio..) |
displayer | a pointer to the Dysplaier member in the StructuralSolver class |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
|
pure virtual |
Computes the deformation Gradient F, the cofactor of F Cof(F), the determinant of F J = det(F), the trace of C Tr(C).
dk_loc | local displacement vector |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Output of the class.
fileNamelinearStiff | the filename where to apply the spy method for the linear part of the Stiffness matrix |
fileNameStiff | the filename where to apply the spy method for the Stiffness matrix |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Compute the First Piola Kirchhoff Tensor.
firstPiola | Epetra_SerialDenseMatrix that has to be filled |
tensorF | Epetra_SerialDenseMatrix the deformation gradient |
cofactorF | Epetra_SerialDenseMatrix cofactor of F |
invariants | std::vector with the invariants of C and the detF |
material | UInt number to get the material parameteres form the VenantElasticData class |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Compute the First Piola Kirchhoff Tensor.
disp | the displacement field from which we compute the fisrt piola-Kirchhoff tensor |
sigma_1 | the first column of the Cauchy stress tensor |
sigma_2 | the second column of the Cauchy stress tensor |
sigma_3 | the third column of the Cauchy stress tensor |
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
|
pure virtual |
|
inline |
Definition at line 276 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
inline |
Definition at line 286 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
inline |
Getters Get the Epetramap.
Definition at line 299 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
inline |
Get the FESpace object.
Definition at line 305 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
inline |
Get the Stiffness matrix.
Definition at line 311 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
inline |
Definition at line 317 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
pure virtual |
Get the Stiffness matrix.
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Get the Stiffness vector.
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Getters specific for the multi-mechanism model Get the selction vector (the one that measures if the activation criterion is met)
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Get the activation displacement.
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Get the activation displacement.
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
Get the activation displacement.
Implemented in AnisotropicMultimechanismMaterialNonLinear< MeshType >, DistributedHolzapfelMaterialNonLinear< MeshType >, HolzapfelMaterialNonLinear< MeshType >, and HolzapfelGeneralizedMaterialNonLinear< MeshType >.
|
pure virtual |
|
protected |
construct the vectors for the parameters
VOID |
Definition at line 364 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 366 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 368 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Matrix jacobian.
Definition at line 371 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
The Offset parameter.
Definition at line 374 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 376 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 378 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Map between markers and volumes on the mesh.
std::shared to the vector of fibers
Definition at line 384 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
std::vector to store the vector of the interpolation of the fiber direction.
Definition at line 388 of file StructuralAnisotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 391 of file StructuralAnisotropicConstitutiveLaw.hpp.