LifeV
ALESolver Class Reference

#include <ALESolver.hpp>

+ Collaboration diagram for ALESolver:

Private Attributes

FESpace< mesh_Type, MapEpetra > & M_FESpace
 Finite Element Space. More...
 
MapEpetra M_localMap
 local map More...
 
matrixPtr_Type M_matrHE
 The matrix holding the values. More...
 
matrixPtr_Type M_matrHE_BC
 
matrixPtr_Type M_matrShapeDerVel
 The matrix holding the shape derivatives. More...
 
matrixPtr_Type M_matrShapeDerPressure
 
Displayer M_displayer
 
int M_me
 
bool M_verbose
 
MatrixElemental M_elmat
 Elementary matrix : 3 blocks. More...
 
vectorPtr_Type M_disp
 The actual extension of the displacement. More...
 
vectorPtr_Type M_secondRHS
 Auxiliary vector holding the second right hand of the system. More...
 
Real M_diffusion
 Diffusion coefficient for the laplacian operator. More...
 
UInt M_offset
 
bool M_linearElasticity
 
Real M_young
 
Real M_poisson
 
ETFESpaceAlePtr_Type M_aleFESpace_ETA
 

Public Types

typedef RegionMesh< LinearTetramesh_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef std::shared_ptr< matrix_TypematrixPtr_Type
 
typedef VectorEpetra vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 
typedef ETFESpace< mesh_Type, MapEpetra, 3, 3 > ETFESpaceAle_Type
 
typedef std::shared_ptr< ETFESpaceAle_TypeETFESpaceAlePtr_Type
 

Constructor & Destructor

 ALESolver (FESpace< mesh_Type, MapEpetra > &mmFESpace, std::shared_ptr< Epetra_Comm > comm)
 Constructors for an harmonics extensions. More...
 
 ALESolver (FESpace< mesh_Type, MapEpetra > &mmFESpace, std::shared_ptr< Epetra_Comm > comm, MapEpetra &localMap, UInt offset=0)
 Constructors for an harmonics extensions with offset. More...
 
virtual ~ALESolver ()
 virtual destructor More...
 

Methods

void setUp (const GetPot &dataFile)
 Set up data from GetPot. More...
 
void iterate (BCHandler &BCh)
 Update convective term, boundary condition and solve the linearized ns system. More...
 
bool isLeader () const
 returns wheter this processor is the leader. More...
 
void rescaleMatrix (Real &dt)
 manually rescale the system matrix by dt More...
 
matrixPtr_Type const & matrix () const
 
matrixPtr_Type const & matrix_noBC () const
 
void updateShapeDerivatives (Real &alpha, const Real &density, const Real &viscosity, const vector_Type &un, const vector_Type &uk, const vector_Type &w, FESpace< mesh_Type, MapEpetra > &velocityFESpace, FESpace< mesh_Type, MapEpetra > &pressureFESpace, bool wImplicit, bool convectiveTermDerivative, BCHandler &BCh)
 
matrixPtr_Type const & shapeDerivativesVelocity () const
 
matrixPtr_Type const & shapeDerivativesPressure () const
 
void addSystemMatrixTo (matrixPtr_Type matr) const
 Adds the system matrix to the argument. More...
 
void applyBoundaryConditions (vector_Type &rhs, BCHandler &BCh)
 Apply boundary conditions. More...
 
void applyBoundaryConditions (BCHandler &BCh)
 Apply boundary conditions to the matrix. More...
 
void computeMatrix ()
 
void updateDispDiff ()
 

Get Methods

vector_Type const & disp () const
 
vector_Typedisp ()
 
MapEpetra const & getMap () const
 
FESpace< mesh_Type, MapEpetra > const & mFESpace () const
 
const std::shared_ptr< Epetra_Comm > & comm () const
 

Detailed Description

Base class which provides the harmonic extension of a given displacement on a specified part of the mesh boundary

