LifeV
|
#include <ALESolver.hpp>
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< LinearTetra > | mesh_Type |
typedef MatrixEpetra< Real > | matrix_Type |
typedef std::shared_ptr< matrix_Type > | matrixPtr_Type |
typedef VectorEpetra | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
typedef ETFESpace< mesh_Type, MapEpetra, 3, 3 > | ETFESpaceAle_Type |
typedef std::shared_ptr< ETFESpaceAle_Type > | ETFESpaceAlePtr_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_Type & | disp () |
MapEpetra const & | getMap () const |
FESpace< mesh_Type, MapEpetra > const & | mFESpace () const |
const std::shared_ptr< Epetra_Comm > & | comm () const |
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.
typedef RegionMesh<LinearTetra> mesh_Type |
Definition at line 82 of file ALESolver.hpp.
typedef MatrixEpetra<Real> matrix_Type |
Definition at line 83 of file ALESolver.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 84 of file ALESolver.hpp.
typedef VectorEpetra vector_Type |
Definition at line 85 of file ALESolver.hpp.
typedef std::shared_ptr<vector_Type> vectorPtr_Type |
Definition at line 86 of file ALESolver.hpp.
typedef ETFESpace< mesh_Type, MapEpetra, 3, 3 > ETFESpaceAle_Type |
Definition at line 87 of file ALESolver.hpp.
typedef std::shared_ptr<ETFESpaceAle_Type> ETFESpaceAlePtr_Type |
Definition at line 88 of file ALESolver.hpp.
Constructors for an harmonics extensions.
mmFESpace | the FEspace that describes the problem |
comm | the Epetra_Comm to be used for communication |
Definition at line 12 of file ALESolver.cpp.
ALESolver | ( | FESpace< mesh_Type, MapEpetra > & | mmFESpace, |
std::shared_ptr< Epetra_Comm > | comm, | ||
MapEpetra & | localMap, | ||
UInt | offset = 0 |
||
) |
Constructors for an harmonics extensions with offset.
mmFESpace | the FEspace that describes the problem |
comm | the Epetra_Comm to be used for communication |
localMap | use localMap instead of M_FESpace.map() |
offset | use this offset to fill the matrix (both: row and column offset) |
Definition at line 31 of file ALESolver.cpp.
|
inlinevirtual |
virtual destructor
Definition at line 118 of file ALESolver.hpp.
void setUp | ( | const GetPot & | dataFile | ) |
Set up data from GetPot.
dataFile | GetPot object |
Definition at line 56 of file ALESolver.cpp.
void iterate | ( | BCHandler & | BCh | ) |
Update convective term, boundary condition and solve the linearized ns system.
bcHandler | BC handler |
Definition at line 72 of file ALESolver.cpp.
|
inline |
returns wheter this processor is the leader.
Definition at line 138 of file ALESolver.hpp.
|
inline |
manually rescale the system matrix by dt
Definition at line 144 of file ALESolver.hpp.
|
inline |
Definition at line 149 of file ALESolver.hpp.
|
inline |
Definition at line 154 of file ALESolver.hpp.
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.
|
inline |
Definition at line 172 of file ALESolver.hpp.
|
inline |
Definition at line 177 of file ALESolver.hpp.
|
inline |
Adds the system matrix to the argument.
Definition at line 183 of file ALESolver.hpp.
void applyBoundaryConditions | ( | vector_Type & | rhs, |
BCHandler & | BCh | ||
) |
Apply boundary conditions.
rightHandSide | |
bcHandler |
Definition at line 87 of file ALESolver.cpp.
void applyBoundaryConditions | ( | BCHandler & | BCh | ) |
Apply boundary conditions to the matrix.
bcHandler |
Definition at line 110 of file ALESolver.cpp.
void computeMatrix | ( | ) |
Definition at line 121 of file ALESolver.cpp.
void updateDispDiff | ( | ) |
|
inline |
Definition at line 209 of file ALESolver.hpp.
|
inline |
Definition at line 213 of file ALESolver.hpp.
|
inline |
Definition at line 218 of file ALESolver.hpp.
Definition at line 223 of file ALESolver.hpp.
|
inline |
Definition at line 228 of file ALESolver.hpp.
Finite Element Space.
Definition at line 238 of file ALESolver.hpp.
|
private |
local map
Definition at line 241 of file ALESolver.hpp.
|
private |
The matrix holding the values.
Definition at line 244 of file ALESolver.hpp.
|
private |
Definition at line 245 of file ALESolver.hpp.
|
private |
The matrix holding the shape derivatives.
Definition at line 248 of file ALESolver.hpp.
|
private |
Definition at line 249 of file ALESolver.hpp.
|
private |
Definition at line 252 of file ALESolver.hpp.
|
private |
Definition at line 253 of file ALESolver.hpp.
|
private |
Definition at line 254 of file ALESolver.hpp.
|
private |
Elementary matrix : 3 blocks.
Definition at line 257 of file ALESolver.hpp.
|
private |
The actual extension of the displacement.
Definition at line 260 of file ALESolver.hpp.
|
private |
Auxiliary vector holding the second right hand of the system.
Definition at line 263 of file ALESolver.hpp.
|
private |
Diffusion coefficient for the laplacian operator.
Definition at line 266 of file ALESolver.hpp.
|
private |
Definition at line 268 of file ALESolver.hpp.
|
private |
Definition at line 270 of file ALESolver.hpp.
|
private |
Definition at line 271 of file ALESolver.hpp.
|
private |
Definition at line 272 of file ALESolver.hpp.
|
private |
Definition at line 273 of file ALESolver.hpp.