40 #ifndef _STABILIZATIONSUPGALE_HPP_ 41 #define _STABILIZATIONSUPGALE_HPP_ 1
44 #pragma GCC diagnostic ignored "-Wunused-variable" 45 #pragma GCC diagnostic ignored "-Wunused-parameter" 47 #include <Epetra_ConfigDefs.h> 50 #include <Epetra_MpiComm.h> 52 #include <Epetra_SerialComm.h> 55 #include <Epetra_FECrsMatrix.h> 58 #pragma GCC diagnostic warning "-Wunused-variable" 59 #pragma GCC diagnostic warning "-Wunused-parameter" 61 #include <lifev/navier_stokes_blocks/solver/Stabilization.hpp> 63 #include <lifev/core/fem/FESpace.hpp> 64 #include <lifev/core/fem/ReferenceFE.hpp> 66 #include <lifev/eta/fem/ETFESpace.hpp> 69 #include <Epetra_FECrsGraph.h> 70 #include <lifev/eta/expression/Integrate.hpp> 71 #include <lifev/eta/expression/BuildGraph.hpp> 156 const vector_Type& convective_velocity_previous_newton_step,
std::shared_ptr< vector_Type > vectorPtr_Type
Epetra_FECrsGraph graph_Type
std::shared_ptr< ETFESpace_velocity > ETFESpacePtr_velocity
fespacePtr_Type M_pFESpace
std::shared_ptr< Epetra_FECrsGraph > graphPtr_Type
void setConstant(const int &value)
Set the constant C_I for the supg.
matrixPtr_Type const & block_11() const
Get block11 of the stabilization matrix.
MatrixEpetra< Real > matrix_Type
graphPtr_Type M_graph_block11
ETFESpacePtr_pressure M_fespacePETA
FESpace - Short description here please!
ETFESpacePtr_velocity M_fespaceUETA
void setETvelocitySpace(const ETFESpacePtr_velocity &velocityEta_fespace)
Set Expression Template FE space for velocity.
void importFromHDF5(std::string const &fileName, std::string const &matrixName="matrix")
Read a matrix from a HDF5 (.h5) file.
Real M_timestep
stabilization parameters for the momentum and continuity equations
void setTimeStep(const Real ×tep)
Set the time step size.
static bool S_registerStabilizationSUPGALE
graphPtr_Type M_graph_block00
virtual ~StabilizationSUPGALE()
~Destructor
SquareRoot_SUPGALE(const SquareRoot_SUPGALE &)
void setBDForder(const Real &bdfOrder)
Set the bdf order.
void setUseGraph(const bool &useGraph)
Set if using the graph.
void setCommunicator(std::shared_ptr< Epetra_Comm > comm)
Set the Epetra communicator.
static const LifeV::UInt elm_nodes_num[]
graphPtr_Type M_graph_block01
std::string label()
Get name of stabilization being used.
Real M_viscosity
fluid dynamic viscosity
return_Type operator()(const Real &a)
void setDensity(const Real &density)
Set the fluid density.
Epetra_Import const & importer()
Getter for the Epetra_Import.
void setAlpha(const Real &alpha)
Set the bdf order.
FESpace< mesh_Type, map_Type > fespace_Type
matrixPtr_Type const & block_01() const
Get block01 of the stabilization matrix.
matrixPtr_Type const & block_10() const
Get block10 of the stabilization matrix.
StabilizationSUPGALE()
Default Constructor.
ETFESpace< mesh_Type, map_Type, 3, 3 > ETFESpace_velocity
matrixPtr_Type M_block_11
std::shared_ptr< Epetra_Comm > M_comm
Epetra communicator.
StabilizationSUPGALE * createStabilizationSUPGALE()
Factory create function.
Real M_density
fluid density
fespacePtr_Type M_uFESpace
finite element spaces for velocity and pressure
void apply_vector(vectorPtr_Type &residual_velocity, vectorPtr_Type &residual_pressure, const vector_Type &convective_velocity_previous_newton_step, const vector_Type &velocity_previous_newton_step, const vector_Type &pressure_previous_newton_step, const vector_Type &velocity_rhs)
Adds to the residual the contribution coming from the SUPG stabilization.
std::shared_ptr< matrix_Type > matrixPtr_Type
void apply_matrix(const vector_Type &convective_velocity_previous_newton_step, const vector_Type &velocity_previous_newton_step, const vector_Type &pressure_previous_newton_step, const vector_Type &velocity_rhs)
Updates the jacobian matrix.
matrixPtr_Type const & block_00() const
Get block00 of the stabilization matrix.
double Real
Generic real data.
void setETpressureSpace(const ETFESpacePtr_pressure &pressureEta_fespace)
Set Expression Template FE space for velocity.
RegionMesh< LinearTetra > mesh_Type
void setViscosity(const Real &viscosity)
Set the fluid dynamic viscosity.
matrixPtr_Type M_block_01
ETFESpace< mesh_Type, map_Type, 3, 1 > ETFESpace_pressure
matrixPtr_Type M_block_00
matrixPtr_Type M_block_10
void setVelocitySpace(fespacePtr_Type velocityFESpace)
Set FE space for velocity.
std::shared_ptr< fespace_Type > fespacePtr_Type
class ETFESpace A light, templated version of the FESpace
void buildGraphs()
Build the graphs of each single block.
graphPtr_Type M_graph_block10
void setPressureSpace(fespacePtr_Type pressureFESpace)
Set Expression Template FE space for velocity.
std::shared_ptr< ETFESpace_pressure > ETFESpacePtr_pressure