In order to deal with harmonic extensions, we have to provide a mesh (to be moved), the parameters involved in the laplacian discretization: viscosity, quadrature rules and boundary conditions. This class contains a PhysVectUnknown objet wich will hold the extension of the interface displacement. The constructor of the class built the global matrix of the discretized laplacian. The extension of the displacement is computed by calling the public method update. Finally, this extension can be recovered by calling method getDisplacement.

Definition at line 75 of file ALESolver.hpp.

Member Typedef Documentation

◆ mesh_Type

Definition at line 82 of file ALESolver.hpp.

◆ matrix_Type

Definition at line 83 of file ALESolver.hpp.

◆ matrixPtr_Type

typedef std::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 84 of file ALESolver.hpp.

◆ vector_Type

Definition at line 85 of file ALESolver.hpp.

◆ vectorPtr_Type

typedef std::shared_ptr<vector_Type> vectorPtr_Type

Definition at line 86 of file ALESolver.hpp.

◆ ETFESpaceAle_Type

Definition at line 87 of file ALESolver.hpp.

◆ ETFESpaceAlePtr_Type

typedef std::shared_ptr<ETFESpaceAle_Type> ETFESpaceAlePtr_Type

Definition at line 88 of file ALESolver.hpp.

Constructor & Destructor Documentation

◆ ALESolver() [1/2]

ALESolver ( FESpace< mesh_Type, MapEpetra > &  mmFESpace,
std::shared_ptr< Epetra_Comm >  comm 
)

Constructors for an harmonics extensions.

Parameters
mmFESpacethe FEspace that describes the problem
commthe Epetra_Comm to be used for communication

Definition at line 12 of file ALESolver.cpp.

◆ ALESolver() [2/2]

ALESolver ( FESpace< mesh_Type, MapEpetra > &  mmFESpace,
std::shared_ptr< Epetra_Comm >  comm,
MapEpetra localMap,
UInt  offset = 0 
)

Constructors for an harmonics extensions with offset.

Parameters
mmFESpacethe FEspace that describes the problem
commthe Epetra_Comm to be used for communication
localMapuse localMap instead of M_FESpace.map()
offsetuse this offset to fill the matrix (both: row and column offset)

Definition at line 31 of file ALESolver.cpp.

◆ ~ALESolver()

virtual ~ALESolver ( )
inlinevirtual

virtual destructor

Definition at line 118 of file ALESolver.hpp.

Member Function Documentation

◆ setUp()

void setUp ( const GetPot dataFile)

Set up data from GetPot.

Parameters
dataFileGetPot object

Definition at line 56 of file ALESolver.cpp.

◆ iterate()

void iterate ( BCHandler BCh)

Update convective term, boundary condition and solve the linearized ns system.

Parameters
bcHandlerBC handler

Definition at line 72 of file ALESolver.cpp.

◆ isLeader()

bool isLeader ( ) const
inline

returns wheter this processor is the leader.

Definition at line 138 of file ALESolver.hpp.

◆ rescaleMatrix()

void rescaleMatrix ( Real dt)
inline

manually rescale the system matrix by dt

Definition at line 144 of file ALESolver.hpp.

◆ matrix()

matrixPtr_Type const& matrix ( ) const
inline

Definition at line 149 of file ALESolver.hpp.

◆ matrix_noBC()

matrixPtr_Type const& matrix_noBC ( ) const
inline

Definition at line 154 of file ALESolver.hpp.

◆ updateShapeDerivatives()

void updateShapeDerivatives ( Real alpha,
const Real density,
const Real viscosity,
const vector_Type un,
const vector_Type uk,
const vector_Type w,
FESpace< mesh_Type, MapEpetra > &  velocityFESpace,
FESpace< mesh_Type, MapEpetra > &  pressureFESpace,
bool  wImplicit,
bool  convectiveTermDerivative,
BCHandler BCh 
)

Definition at line 176 of file ALESolver.cpp.

◆ shapeDerivativesVelocity()

matrixPtr_Type const& shapeDerivativesVelocity ( ) const
inline

Definition at line 172 of file ALESolver.hpp.

◆ shapeDerivativesPressure()

matrixPtr_Type const& shapeDerivativesPressure ( ) const
inline

