LifeV
Stabilization Class Referenceabstract

#include <Stabilization.hpp>

+ Inheritance diagram for Stabilization:

Public Types

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
 

Public Member Functions

 Stabilization ()
 
virtual ~Stabilization ()
 

Methods

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 &)
 Updates the system matrix in Navier-Stokes simulations in fixed coordinates. 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_vector (vectorPtr_Type &, vectorPtr_Type &, const vector_Type &, const vector_Type &)
 Adds to the right hand side the contribution coming from the SUPG stabilization. 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...
 

Setters

virtual void setConstant (const int &value)=0
 Set the constant C_I for the stabilization. More...
 
virtual void buildGraphs ()
 Build the graphs of each single block. More...
 
virtual void setDensity (const Real &density)=0
 Set the fluid density. More...
 
virtual void setBDForder (const Real &bdfOrder)=0
 Set the bdf order. More...
 
virtual void setAlpha (const Real &alpha)=0
 Set the alpha coefficient of the BDF scheme used. More...
 
virtual void setViscosity (const Real &viscosity)=0
 Set the fluid dynamic viscosity. More...
 
virtual void setCommunicator (std::shared_ptr< Epetra_Comm > comm)=0
 Set the Epetra communicator. More...
 
virtual void setTimeStep (const Real &timestep)=0
 Set the time step size. More...
 
virtual void setVelocitySpace (fespacePtr_Type velocityFESpace)=0
 Set FE space for velocity. More...
 
virtual void setPressureSpace (fespacePtr_Type pressureFESpace)=0
 Set Expression Template FE space for velocity. More...
 
virtual void setETvelocitySpace (const ETFESpacePtr_velocity &velocityEta_fespace)=0
 Set Expression Template FE space for velocity. More...
 
virtual void setETpressureSpace (const ETFESpacePtr_pressure &pressureEta_fespace)=0
 Set Expression Template FE space for velocity. More...
 
virtual void setUseGraph (const bool &)
 Set if using the graph. 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...
 

Getters

virtual matrixPtr_Type const & block_00 () const =0
 Get block00 of the stabilization matrix. More...
 
virtual matrixPtr_Type const & block_01 () const =0
 Get block01 of the stabilization matrix. More...
 
virtual matrixPtr_Type const & block_10 () const =0
 Get block10 of the stabilization matrix. More...
 
virtual matrixPtr_Type const & block_11 () const =0
 Get block11 of the stabilization matrix. More...
 
virtual std::string label ()=0
 Get name of stabilization being used. 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...
 

Private methods

virtual void setupODEfineScale ()
 Setup of the fine scale component. More...
 
virtual void computeFineScales (const vectorPtr_Type &, const vectorPtr_Type &, const vectorPtr_Type &)
 Compute the fine component of the velocity and pressure. More...
 
virtual void computeFineScalesForVisualization (const vectorPtr_Type &, const vectorPtr_Type &, const vectorPtr_Type &)
 Compute the fine component of the velocity and pressure for visualization. More...
 

Detailed Description

Definition at line 56 of file Stabilization.hpp.

Member Typedef Documentation

◆ mesh_Type

Definition at line 60 of file Stabilization.hpp.

◆ map_Type

Definition at line 61 of file Stabilization.hpp.

◆ vector_Type

Definition at line 63 of file Stabilization.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type

Definition at line 64 of file Stabilization.hpp.

◆ matrix_Type

Definition at line 66 of file Stabilization.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 67 of file Stabilization.hpp.

◆ fespace_Type

Definition at line 69 of file Stabilization.hpp.

◆ fespacePtr_Type

typedef std::shared_ptr< fespace_Type > fespacePtr_Type

Definition at line 70 of file Stabilization.hpp.

◆ ETFESpace_velocity

Definition at line 72 of file Stabilization.hpp.

◆ ETFESpace_pressure

Definition at line 73 of file Stabilization.hpp.

◆ ETFESpacePtr_velocity

typedef std::shared_ptr<ETFESpace_velocity > ETFESpacePtr_velocity

Definition at line 75 of file Stabilization.hpp.

◆ ETFESpacePtr_pressure

typedef std::shared_ptr<ETFESpace_pressure > ETFESpacePtr_pressure

Definition at line 76 of file Stabilization.hpp.

Constructor & Destructor Documentation

◆ Stabilization()

Stabilization ( )
inline

Definition at line 304 of file Stabilization.hpp.

◆ ~Stabilization()

~Stabilization ( )
inlinevirtual

Definition at line 308 of file Stabilization.hpp.

Member Function Documentation

◆ apply_vector() [1/3]

