LifeV
StabilizationSUPGALE Class Reference

#include <StabilizationSUPGALE.hpp>

+ Inheritance diagram for StabilizationSUPGALE:
+ Collaboration diagram for StabilizationSUPGALE:

Public Member Functions

void buildGraphs ()
 Build the graphs of each single block. More...
 
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. More...
 
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. 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...
 
- 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 &)
 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 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

 StabilizationSUPGALE ()
 Default Constructor. More...
 
virtual ~StabilizationSUPGALE ()
 ~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...
 
void setUseGraph (const bool &useGraph)
 Set if using the graph. 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
 

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 91 of file StabilizationSUPGALE.hpp.

Member Typedef Documentation

◆ mesh_Type

Definition at line 97 of file StabilizationSUPGALE.hpp.

◆ map_Type

Definition at line 98 of file StabilizationSUPGALE.hpp.

◆ vector_Type

Definition at line 100 of file StabilizationSUPGALE.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type

Definition at line 101 of file StabilizationSUPGALE.hpp.

◆ matrix_Type

Definition at line 103 of file StabilizationSUPGALE.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 104 of file StabilizationSUPGALE.hpp.

◆ fespace_Type

Definition at line 106 of file StabilizationSUPGALE.hpp.

◆ fespacePtr_Type

typedef std::shared_ptr< fespace_Type > fespacePtr_Type

Definition at line 107 of file StabilizationSUPGALE.hpp.

◆ ETFESpace_velocity

Definition at line 109 of file StabilizationSUPGALE.hpp.

◆ ETFESpace_pressure

Definition at line 110 of file StabilizationSUPGALE.hpp.

◆ ETFESpacePtr_velocity

typedef std::shared_ptr<ETFESpace_velocity > ETFESpacePtr_velocity

Definition at line 112 of file StabilizationSUPGALE.hpp.

◆ ETFESpacePtr_pressure

typedef std::shared_ptr<ETFESpace_pressure > ETFESpacePtr_pressure

Definition at line 113 of file StabilizationSUPGALE.hpp.

◆ graph_Type

typedef Epetra_FECrsGraph graph_Type

Definition at line 115 of file StabilizationSUPGALE.hpp.

◆ graphPtr_Type

typedef std::shared_ptr<Epetra_FECrsGraph> graphPtr_Type

Definition at line 116 of file StabilizationSUPGALE.hpp.

Constructor & Destructor Documentation

◆ StabilizationSUPGALE()

Default Constructor.

Definition at line 20 of file StabilizationSUPGALE.cpp.

+ Here is the caller graph for this function:

◆ ~StabilizationSUPGALE()

virtual ~StabilizationSUPGALE ( )
inlinevirtual

~Destructor

Definition at line 126 of file StabilizationSUPGALE.hpp.

Member Function Documentation

◆ buildGraphs()

void buildGraphs ( )
virtual

Build the graphs of each single block.

Reimplemented from Stabilization.

Definition at line 39 of file StabilizationSUPGALE.cpp.

◆ apply_matrix()

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 
)
virtual

Updates the jacobian matrix.

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

Definition at line 143 of file StabilizationSUPGALE.cpp.

◆ apply_vector()

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

Definition at line 230 of file StabilizationSUPGALE.cpp.

◆ setVelocitySpace()

void setVelocitySpace ( fespacePtr_Type  velocityFESpace)
inlinevirtual

Set FE space for velocity.

Parameters
velocityFESpaceFE space for velocity

Implements Stabilization.

Definition at line 161 of file StabilizationSUPGALE.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 163 of file StabilizationSUPGALE.hpp.

◆ setConstant()

void setConstant ( const int &  value)
virtual

Set the constant C_I for the supg.

Implements Stabilization.

Definition at line 29 of file StabilizationSUPGALE.cpp.

◆ setDensity()

void setDensity ( const Real density)
inlinevirtual

Set the fluid density.

Implements Stabilization.

Definition at line 169 of file StabilizationSUPGALE.hpp.

◆ setBDForder()

void setBDForder ( const Real bdfOrder)
inlinevirtual

Set the bdf order.

Implements Stabilization.

Definition at line 172 of file StabilizationSUPGALE.hpp.

◆ setAlpha()

void setAlpha ( const Real alpha)
inlinevirtual

Set the bdf order.

Implements Stabilization.

Definition at line 175 of file StabilizationSUPGALE.hpp.

◆ setViscosity()

void setViscosity ( const Real viscosity)
inlinevirtual

Set the fluid dynamic viscosity.

Implements Stabilization.

Definition at line 178 of file StabilizationSUPGALE.hpp.

◆ setCommunicator()

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

