41 #include <lifev/core/LifeV.hpp> 43 #include <lifev/core/array/VectorEpetra.hpp> 45 #include <lifev/core/array/MatrixEpetra.hpp> 47 #include <lifev/core/fem/BCManage.hpp> 49 #include <lifev/eta/fem/ETFESpace.hpp> 51 #include <lifev/core/fem/FESpace.hpp> 53 #include <lifev/eta/expression/Integrate.hpp> 55 #include <lifev/fsi_blocks/solver/AssemblyElementalStructure.hpp> 57 #include <lifev/fsi_blocks/solver/ExpressionDefinitions.hpp> 65 typedef Epetra_Comm comm_Type;
67 typedef std::shared_ptr< comm_Type > commPtr_Type;
69 typedef VectorEpetra vector_Type;
71 typedef std::shared_ptr<vector_Type> vectorPtr_Type;
75 typedef std::shared_ptr<matrix_Type> matrixPtr_Type;
77 typedef std::shared_ptr<BCHandler> bcPtr_Type;
79 typedef RegionMesh<LinearTetra> mesh_Type;
81 typedef std::shared_ptr<mesh_Type> meshPtr_Type;
85 typedef ETFESpace< mesh_Type, map_Type, 3, 3 > ETFESpace_displacement;
103 NeoHookean(
const commPtr_Type& communicator );
114 void setCoefficients (
const Real density,
const Real young,
const Real poisson);
121 void setup(
const meshPtr_Type& mesh,
const std::string dOrder );
130 void evaluate_residual(
const vectorPtr_Type& solution,
const Real& coefficient,
const vectorPtr_Type& csi, vectorPtr_Type& residual );
138 void update_jacobian(
const vectorPtr_Type& solution,
const Real& coefficient, matrixPtr_Type& jacobian );
145 const std::shared_ptr<FESpace<mesh_Type, map_Type> >& fespace ( )
const {
return M_displacementFESpace; };
152 const std::shared_ptr<ETFESpace_displacement >& et_fespace ( )
const {
return M_displacementFESpace_ETA; };
170 std::string M_dOrder;
173 std::shared_ptr<FESpace<mesh_Type, map_Type> > M_displacementFESpace;
176 std::shared_ptr<ETFESpace_displacement > M_displacementFESpace_ETA;
179 matrixPtr_Type M_jacobian;
ExpressionMinusTransposed< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > minusTransposedTensor_Type
void importFromHDF5(std::string const &fileName, std::string const &matrixName="matrix")
Read a matrix from a HDF5 (.h5) file.
MatrixSmall< 3, 3 > matrixSmall_Type
Epetra_Import const & importer()
Getter for the Epetra_Import.
ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > rightCauchyGreenTensor_Type
double Real
Generic real data.
ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > deformationGradient_Type
ExpressionTrace< ExpressionProduct< ExpressionTranspose< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > >, ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > > traceTensor_Type
ExpressionDeterminant< ExpressionAddition< ExpressionInterpolateGradient< MeshType, MapEpetra, 3, 3 >, ExpressionMatrix< 3, 3 > > > determinantTensorF_Type
class ETFESpace A light, templated version of the FESpace