virtual void apply_vector ( vectorPtr_Type ,
vectorPtr_Type ,
const vector_Type ,
const vector_Type ,
const vector_Type  
)
inlinevirtual

Adds to the residual the contribution coming from the SUPG stabilization.

Parameters
residual_velocityvelocity component of the residual
residual_pressurepressure component of the residual
velocity_previous_newton_stepvelocity from the previous Newton step
pressure_previous_newton_steppressure from the previous Newton step
velocity_rhsvelocity term from approximation time derivative

Reimplemented in StabilizationSUPG, and StabilizationSUPG_semi_implicit_ale.

Definition at line 94 of file Stabilization.hpp.

◆ apply_matrix() [1/4]

virtual void apply_matrix ( const vector_Type )
inlinevirtual

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

Parameters
velocityExtrapolatedextrapolation of the fluid velocity

Reimplemented in StabilizationSUPG_semi_implicit.

Definition at line 105 of file Stabilization.hpp.

◆ apply_matrix() [2/4]

virtual void apply_matrix ( const vector_Type ,
const vector_Type  
)
inlinevirtual

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

Parameters
velocityExtrapolatedextrapolation of the fluid velocity
velocityALEALE velocity

Reimplemented in StabilizationSUPG_semi_implicit_ale.

Definition at line 113 of file Stabilization.hpp.

◆ apply_vector() [2/3]

virtual void apply_vector ( vectorPtr_Type ,
vectorPtr_Type ,
const vector_Type ,
const vector_Type  
)
inlinevirtual

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 in StabilizationSUPG_semi_implicit.

Definition at line 124 of file Stabilization.hpp.

◆ apply_matrix() [3/4]

virtual void apply_matrix ( const vector_Type ,
const vector_Type ,
const vector_Type  
)
inlinevirtual

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

Parameters
velocityExtrapolatedextrapolation of the fluid velocity
pressureExtrapolatedextrapolation of the fluid pressure
velocity_rhsvelocity term from approximation time derivative

Reimplemented in StabilizationSUPG.

Definition at line 136 of file Stabilization.hpp.

◆ apply_matrix() [4/4]

virtual void apply_matrix ( const vector_Type ,
const vector_Type ,
const vector_Type ,
const vector_Type  
)
inlinevirtual

Updates the jacobian matrix in Navier-Stokes simulations in ALE coordinates.

Parameters
convective_velocity_previous_newton_stepconvective velocity from the previous Newton step
velocity_previous_newton_stepvelocity from the previous Newton step
pressure_previous_newton_steppressure from the previous Newton step
velocity_rhsvelocity term from approximation time derivative

Reimplemented in StabilizationSUPGALE.

Definition at line 147 of file Stabilization.hpp.

◆ apply_vector() [3/3]

virtual void apply_vector ( vectorPtr_Type ,
vectorPtr_Type ,
const vector_Type ,
const vector_Type ,
const vector_Type ,
const vector_Type  
)
inlinevirtual

Adds to the residual the contribution coming from the SUPG stabilization.

Parameters
residual_velocityvelocity component of the residual
residual_pressurepressure component of the residual
convective_velocity_previous_newton_stepconvective velocity from the previous Newton step
velocity_previous_newton_stepvelocity from the previous Newton step
pressure_previous_newton_steppressure from the previous Newton step
velocity_rhsvelocity term from approximation time derivative

Reimplemented in StabilizationSUPGALE.

Definition at line 162 of file Stabilization.hpp.

◆ setConstant()

virtual void setConstant ( const int &  value)
pure virtual

Set the constant C_I for the stabilization.

Parameters
valueorder of FE used for velocity

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ buildGraphs()

virtual void buildGraphs ( )
inlinevirtual

Build the graphs of each single block.

Reimplemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, and StabilizationSUPGALE.

Definition at line 181 of file Stabilization.hpp.

◆ setDensity()

virtual void setDensity ( const Real density)
pure virtual

Set the fluid density.

Parameters
valueorder of FE used for velocity

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setBDForder()

virtual void setBDForder ( const Real bdfOrder)
pure virtual

Set the bdf order.

Parameters
bdfOrderorder of BDF scheme used

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setAlpha()

virtual void setAlpha ( const Real alpha)
pure virtual

Set the alpha coefficient of the BDF scheme used.

Parameters
alphacoefficient BDF in front of u^{n+1}

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setViscosity()

virtual void setViscosity ( const Real viscosity)
pure virtual

Set the fluid dynamic viscosity.

Parameters
viscosityvalue of fluid viscosity

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setCommunicator()

