LifeV
|
#include <VenantKirchhoffMaterialNonLinearPenalized.hpp>
Protected Member Functions | |
void | setupVectorsParameters (void) |
construct the vectors for the parameters More... | |
Protected Attributes | |
vectorPtr_Type | M_stiff |
Vector: stiffness non-linear. More... | |
matrixSmall_Type | M_identity |
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 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 & Destructor | |
VenantKirchhoffMaterialNonLinearPenalized () | |
virtual | ~VenantKirchhoffMaterialNonLinearPenalized () |
Methods | |
void | setup (const FESpacePtr_Type &dFESpace, const ETFESpacePtr_Type &dETFESpace, 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 &sol, 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 &sol, const dataPtr_Type &dataMaterial, const mapMarkerVolumesPtr_Type, const mapMarkerIndexesPtr_Type, const displayerPtr_Type &displayer) |
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, const mapMarkerIndexesPtr_Type, 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 &dk_loc) |
Computes the new Stiffness vector for Neo-Hookean and VK-Penalized materials in StructuralSolver given a certain displacement field. More... | |
void | showMe (std::string const &fileNameVectStiff, std::string const &fileNameJacobain) |
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 | 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 | 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 mapsMarkerVolumes, const mapMarkerIndexesPtr_Type mapsMarkerIndexes, const displayerPtr_Type displayer) |
Definition at line 50 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 56 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::data_Type data_Type |
Definition at line 58 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::vector_Type vector_Type |
Definition at line 60 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::matrix_Type matrix_Type |
Definition at line 61 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::matrixPtr_Type matrixPtr_Type |
Definition at line 63 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::vectorPtr_Type vectorPtr_Type |
Definition at line 64 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::dataPtr_Type dataPtr_Type |
Definition at line 65 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 66 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 68 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 69 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef mapMarkerVolumes_Type::const_iterator mapIterator_Type |
Definition at line 70 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 72 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef std::shared_ptr<vectorVolumes_Type> vectorVolumesPtr_Type |
Definition at line 73 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 75 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 76 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef mapMarkerIndexes_Type::const_iterator mapIteratorIndex_Type |
Definition at line 77 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef std::vector<UInt> vectorIndexes_Type |
Definition at line 79 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef std::shared_ptr<vectorIndexes_Type> vectorIndexesPtr_Type |
Definition at line 80 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 82 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 83 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 86 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 87 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef MatrixSmall<3, 3> matrixSmall_Type |
Definition at line 89 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::tensorF_Type tensorF_Type |
Definition at line 92 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 93 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::tensorC_Type tensorC_Type |
Definition at line 94 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
typedef super::minusT_Type minusT_Type |
Definition at line 95 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 96 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 97 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
Definition at line 286 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
virtual |
Definition at line 298 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
virtual |
Setup the created object of the class StructuralIsotropicConstitutiveLaw.
dFespace | the FiniteElement Space |
monolithicMap | the MapEpetra |
offset | the offset parameter used assembling the matrices |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 307 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
virtual |
Compute the Stiffness matrix in StructuralSolver::buildSystem()
dataMaterial | the class with Material properties data |
Empty method for this law
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 381 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
virtual |
Updates the Jacobian matrix in StructualSolver::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 |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 393 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
void updateNonLinearJacobianTerms | ( | matrixPtr_Type & | jacobian, |
const vector_Type & | sol, | ||
const dataPtr_Type & | dataMaterial, | ||
const mapMarkerVolumesPtr_Type | mapsMarkerVolumes, | ||
const mapMarkerIndexesPtr_Type | mapsMarkerIndexes, | ||
const displayerPtr_Type & | displayer | ||
) |
Updates the nonlinear terms in the Jacobian matrix in StructualSolver::updateJacobian.
stiff | stiffness matrix provided from outside |
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 |
Nonlinear part of jacobian loop on volumes (i)
Stiffness for non-linear terms of the VK-Penalized model
The results of the integrals are stored at each step into elmatK, until to build K matrix of the bilinear form
VOLUMETRIC PART
ISOCHORIC PART 0. Stiffness matrix : int { -(2.0/3.0) * Jk^(-2.0/3.0) * ( (lambda/2) * Ic_isok - ( (3/2)*lambda + mu ) ) * F^-T: ) * ( F - (1.0/3.0) * Ic_k * F^-T ): }
Definition at line 412 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
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.
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 |
Stiffness for non-linear terms of the Neo-Hookean model Volumetric part : int { bulk /2* (J1^2 - J1 + log(J1) ) * 1/J1 * (CofF1 : v) }
Isochoric part : int { J^(-2.0/3.0) * ( {lambda}{2}*Ic_isoK - {3}{2}*lambda - mu )*
Isochoric part second term
Source term P2iso_VKPenalized: int { ( mu * Jk^(-4.0/3.0) )* ( (F*C : v) - 1/3 * (Ic_squared) * (F1^-T : v) ) }
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 652 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
virtual |
Computes the new Stiffness vector for Neo-Hookean and VK-Penalized materials 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.
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 classComputes the deformation gradient F, the cofactor matrix Cof(F), the determinant of F (J = det(F)), the trace of right Cauchy-Green tensor tr(C) This function is used in StructuralIsotropicConstitutiveLaw::computeStiffness |
dk_loc | the elemental displacement |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 748 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
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 vectorShowMe method of the class (saved on a file the stiffness vector and the jacobian) |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 890 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
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 |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 908 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
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 |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 977 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
inlinevirtual |
Get the Stiffness matrix.
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 244 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
inlinevirtual |
Get the stiffness vector.
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 251 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
virtual |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 899 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
protectedvirtual |
construct the vectors for the parameters
VOID |
Implements StructuralIsotropicConstitutiveLaw< MeshType >.
Definition at line 341 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
protected |
Vector: stiffness non-linear.
Definition at line 275 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.
|
protected |
Definition at line 278 of file VenantKirchhoffMaterialNonLinearPenalized.hpp.