LifeV
StabilizationSUPG_semi_implicit Class Reference

#include <StabilizationSUPG_semi_implicit.hpp>

+ Inheritance diagram for StabilizationSUPG_semi_implicit:
+ Collaboration diagram for StabilizationSUPG_semi_implicit:

Public Member Functions

void apply_matrix (const vector_Type &velocityExtrapolated)
 Updates the system matrix in Navier-Stokes simulations in fixed coordinates. More...
 
void apply_vector (vectorPtr_Type &rhs_velocity, vectorPtr_Type &rhs_pressure, const vector_Type &velocityExtrapolated, const vector_Type &velocity_rhs)
 Adds to the right hand side the contribution coming from the SUPG stabilization. More...
 
void setVelocitySpace (fespacePtr_Type velocityFESpace)
 Set FE space for velocity. More...
 
void setPressureSpace (fespacePtr_Type pressureFESpace)
 Set Expression Template FE space for velocity. More...
 
void setConstant (const int &value)
 Set the constant C_I for the supg. More...
 
void setDensity (const Real &density)
 Set the fluid density. More...
 
void setBDForder (const Real &bdfOrder)
 Set the bdf order. More...
 
void setAlpha (const Real &alpha)
 Set the bdf order. More...
 
void setViscosity (const Real &viscosity)
 Set the fluid dynamic viscosity. More...
 
void setCommunicator (std::shared_ptr< Epetra_Comm > comm)
 Set the Epetra communicator. More...
 
void setTimeStep (const Real &timestep)
 Set the time step size. More...
 
void setETvelocitySpace (const ETFESpacePtr_velocity &velocityEta_fespace)
 Set Expression Template FE space for velocity. More...
 
void setETpressureSpace (const ETFESpacePtr_pressure &pressureEta_fespace)
 Set Expression Template FE space for velocity. More...
 
void setUseGraph (const bool &useGraph)
 Set if using the graph. More...
 
- Public Member Functions inherited from Stabilization
 Stabilization ()
 
virtual ~Stabilization ()
 
virtual void apply_vector (vectorPtr_Type &, vectorPtr_Type &, const vector_Type &, const vector_Type &, const vector_Type &)
 Adds to the residual the contribution coming from the SUPG stabilization. More...
 
virtual void apply_matrix (const vector_Type &, const vector_Type &)
 Updates the system matrix in Navier-Stokes simulations in ALE coordinates. More...
 
virtual void apply_matrix (const vector_Type &, const vector_Type &, const vector_Type &)
 Updates the system matrix in Navier-Stokes simulations in fixed coordinates. More...
 
virtual void apply_matrix (const vector_Type &, const vector_Type &, const vector_Type &, const vector_Type &)
 Updates the jacobian matrix in Navier-Stokes simulations in ALE coordinates. More...
 
virtual void apply_vector (vectorPtr_Type &, vectorPtr_Type &, const vector_Type &, const vector_Type &, const vector_Type &, const vector_Type &)
 Adds to the residual the contribution coming from the SUPG stabilization. More...
 
virtual void buildGraphs ()
 Build the graphs of each single block. More...
 
virtual void setUseODEfineScale (const bool &)
 Set if using dynamic fine scale model. More...
 
virtual void setExportFineScaleVelocity (ExporterHDF5< mesh_Type > &, const int &)
 Set if the user wants to export the fine scale component. More...
 
virtual void setFastAssembler (std::shared_ptr< FastAssemblerNS > &)
 Set if using the fast assembler. More...
 
virtual void updateODEfineScale (const vectorPtr_Type &, const vectorPtr_Type &)
 Updates the fine scale component. More...
 
virtual void updateODEfineScale (const vectorPtr_Type &, const vectorPtr_Type &, const vectorPtr_Type &)
 Updates the fine scale component. More...
 
typedef RegionMesh< LinearTetramesh_Type
 
typedef MapEpetra map_Type
 
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef FESpace< mesh_Type, map_Typefespace_Type
 
typedef std::shared_ptr< fespace_TypefespacePtr_Type
 
typedef ETFESpace< mesh_Type, map_Type, 3, 3 > ETFESpace_velocity
 
typedef ETFESpace< mesh_Type, map_Type, 3, 1 > ETFESpace_pressure
 
typedef std::shared_ptr< ETFESpace_velocityETFESpacePtr_velocity
 
typedef std::shared_ptr< ETFESpace_pressureETFESpacePtr_pressure
 
typedef Epetra_FECrsGraph graph_Type
 
typedef std::shared_ptr< Epetra_FECrsGraph > graphPtr_Type
 