Definition at line 177 of file ALESolver.hpp.

◆ addSystemMatrixTo()

void addSystemMatrixTo ( matrixPtr_Type  matr) const
inline

Adds the system matrix to the argument.

Definition at line 183 of file ALESolver.hpp.

◆ applyBoundaryConditions() [1/2]

void applyBoundaryConditions ( vector_Type rhs,
BCHandler BCh 
)

Apply boundary conditions.

Parameters
rightHandSide
bcHandler

Definition at line 87 of file ALESolver.cpp.

◆ applyBoundaryConditions() [2/2]

void applyBoundaryConditions ( BCHandler BCh)

Apply boundary conditions to the matrix.

Parameters
bcHandler

Definition at line 110 of file ALESolver.cpp.

◆ computeMatrix()

void computeMatrix ( )

Definition at line 121 of file ALESolver.cpp.

◆ updateDispDiff()

void updateDispDiff ( )

◆ disp() [1/2]

vector_Type const& disp ( ) const
inline

Definition at line 209 of file ALESolver.hpp.

◆ disp() [2/2]

vector_Type& disp ( )
inline

Definition at line 213 of file ALESolver.hpp.

◆ getMap()

MapEpetra const& getMap ( ) const
inline

Definition at line 218 of file ALESolver.hpp.

◆ mFESpace()

FESpace<mesh_Type, MapEpetra> const& mFESpace ( ) const
inline

Definition at line 223 of file ALESolver.hpp.

◆ comm()

const std::shared_ptr<Epetra_Comm>& comm ( ) const
inline

Definition at line 228 of file ALESolver.hpp.

Field Documentation

◆ M_FESpace

FESpace<mesh_Type, MapEpetra>& M_FESpace
private

Finite Element Space.

Definition at line 238 of file ALESolver.hpp.

◆ M_localMap

MapEpetra M_localMap
private

local map

Definition at line 241 of file ALESolver.hpp.

◆ M_matrHE

matrixPtr_Type M_matrHE
private

The matrix holding the values.

Definition at line 244 of file ALESolver.hpp.

◆ M_matrHE_BC

matrixPtr_Type M_matrHE_BC
private

Definition at line 245 of file ALESolver.hpp.

◆ M_matrShapeDerVel

matrixPtr_Type M_matrShapeDerVel
private

The matrix holding the shape derivatives.

Definition at line 248 of file ALESolver.hpp.

◆ M_matrShapeDerPressure

matrixPtr_Type M_matrShapeDerPressure
private

Definition at line 249 of file ALESolver.hpp.

◆ M_displayer

Displayer M_displayer
private

Definition at line 252 of file ALESolver.hpp.

◆ M_me

int M_me
private

Definition at line 253 of file ALESolver.hpp.

◆ M_verbose

bool M_verbose
private

Definition at line 254 of file ALESolver.hpp.

◆ M_elmat

MatrixElemental M_elmat
private

Elementary matrix : 3 blocks.

Definition at line 257 of file ALESolver.hpp.

◆ M_disp

vectorPtr_Type M_disp
private

The actual extension of the displacement.

Definition at line 260 of file ALESolver.hpp.

◆ M_secondRHS

vectorPtr_Type M_secondRHS
private

Auxiliary vector holding the second right hand of the system.

Definition at line 263 of file ALESolver.hpp.

◆ M_diffusion

Real M_diffusion
private

Diffusion coefficient for the laplacian operator.

Definition at line 266 of file ALESolver.hpp.

◆ M_offset

UInt M_offset
private

Definition at line 268 of file ALESolver.hpp.

◆ M_linearElasticity

bool M_linearElasticity
private

Definition at line 270 of file ALESolver.hpp.

◆ M_young

Real M_young
private

Definition at line 271 of file ALESolver.hpp.

◆ M_poisson

Real M_poisson
private

Definition at line 272 of file ALESolver.hpp.

◆ M_aleFESpace_ETA

ETFESpaceAlePtr_Type M_aleFESpace_ETA
private

Definition at line 273 of file ALESolver.hpp.


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