virtual void setCommunicator ( std::shared_ptr< Epetra_Comm >  comm)
pure virtual

Set the Epetra communicator.

Parameters
commEpetra communicator

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setTimeStep()

virtual void setTimeStep ( const Real timestep)
pure virtual

Set the time step size.

Parameters
timesteptime step size

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setVelocitySpace()

virtual void setVelocitySpace ( fespacePtr_Type  velocityFESpace)
pure virtual

Set FE space for velocity.

Parameters
velocityFESpaceFE space for velocity

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setPressureSpace()

virtual void setPressureSpace ( fespacePtr_Type  pressureFESpace)
pure virtual

Set Expression Template FE space for velocity.

Parameters
pressureFESpaceFE space for pressure

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setETvelocitySpace()

virtual void setETvelocitySpace ( const ETFESpacePtr_velocity velocityEta_fespace)
pure virtual

Set Expression Template FE space for velocity.

Parameters
velocityEta_fespaceExpression Template FE space for velocity

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setETpressureSpace()

virtual void setETpressureSpace ( const ETFESpacePtr_pressure pressureEta_fespace)
pure virtual

Set Expression Template FE space for velocity.

Parameters
pressureEta_fespaceExpression Template FE space for pressure

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ setUseGraph()

virtual void setUseGraph ( const bool &  )
inlinevirtual

Set if using the graph.

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

Reimplemented in StabilizationSUPG, StabilizationSUPGALE, StabilizationSUPG_semi_implicit_ale, and StabilizationSUPG_semi_implicit.

Definition at line 247 of file Stabilization.hpp.

◆ setUseODEfineScale()

virtual void setUseODEfineScale ( const bool &  )
inlinevirtual

Set if using dynamic fine scale model.

Reimplemented in StabilizationSUPG_semi_implicit_ale.

Definition at line 250 of file Stabilization.hpp.

◆ setExportFineScaleVelocity()

virtual void setExportFineScaleVelocity ( ExporterHDF5< mesh_Type > &  ,
const int &   
)
inlinevirtual

Set if the user wants to export the fine scale component.

Reimplemented in StabilizationSUPG_semi_implicit_ale.

Definition at line 253 of file Stabilization.hpp.

◆ setFastAssembler()

virtual void setFastAssembler ( std::shared_ptr< FastAssemblerNS > &  )
inlinevirtual

Set if using the fast assembler.

Definition at line 256 of file Stabilization.hpp.

◆ block_00()

virtual matrixPtr_Type const& block_00 ( ) const
pure virtual

Get block00 of the stabilization matrix.

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ block_01()

virtual matrixPtr_Type const& block_01 ( ) const
pure virtual

Get block01 of the stabilization matrix.

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ block_10()

virtual matrixPtr_Type const& block_10 ( ) const
pure virtual

Get block10 of the stabilization matrix.

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ block_11()

virtual matrixPtr_Type const& block_11 ( ) const
pure virtual

Get block11 of the stabilization matrix.

Implemented in StabilizationSUPG, StabilizationSUPG_semi_implicit_ale, StabilizationSUPGALE, and StabilizationSUPG_semi_implicit.

◆ label()

virtual std::string label ( )
pure virtual

◆ updateODEfineScale() [1/2]

virtual void updateODEfineScale ( const vectorPtr_Type ,
const vectorPtr_Type  
)
inlinevirtual

Updates the fine scale component.

Reimplemented in StabilizationSUPG_semi_implicit_ale.

Definition at line 279 of file Stabilization.hpp.

◆ updateODEfineScale() [2/2]

virtual void updateODEfineScale ( const vectorPtr_Type ,
const vectorPtr_Type ,
const vectorPtr_Type  
)
inlinevirtual

Updates the fine scale component.

Definition at line 282 of file Stabilization.hpp.

◆ setupODEfineScale()

virtual void setupODEfineScale ( )
inlineprivatevirtual

Setup of the fine scale component.

Reimplemented in StabilizationSUPG_semi_implicit_ale.

Definition at line 292 of file Stabilization.hpp.

◆ computeFineScales()

virtual void computeFineScales ( const vectorPtr_Type ,
const vectorPtr_Type ,
const vectorPtr_Type  
)
inlineprivatevirtual

Compute the fine component of the velocity and pressure.

Definition at line 295 of file Stabilization.hpp.

◆ computeFineScalesForVisualization()

virtual void computeFineScalesForVisualization ( const vectorPtr_Type ,
const vectorPtr_Type ,
const vectorPtr_Type  
)
inlineprivatevirtual

Compute the fine component of the velocity and pressure for visualization.

Definition at line 298 of file Stabilization.hpp.


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