Constructor and Destructor

 StabilizationSUPG_semi_implicit ()
 Default Constructor. More...
 
virtual ~StabilizationSUPG_semi_implicit ()
 ~Destructor More...
 

Getters

matrixPtr_Type const & block_00 () const
 Get block00 of the stabilization matrix. More...
 
matrixPtr_Type const & block_01 () const
 Get block01 of the stabilization matrix. More...
 
matrixPtr_Type const & block_10 () const
 Get block10 of the stabilization matrix. More...
 
matrixPtr_Type const & block_11 () const
 Get block11 of the stabilization matrix. More...
 
std::string label ()
 Get name of stabilization being used. More...
 

Private Attributes

fespacePtr_Type M_uFESpace
 finite element spaces for velocity and pressure More...
 
fespacePtr_Type M_pFESpace
 
ETFESpacePtr_velocity M_fespaceUETA
 
ETFESpacePtr_pressure M_fespacePETA
 
std::shared_ptr< Epetra_Comm > M_comm
 Epetra communicator. More...
 
Real M_viscosity
 fluid dynamic viscosity $\nu$ More...
 
Real M_density
 fluid density $\nu$ More...
 
Real M_timestep
 stabilization parameters for the momentum and continuity equations More...
 
bool M_flag_timestep
 
Real M_bdfOrder
 
Real M_alpha
 
Real M_C_I
 
graphPtr_Type M_graph_block00
 
graphPtr_Type M_graph_block01
 
graphPtr_Type M_graph_block10
 
graphPtr_Type M_graph_block11
 
matrixPtr_Type M_block_00
 
matrixPtr_Type M_block_01
 
matrixPtr_Type M_block_10
 
matrixPtr_Type M_block_11
 
bool M_useGraph
 
std::string M_label
 
bool M_useODEfineScale
 
std::shared_ptr< TimeAndExtrapolationHandlerQuadPts< 3 > > M_handlerFineScaleVelocity
 
std::vector< std::vector< VectorSmall< 3 > > > M_fineScaleVelocityRhs
 
std::vector< std::vector< VectorSmall< 3 > > > M_fineScaleVelocity
 
std::vector< std::vector< VectorSmall< 1 > > > M_fineScalePressure
 
vectorPtr_Type M_rhsVelocity
 
vectorPtr_Type M_fineVelocity
 
vectorPtr_Type M_finePressure
 

Additional Inherited Members

- Public Types inherited from Stabilization
typedef RegionMesh< LinearTetramesh_Type
 
typedef MapEpetra map_Type
 
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef FESpace< mesh_Type, map_Typefespace_Type
 
typedef std::shared_ptr< fespace_TypefespacePtr_Type
 
typedef ETFESpace< mesh_Type, map_Type, 3, 3 > ETFESpace_velocity
 
typedef ETFESpace< mesh_Type, map_Type, 3, 1 > ETFESpace_pressure
 
typedef std::shared_ptr< ETFESpace_velocityETFESpacePtr_velocity
 
typedef std::shared_ptr< ETFESpace_pressureETFESpacePtr_pressure
 

Detailed Description

Definition at line 84 of file StabilizationSUPG_semi_implicit.hpp.

Member Typedef Documentation

◆ mesh_Type

◆ map_Type

Definition at line 91 of file StabilizationSUPG_semi_implicit.hpp.

◆ vector_Type

Definition at line 93 of file StabilizationSUPG_semi_implicit.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type

Definition at line 94 of file StabilizationSUPG_semi_implicit.hpp.

◆ matrix_Type

Definition at line 96 of file StabilizationSUPG_semi_implicit.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 97 of file StabilizationSUPG_semi_implicit.hpp.

◆ fespace_Type

◆ fespacePtr_Type

typedef std::shared_ptr< fespace_Type > fespacePtr_Type

Definition at line 100 of file StabilizationSUPG_semi_implicit.hpp.

◆ ETFESpace_velocity

◆ ETFESpace_pressure

◆ ETFESpacePtr_velocity

typedef std::shared_ptr<ETFESpace_velocity > ETFESpacePtr_velocity

Definition at line 105 of file StabilizationSUPG_semi_implicit.hpp.

◆ ETFESpacePtr_pressure

typedef std::shared_ptr<ETFESpace_pressure > ETFESpacePtr_pressure

Definition at line 106 of file StabilizationSUPG_semi_implicit.hpp.

◆ graph_Type

typedef Epetra_FECrsGraph graph_Type

Definition at line 108 of file StabilizationSUPG_semi_implicit.hpp.

