LifeV
|
#include <StructuralIsotropicConstitutiveLaw.hpp>
Protected Member Functions | |
virtual void | setupVectorsParameters (void)=0 |
construct the vectors for the parameters More... | |
Protected Attributes | |
dataPtr_Type | M_dataMaterial |
Protected Members. More... | |
FESpacePtr_Type | M_dispFESpace |
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... | |
vectorsParametersPtr_Type | M_vectorsParameters |
Map between markers and volumes on the mesh. More... | |
Constructor & Deconstructor | |
StructuralIsotropicConstitutiveLaw () | |
virtual | ~StructuralIsotropicConstitutiveLaw () |
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 StructuralIsotropicConstitutiveLaw. 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, 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 | 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... | |
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... | |
virtual matrixPtr_Type const | stiffMatrix () const =0 |
Get the Stiffness matrix. More... | |
virtual vectorPtr_Type const | stiffVector () const =0 |
Get the Stiffness matrix. 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 StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 95 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef MatrixEpetra<Real> matrix_Type |
Definition at line 97 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 98 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef VectorEpetra vector_Type |
Definition at line 99 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<vector_Type> vectorPtr_Type |
Definition at line 100 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<data_Type> dataPtr_Type |
Definition at line 102 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<const Displayer> displayerPtr_Type |
Definition at line 103 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef FactorySingleton<Factory<StructuralIsotropicConstitutiveLaw<MeshType>, std::string> > StructureIsotropicMaterialFactory |
Definition at line 105 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::vector< typename MeshType::element_Type* > vectorVolumes_Type |
Definition at line 107 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::map< UInt, vectorVolumes_Type> mapMarkerVolumes_Type |
Definition at line 109 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<mapMarkerVolumes_Type> mapMarkerVolumesPtr_Type |
Definition at line 110 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::vector<UInt> vectorIndexes_Type |
Definition at line 112 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::map< UInt, vectorIndexes_Type> mapMarkerIndexes_Type |
Definition at line 113 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<mapMarkerIndexes_Type> mapMarkerIndexesPtr_Type |
Definition at line 114 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef ETFESpace<MeshType, MapEpetra, 3, 3 > ETFESpace_Type |
Definition at line 117 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<ETFESpace_Type> ETFESpacePtr_Type |
Definition at line 118 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef FESpace< MeshType, MapEpetra > FESpace_Type |
Definition at line 120 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<FESpace_Type> FESpacePtr_Type |
Definition at line 121 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::vector<std::vector<Real> > vectorsParameters_Type |
Definition at line 124 of file StructuralIsotropicConstitutiveLaw.hpp.
typedef std::shared_ptr<vectorsParameters_Type> vectorsParametersPtr_Type |
Definition at line 125 of file StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 129 of file StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 130 of file StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 131 of file StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 132 of file StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 133 of file StructuralIsotropicConstitutiveLaw.hpp.
Definition at line 322 of file StructuralIsotropicConstitutiveLaw.hpp.
|
inlinevirtual |
Definition at line 143 of file StructuralIsotropicConstitutiveLaw.hpp.
|
pure virtual |
Setup the created object of the class StructuralIsotropicConstitutiveLaw.
dFespace | the FiniteElement Space |
monolithicMap | the MapEpetra |
offset | the offset parameter used assembling the matrices |
Implemented in VenantKirchhoffMaterialNonLinearPenalized< MeshType >, ExponentialMaterialNonLinear< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< MeshType >.
|
pure virtual |
Computes the linear part of the stiffness matrix StructuralSolver::buildSystem.
dataMaterial | the class with Material properties data |
Implemented in VenantKirchhoffMaterialNonLinearPenalized< MeshType >, ExponentialMaterialNonLinear< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< 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 ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< 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 ExponentialMaterialNonLinear< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< MeshType >.
|
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 ExponentialMaterialNonLinear< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< 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 ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< 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 VenantKirchhoffMaterialNonLinear< MeshType >, ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< 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 VenantKirchhoffMaterialNonLinear< MeshType >, ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< MeshType >.
|
inline |
Getters Get the Epetramap.
Definition at line 258 of file StructuralIsotropicConstitutiveLaw.hpp.
|
inline |
Get the FESpace object.
Definition at line 264 of file StructuralIsotropicConstitutiveLaw.hpp.
|
inline |
Get the Stiffness matrix.
Definition at line 270 of file StructuralIsotropicConstitutiveLaw.hpp.
|
pure virtual |
Get the Stiffness matrix.
Implemented in ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialLinear< MeshType >, and VenantKirchhoffMaterialNonLinear< MeshType >.
|
pure virtual |
Get the Stiffness matrix.
Implemented in ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< MeshType >.
|
pure virtual |
|
protectedpure virtual |
construct the vectors for the parameters
VOID |
Implemented in ExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinearPenalized< MeshType >, NeoHookeanMaterialNonLinear< MeshType >, SecondOrderExponentialMaterialNonLinear< MeshType >, VenantKirchhoffMaterialNonLinear< MeshType >, and VenantKirchhoffMaterialLinear< MeshType >.
|
protected |
Protected Members.
Definition at line 299 of file StructuralIsotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 301 of file StructuralIsotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 303 of file StructuralIsotropicConstitutiveLaw.hpp.
|
protected |
Definition at line 305 of file StructuralIsotropicConstitutiveLaw.hpp.
|
protected |
Matrix jacobian.
Definition at line 308 of file StructuralIsotropicConstitutiveLaw.hpp.
|
protected |
The Offset parameter.
Definition at line 311 of file StructuralIsotropicConstitutiveLaw.hpp.
|
protected |
Map between markers and volumes on the mesh.
Definition at line 314 of file StructuralIsotropicConstitutiveLaw.hpp.