LifeV
StabilizationSUPG Class Reference

#include <StabilizationSUPG.hpp>

+ Inheritance diagram for StabilizationSUPG:
+ Collaboration diagram for StabilizationSUPG:
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 ()
 Default Constructor. More...
 
virtual ~StabilizationSUPG ()
 ~Destructor More...
 

Methods

void apply_matrix (const vector_Type &velocity_previous_newton_step, const vector_Type &pressure_previous_newton_step, const vector_Type &velocity_rhs)
 Updates the jacobian matrix. More...
 
void apply_vector (vectorPtr_Type &residual_velocity, vectorPtr_Type &residual_pressure, 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. More...
 
void buildGraphs ()
 Build the graphs of each single block. More...
 

Setters

void setVelocitySpace (fespacePtr_Type velocityFESpace)
 Set velocity FE space. More...
 
void setPressureSpace (fespacePtr_Type pressureFESpace)
 Set pressure FE space. 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 pressure. More...
 
void setUseGraph (const bool &useGraph)
 Set if using matrix graph. 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 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
 

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
 
- Public Member Functions inherited from Stabilization
 Stabilization ()
 
virtual ~Stabilization ()
 
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 &, 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 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...
 

Detailed Description

Definition at line 96 of file StabilizationSUPG.hpp.

Member Typedef Documentation

◆ mesh_Type

Definition at line 103 of file StabilizationSUPG.hpp.

◆ map_Type

Definition at line 104 of file StabilizationSUPG.hpp.

◆ vector_Type

Definition at line 106 of file StabilizationSUPG.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type

Definition at line 107 of file StabilizationSUPG.hpp.

◆ matrix_Type

Definition at line 109 of file StabilizationSUPG.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 110 of file StabilizationSUPG.hpp.

◆ fespace_Type

Definition at line 112 of file StabilizationSUPG.hpp.

◆ fespacePtr_Type

typedef std::shared_ptr< fespace_Type > fespacePtr_Type

Definition at line 113 of file StabilizationSUPG.hpp.

◆ ETFESpace_velocity

Definition at line 115 of file StabilizationSUPG.hpp.

◆ ETFESpace_pressure

Definition at line 116 of file StabilizationSUPG.hpp.

◆ ETFESpacePtr_velocity

typedef std::shared_ptr<ETFESpace_velocity > ETFESpacePtr_velocity

Definition at line 118 of file StabilizationSUPG.hpp.

◆ ETFESpacePtr_pressure

typedef std::shared_ptr<ETFESpace_pressure > ETFESpacePtr_pressure

Definition at line 119 of file StabilizationSUPG.hpp.

◆ graph_Type

typedef Epetra_FECrsGraph graph_Type

Definition at line 121 of file StabilizationSUPG.hpp.

◆ graphPtr_Type

typedef std::shared_ptr<Epetra_FECrsGraph> graphPtr_Type

Definition at line 122 of file StabilizationSUPG.hpp.

Constructor & Destructor Documentation

◆ StabilizationSUPG()

Default Constructor.

Definition at line 20 of file StabilizationSUPG.cpp.

+ Here is the caller graph for this function:

◆ ~StabilizationSUPG()

virtual ~StabilizationSUPG ( )
inlinevirtual

~Destructor

Definition at line 133 of file StabilizationSUPG.hpp.

Member Function Documentation

◆ apply_matrix()

void apply_matrix ( const vector_Type velocity_previous_newton_step,
const vector_Type pressure_previous_newton_step,
const vector_Type velocity_rhs 
)
virtual

Updates the jacobian matrix.

Parameters
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 from Stabilization.

Definition at line 139 of file StabilizationSUPG.cpp.

◆ apply_vector()

void apply_vector ( vectorPtr_Type residual_velocity,
vectorPtr_Type residual_pressure,
const vector_Type velocity_previous_newton_step,
const vector_Type pressure_previous_newton_step,
const vector_Type velocity_rhs 
)
virtual

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 from Stabilization.

Definition at line 224 of file StabilizationSUPG.cpp.

◆ buildGraphs()

void buildGraphs ( )
virtual

Build the graphs of each single block.

Reimplemented from Stabilization.

Definition at line 39 of file StabilizationSUPG.cpp.

◆ setVelocitySpace()

void setVelocitySpace ( fespacePtr_Type  velocityFESpace)
inlinevirtual

Set velocity FE space.

Parameters
velocityFESpaceFE space velocity

Implements Stabilization.

Definition at line 176 of file StabilizationSUPG.hpp.

◆ setPressureSpace()

void setPressureSpace ( fespacePtr_Type  pressureFESpace)
inlinevirtual

Set pressure FE space.

Parameters
pressureFESpaceFE space velocity

Implements Stabilization.

Definition at line 182 of file StabilizationSUPG.hpp.

◆ setConstant()

void setConstant ( const int &  value)
virtual

Set the constant C_I for the supg.

Parameters
valueorder of velocity FE degree used

Implements Stabilization.

Definition at line 29 of file StabilizationSUPG.cpp.

◆ setDensity()

void setDensity ( const Real density)
inlinevirtual

Set the fluid density.

Parameters
densityvalue of density

Implements Stabilization.

Definition at line 194 of file StabilizationSUPG.hpp.

◆ setBDForder()

void setBDForder ( const Real bdfOrder)
inlinevirtual

Set the bdf order.

Parameters
bdfOrderorder BDF scheme

Implements Stabilization.

Definition at line 200 of file StabilizationSUPG.hpp.

◆ setAlpha()

void setAlpha ( const Real alpha)
inlinevirtual

Set the bdf order.

Parameters
alphavalue of alpha (coefficient in front of u^n+1) of the BDF scheme

Implements Stabilization.

Definition at line 206 of file StabilizationSUPG.hpp.

◆ setViscosity()

void setViscosity ( const Real viscosity)
inlinevirtual

Set the fluid dynamic viscosity.

Parameters
viscosityvalue of the dynamic viscosity

Implements Stabilization.

Definition at line 212 of file StabilizationSUPG.hpp.

◆ setCommunicator()

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

Set the Epetra communicator.

Parameters
commcommunicator

Implements Stabilization.

Definition at line 218 of file StabilizationSUPG.hpp.

◆ setTimeStep()

void setTimeStep ( const Real timestep)
inlinevirtual

Set the time step size.

Parameters
timesteptime step size

Implements Stabilization.

Definition at line 224 of file StabilizationSUPG.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 230 of file StabilizationSUPG.hpp.

◆ setETpressureSpace()

void setETpressureSpace ( const ETFESpacePtr_pressure pressureEta_fespace)
inlinevirtual

Set Expression Template FE space for pressure.

Parameters
pressureEta_fespaceExpression Template FE space for pressure

Implements Stabilization.

Definition at line 236 of file StabilizationSUPG.hpp.

◆ setUseGraph()

void setUseGraph ( const bool &  useGraph)
inlinevirtual

Set if using matrix graph.

Parameters
useGraphtrue or false

Reimplemented from Stabilization.

Definition at line 242 of file StabilizationSUPG.hpp.

◆ block_00()

matrixPtr_Type const& block_00 ( ) const
inlinevirtual

Get block00 of the stabilization matrix.

Returns
M_block_00 block00 of the stabilization matrix

Implements Stabilization.

Definition at line 253 of file StabilizationSUPG.hpp.

◆ block_01()

matrixPtr_Type const& block_01 ( ) const
inlinevirtual

Get block01 of the stabilization matrix.

Returns
M_block_01 block01 of the stabilization matrix

Implements Stabilization.

Definition at line 262 of file StabilizationSUPG.hpp.

◆ block_10()

matrixPtr_Type const& block_10 ( ) const
inlinevirtual

Get block10 of the stabilization matrix.

Returns
M_block_10 block10 of the stabilization matrix

Implements Stabilization.

Definition at line 271 of file StabilizationSUPG.hpp.

◆ block_11()

matrixPtr_Type const& block_11 ( ) const
inlinevirtual

Get block11 of the stabilization matrix.

Returns
M_block_11 block11 of the stabilization matrix

Implements Stabilization.

Definition at line 280 of file StabilizationSUPG.hpp.

◆ label()

std::string label ( )
inlinevirtual

Get name of stabilization used.

Returns
M_label name of stabilization used

Implements Stabilization.

Definition at line 289 of file StabilizationSUPG.hpp.

Field Documentation

◆ M_uFESpace

fespacePtr_Type M_uFESpace
private

finite element spaces for velocity and pressure

Definition at line 299 of file StabilizationSUPG.hpp.

◆ M_pFESpace

fespacePtr_Type M_pFESpace
private

Definition at line 300 of file StabilizationSUPG.hpp.

◆ M_fespaceUETA

ETFESpacePtr_velocity M_fespaceUETA
private

Definition at line 302 of file StabilizationSUPG.hpp.

◆ M_fespacePETA

ETFESpacePtr_pressure M_fespacePETA
private

Definition at line 303 of file StabilizationSUPG.hpp.

◆ M_comm

std::shared_ptr<Epetra_Comm> M_comm
private

Epetra communicator.

Definition at line 306 of file StabilizationSUPG.hpp.

◆ M_viscosity

Real M_viscosity
private

fluid dynamic viscosity $\nu$

Definition at line 309 of file StabilizationSUPG.hpp.

◆ M_density

Real M_density
private

fluid density $\nu$

Definition at line 312 of file StabilizationSUPG.hpp.

◆ M_timestep

Real M_timestep
private

stabilization parameters for the momentum and continuity equations

Definition at line 315 of file StabilizationSUPG.hpp.

◆ M_flag_timestep

bool M_flag_timestep
private

Definition at line 316 of file StabilizationSUPG.hpp.

◆ M_bdfOrder

Real M_bdfOrder
private

Definition at line 317 of file StabilizationSUPG.hpp.

◆ M_alpha

Real M_alpha
private

Definition at line 318 of file StabilizationSUPG.hpp.

◆ M_C_I

Real M_C_I
private

Definition at line 320 of file StabilizationSUPG.hpp.

◆ M_graph_block00

graphPtr_Type M_graph_block00
private

Definition at line 323 of file StabilizationSUPG.hpp.

◆ M_graph_block01

graphPtr_Type M_graph_block01
private

Definition at line 324 of file StabilizationSUPG.hpp.

◆ M_graph_block10

graphPtr_Type M_graph_block10
private

Definition at line 325 of file StabilizationSUPG.hpp.

◆ M_graph_block11

graphPtr_Type M_graph_block11
private

Definition at line 326 of file StabilizationSUPG.hpp.

◆ M_block_00

matrixPtr_Type M_block_00
private

Definition at line 329 of file StabilizationSUPG.hpp.

◆ M_block_01

matrixPtr_Type M_block_01
private

Definition at line 330 of file StabilizationSUPG.hpp.

◆ M_block_10

matrixPtr_Type M_block_10
private

Definition at line 331 of file StabilizationSUPG.hpp.

◆ M_block_11

matrixPtr_Type M_block_11
private

Definition at line 332 of file StabilizationSUPG.hpp.

◆ M_useGraph

bool M_useGraph
private

Definition at line 334 of file StabilizationSUPG.hpp.

◆ M_label

std::string M_label
private

Definition at line 336 of file StabilizationSUPG.hpp.


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