◆ graphPtr_Type

typedef std::shared_ptr<Epetra_FECrsGraph> graphPtr_Type

Definition at line 109 of file StabilizationSUPG_semi_implicit.hpp.

Constructor & Destructor Documentation

◆ StabilizationSUPG_semi_implicit()

Default Constructor.

Definition at line 20 of file StabilizationSUPG_semi_implicit.cpp.

+ Here is the caller graph for this function:

◆ ~StabilizationSUPG_semi_implicit()

virtual ~StabilizationSUPG_semi_implicit ( )
inlinevirtual

~Destructor

Definition at line 119 of file StabilizationSUPG_semi_implicit.hpp.

Member Function Documentation

◆ apply_matrix()

void apply_matrix ( const vector_Type velocityExtrapolated)
virtual

Updates the system matrix in Navier-Stokes simulations in fixed coordinates.

Parameters
velocityExtrapolatedextrapolation of the fluid velocity

Reimplemented from Stabilization.

Definition at line 40 of file StabilizationSUPG_semi_implicit.cpp.

◆ apply_vector()

void apply_vector ( vectorPtr_Type rhs_velocity,
vectorPtr_Type rhs_pressure,
const vector_Type velocityExtrapolated,
const vector_Type velocity_rhs 
)
virtual

Adds to the right hand side the contribution coming from the SUPG stabilization.

Parameters
rhs_velocityvelocity component of the right hand side
rhs_pressurepressure component of the right hand side
velocity_extrapolatedvelocity extrapolated
velocity_rhsvelocity term from approximation time derivative

Reimplemented from Stabilization.

Definition at line 129 of file StabilizationSUPG_semi_implicit.cpp.

◆ setVelocitySpace()

void setVelocitySpace ( fespacePtr_Type  velocityFESpace)
inlinevirtual

Set FE space for velocity.

Parameters
velocityFESpaceFE space for velocity

Implements Stabilization.

Definition at line 143 of file StabilizationSUPG_semi_implicit.hpp.

◆ setPressureSpace()

void setPressureSpace ( fespacePtr_Type  pressureFESpace)
inlinevirtual

Set Expression Template FE space for velocity.

Parameters
pressureFESpaceFE space for pressure

Implements Stabilization.

Definition at line 145 of file StabilizationSUPG_semi_implicit.hpp.

◆ setConstant()

void setConstant ( const int &  value)
virtual

Set the constant C_I for the supg.

Implements Stabilization.

Definition at line 29 of file StabilizationSUPG_semi_implicit.cpp.

◆ setDensity()

void setDensity ( const Real density)
inlinevirtual

Set the fluid density.

Implements Stabilization.

Definition at line 151 of file StabilizationSUPG_semi_implicit.hpp.

◆ setBDForder()

void setBDForder ( const Real bdfOrder)
inlinevirtual

Set the bdf order.

Implements Stabilization.

Definition at line 154 of file StabilizationSUPG_semi_implicit.hpp.

◆ setAlpha()

void setAlpha ( const Real alpha)
inlinevirtual

Set the bdf order.

Implements Stabilization.

Definition at line 157 of file StabilizationSUPG_semi_implicit.hpp.

◆ setViscosity()

void setViscosity ( const Real viscosity)
inlinevirtual

Set the fluid dynamic viscosity.

Implements Stabilization.

Definition at line 160 of file StabilizationSUPG_semi_implicit.hpp.

◆ setCommunicator()

void setCommunicator ( std::shared_ptr< Epetra_Comm >  comm)
inlinevirtual

Set the Epetra communicator.

Implements Stabilization.

Definition at line 163 of file StabilizationSUPG_semi_implicit.hpp.

◆ setTimeStep()

void setTimeStep ( const Real timestep)
inlinevirtual

Set the time step size.

Implements Stabilization.

Definition at line 166 of file StabilizationSUPG_semi_implicit.hpp.

◆ setETvelocitySpace()

void setETvelocitySpace ( const ETFESpacePtr_velocity velocityEta_fespace)
inlinevirtual

Set Expression Template FE space for velocity.

Parameters
velocityEta_fespaceExpression Template FE space for velocity

Implements Stabilization.

Definition at line 168 of file StabilizationSUPG_semi_implicit.hpp.

◆ setETpressureSpace()

void setETpressureSpace ( const ETFESpacePtr_pressure pressureEta_fespace)
inlinevirtual

Set Expression Template FE space for velocity.

Parameters
pressureEta_fespaceExpression Template FE space for pressure

Implements Stabilization.