Set the Epetra communicator.

Implements Stabilization.

Definition at line 181 of file StabilizationSUPGALE.hpp.

◆ setTimeStep()

void setTimeStep ( const Real timestep)
inlinevirtual

Set the time step size.

Implements Stabilization.

Definition at line 184 of file StabilizationSUPGALE.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 186 of file StabilizationSUPGALE.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 188 of file StabilizationSUPGALE.hpp.

◆ block_00()

matrixPtr_Type const& block_00 ( ) const
inlinevirtual

Get block00 of the stabilization matrix.

Implements Stabilization.

Definition at line 193 of file StabilizationSUPGALE.hpp.

◆ block_01()

matrixPtr_Type const& block_01 ( ) const
inlinevirtual

Get block01 of the stabilization matrix.

Implements Stabilization.

Definition at line 198 of file StabilizationSUPGALE.hpp.

◆ block_10()

matrixPtr_Type const& block_10 ( ) const
inlinevirtual

Get block10 of the stabilization matrix.

Implements Stabilization.

Definition at line 203 of file StabilizationSUPGALE.hpp.

◆ block_11()

matrixPtr_Type const& block_11 ( ) const
inlinevirtual

Get block11 of the stabilization matrix.

Implements Stabilization.

Definition at line 208 of file StabilizationSUPGALE.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 213 of file StabilizationSUPGALE.hpp.

◆ label()

std::string label ( )
inlinevirtual

Get name of stabilization being used.

Implements Stabilization.

Definition at line 215 of file StabilizationSUPGALE.hpp.

Field Documentation

◆ M_uFESpace

fespacePtr_Type M_uFESpace
private

finite element spaces for velocity and pressure

Definition at line 225 of file StabilizationSUPGALE.hpp.

◆ M_pFESpace

fespacePtr_Type M_pFESpace
private

Definition at line 226 of file StabilizationSUPGALE.hpp.

◆ M_fespaceUETA

ETFESpacePtr_velocity M_fespaceUETA
private

Definition at line 228 of file StabilizationSUPGALE.hpp.

◆ M_fespacePETA

ETFESpacePtr_pressure M_fespacePETA
private

Definition at line 229 of file StabilizationSUPGALE.hpp.

◆ M_comm

std::shared_ptr<Epetra_Comm> M_comm
private

Epetra communicator.

Definition at line 232 of file StabilizationSUPGALE.hpp.

◆ M_viscosity

Real M_viscosity
private

fluid dynamic viscosity $\nu$

Definition at line 235 of file StabilizationSUPGALE.hpp.

◆ M_density

Real M_density
private

fluid density $\nu$

Definition at line 238 of file StabilizationSUPGALE.hpp.

◆ M_timestep

Real M_timestep
private

stabilization parameters for the momentum and continuity equations

Definition at line 241 of file StabilizationSUPGALE.hpp.

◆ M_flag_timestep

bool M_flag_timestep
private

Definition at line 242 of file StabilizationSUPGALE.hpp.

◆ M_bdfOrder

Real M_bdfOrder
private

Definition at line 243 of file StabilizationSUPGALE.hpp.

◆ M_alpha

Real M_alpha
private

Definition at line 244 of file StabilizationSUPGALE.hpp.

◆ M_C_I

Real M_C_I
private

Definition at line 246 of file StabilizationSUPGALE.hpp.

◆ M_graph_block00

graphPtr_Type M_graph_block00
private

Definition at line 249 of file StabilizationSUPGALE.hpp.

◆ M_graph_block01

graphPtr_Type M_graph_block01
private

Definition at line 250 of file StabilizationSUPGALE.hpp.

◆ M_graph_block10

graphPtr_Type M_graph_block10
private

Definition at line 251 of file StabilizationSUPGALE.hpp.

◆ M_graph_block11

graphPtr_Type M_graph_block11
private

Definition at line 252 of file StabilizationSUPGALE.hpp.

◆ M_block_00

matrixPtr_Type M_block_00
private

Definition at line 255 of file StabilizationSUPGALE.hpp.

◆ M_block_01

matrixPtr_Type M_block_01
private

Definition at line 256 of file StabilizationSUPGALE.hpp.

◆ M_block_10

matrixPtr_Type M_block_10
private

Definition at line 257 of file StabilizationSUPGALE.hpp.

◆ M_block_11

matrixPtr_Type M_block_11
private

Definition at line 258 of file StabilizationSUPGALE.hpp.

◆ M_useGraph

bool M_useGraph
private

Definition at line 260 of file StabilizationSUPGALE.hpp.

◆ M_label

std::string M_label
private

Definition at line 262 of file StabilizationSUPGALE.hpp.


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