39 #ifndef FASTASSEMBLER_HPP 40 #define FASTASSEMBLER_HPP 42 #include <lifev/core/LifeV.hpp> 43 #include <lifev/core/mesh/RegionMesh.hpp> 44 #include <lifev/core/array/VectorEpetra.hpp> 45 #include <lifev/core/array/MatrixEpetra.hpp> 46 #include <lifev/core/fem/QuadratureRule.hpp> 47 #include <lifev/core/fem/ReferenceFE.hpp> 48 #include <lifev/core/fem/CurrentFE.hpp> 49 #include <lifev/core/fem/FESpace.hpp> FastAssembler(const meshPtr_Type &mesh, const commPtr_Type &comm, const ReferenceFE *refFE, const qr_Type *qr)
Constructor.
void assemble_SUPG_block00(matrixPtr_Type &matrix, const vector_Type &u_h)
FE Assembly of SUPG terms - block (0,0)
void allocateSpace(const int &numElements, CurrentFE *fe, const fespacePtr_Type &fespace, const UInt *meshSub_elements)
Allocate space for members before the assembly.
boost::shared_ptr< matrix_Type > matrixPtr_Type
VectorEpetra - The Epetra Vector format Wrapper.
void assembleMass_vectorial(matrixPtr_Type &matrix)
FE Assembly of vectorial mass matrix.
void assembleGradGrad_vectorial(matrixPtr_Type &matrix)
FE Assembly of vectorial grad-grad.
FESpace< mesh_Type, MapEpetra > fespace_Type
boost::shared_ptr< fespace_Type > fespacePtr_Type
void importFromHDF5(std::string const &fileName, std::string const &matrixName="matrix")
Read a matrix from a HDF5 (.h5) file.
void NS_constant_terms_00(matrixPtr_Type &matrix)
FE Assembly of NS constant terms (no scaling by coefficients like density or bdf) ...
void assembleGradGrad_scalar(matrixPtr_Type &matrix)
FE Assembly of scalar grad-grad.
boost::shared_ptr< vector_Type > vectorPtr_Type
boost::shared_ptr< comm_Type > commPtr_Type
void assembleConvective(matrix_Type &matrix, const vector_Type &u_h)
FE Assembly of NS constant terms (no scaling by coefficients like viscosity)
~FastAssembler()
Destructor.
boost::shared_ptr< mesh_Type > meshPtr_Type
MatrixEpetra< Real > matrix_Type
void updateInverseJacobian(const UInt &iQuadPt)
Epetra_Import const & importer()
Getter for the Epetra_Import.
void assemble_SUPG_block11(matrixPtr_Type &matrix, const vector_Type &u_h)
FE Assembly of SUPG terms - block (1,1)
void allocateSpace_SUPG(CurrentFE *fe)
Allocate space for supg before the assembly.
void allocateSpace(const int &numElements, CurrentFE *fe, const fespacePtr_Type &fespace)
Allocate space for members before the assembly.
boost::shared_ptr< qr_Type > qrPtr_Type
double Real
Generic real data.
CurrentFE - A primordial class for the assembly of the local matrices/vectors retaining the values on...
The class for a reference Lagrangian finite element.
void setConstants_NavierStokes(const Real &density, const Real &viscosity, const Real ×tep, const Real &orderBDF, const Real &C_I)
Set physical parameters for NS.
RegionMesh< LinearTetra > mesh_Type
const ReferenceFE * M_referenceFE
void assembleConvective(matrixPtr_Type &matrix, const vector_Type &u_h)
FE Assembly of NS constant terms (no scaling by coefficients like viscosity)
QuadratureRule - The basis class for storing and accessing quadrature rules.
void assembleMass_scalar(matrixPtr_Type &matrix)
FE Assembly of scalar mass matrix.
uint32_type UInt
generic unsigned integer (used mainly for addressing)
void assembleLaplacianPhiILaplacianPhiJ_vectorial(matrixPtr_Type &matrix)
FE Assembly of laplacian PhiI laplacian PhiJ.