Definition at line 170 of file StabilizationSUPG_semi_implicit.hpp.

◆ setUseGraph()

void setUseGraph ( const bool &  )
inlinevirtual

Set if using the graph.

Parameters
useGraphtrue it uses the graph, false it does not use the graph

Reimplemented from Stabilization.

Definition at line 172 of file StabilizationSUPG_semi_implicit.hpp.

◆ block_00()

matrixPtr_Type const& block_00 ( ) const
inlinevirtual

Get block00 of the stabilization matrix.

Implements Stabilization.

Definition at line 177 of file StabilizationSUPG_semi_implicit.hpp.

◆ block_01()

matrixPtr_Type const& block_01 ( ) const
inlinevirtual

Get block01 of the stabilization matrix.

Implements Stabilization.

Definition at line 182 of file StabilizationSUPG_semi_implicit.hpp.

◆ block_10()

matrixPtr_Type const& block_10 ( ) const
inlinevirtual

Get block10 of the stabilization matrix.

Implements Stabilization.

Definition at line 187 of file StabilizationSUPG_semi_implicit.hpp.

◆ block_11()

matrixPtr_Type const& block_11 ( ) const
inlinevirtual

Get block11 of the stabilization matrix.

Implements Stabilization.

Definition at line 192 of file StabilizationSUPG_semi_implicit.hpp.

◆ label()

std::string label ( )
inlinevirtual

Get name of stabilization being used.

Implements Stabilization.

Definition at line 197 of file StabilizationSUPG_semi_implicit.hpp.

Field Documentation

◆ M_uFESpace

fespacePtr_Type M_uFESpace
private

finite element spaces for velocity and pressure

Definition at line 207 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_pFESpace

fespacePtr_Type M_pFESpace
private

Definition at line 208 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_fespaceUETA

ETFESpacePtr_velocity M_fespaceUETA
private

Definition at line 210 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_fespacePETA

ETFESpacePtr_pressure M_fespacePETA
private

Definition at line 211 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_comm

std::shared_ptr<Epetra_Comm> M_comm
private

Epetra communicator.

Definition at line 214 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_viscosity

Real M_viscosity
private

fluid dynamic viscosity $\nu$

Definition at line 217 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_density

Real M_density
private

fluid density $\nu$

Definition at line 220 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_timestep

Real M_timestep
private

stabilization parameters for the momentum and continuity equations

Definition at line 223 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_flag_timestep

bool M_flag_timestep
private

Definition at line 224 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_bdfOrder

Real M_bdfOrder
private

Definition at line 225 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_alpha

Real M_alpha
private

Definition at line 226 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_C_I

Real M_C_I
private

Definition at line 228 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_graph_block00

graphPtr_Type M_graph_block00
private

Definition at line 231 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_graph_block01

graphPtr_Type M_graph_block01
private

Definition at line 232 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_graph_block10

graphPtr_Type M_graph_block10
private

Definition at line 233 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_graph_block11

graphPtr_Type M_graph_block11
private

Definition at line 234 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_block_00

matrixPtr_Type M_block_00
private

Definition at line 237 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_block_01

matrixPtr_Type M_block_01
private

Definition at line 238 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_block_10

matrixPtr_Type M_block_10
private

Definition at line 239 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_block_11

matrixPtr_Type M_block_11
private

Definition at line 240 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_useGraph

bool M_useGraph
private

Definition at line 242 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_label

std::string M_label
private

Definition at line 244 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_useODEfineScale

bool M_useODEfineScale
private

Definition at line 246 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_handlerFineScaleVelocity

std::shared_ptr<TimeAndExtrapolationHandlerQuadPts<3> > M_handlerFineScaleVelocity
private

Definition at line 248 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_fineScaleVelocityRhs

std::vector<std::vector<VectorSmall<3> > > M_fineScaleVelocityRhs
private

Definition at line 250 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_fineScaleVelocity

std::vector<std::vector<VectorSmall<3> > > M_fineScaleVelocity
private

Definition at line 251 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_fineScalePressure

std::vector<std::vector<VectorSmall<1> > > M_fineScalePressure
private

Definition at line 252 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_rhsVelocity

vectorPtr_Type M_rhsVelocity
private

Definition at line 254 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_fineVelocity

vectorPtr_Type M_fineVelocity
private

Definition at line 255 of file StabilizationSUPG_semi_implicit.hpp.

◆ M_finePressure

vectorPtr_Type M_finePressure
private

Definition at line 256 of file StabilizationSUPG_semi_implicit.hpp.


The documentation for this class was generated from the following files: