LifeV
|
#include <FastAssemblerNS.hpp>
Public Types | |
typedef RegionMesh< LinearTetra > | mesh_Type |
typedef std::shared_ptr< mesh_Type > | meshPtr_Type |
typedef VectorEpetra | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
typedef MatrixEpetra< Real > | matrix_Type |
typedef std::shared_ptr< matrix_Type > | matrixPtr_Type |
typedef Epetra_Comm | comm_Type |
typedef std::shared_ptr< comm_Type > | commPtr_Type |
typedef QuadratureRule | qr_Type |
typedef std::shared_ptr< qr_Type > | qrPtr_Type |
typedef FESpace< mesh_Type, MapEpetra > | fespace_Type |
typedef std::shared_ptr< fespace_Type > | fespacePtr_Type |
Public Member Functions | |
FastAssemblerNS (const meshPtr_Type &mesh, const commPtr_Type &comm, const ReferenceFE *refFE_velocity, const ReferenceFE *refFE_pressure, const fespacePtr_Type &fespace_velocity, const fespacePtr_Type &fespace_pressure, const qr_Type *qr) | |
Constructor. More... | |
~FastAssemblerNS () | |
Destructor. More... | |
Methods | |
void | setConstants_NavierStokes (const Real &density, const Real &viscosity, const Real ×tep, const Real &orderBDF, const Real &C_I) |
Set physical parameters for NS. More... | |
void | setConstants_NavierStokes (const Real &density, const Real &viscosity, const Real ×tep, const Real &orderBDF, const Real &C_I, const Real &alpha) |
Set physical parameters for NS. More... | |
void | allocateSpace (CurrentFE *current_fe_velocity, const bool &use_supg) |
Allocate space for members before the assembly. More... | |
void | assemble_constant_terms (matrixPtr_Type &mass, matrixPtr_Type &stiffness, matrixPtr_Type &grad, matrixPtr_Type &div) |
Assemble constant terms NS. More... | |
void | assembleConvective (matrixPtr_Type &matrix, const vector_Type &u_h) |
FE Assembly of NS constant terms (no scaling by coefficients like viscosity) More... | |
void | jacobianNS (matrixPtr_Type &matrix, const vector_Type &u_h) |
FE Assembly of NS nonlinear term. More... | |
void | assemble_supg_terms (matrixPtr_Type &block00, matrixPtr_Type &block01, matrixPtr_Type &block10, matrixPtr_Type &block11, const vector_Type &u_h) |
Assemble SUPG terms. More... | |
void | supg_FI_FSI_terms (matrixPtr_Type &block00, matrixPtr_Type &block01, matrixPtr_Type &block10, matrixPtr_Type &block11, const vector_Type &beta_km1, const vector_Type &u_km1, const vector_Type &p_km1, const vector_Type &u_bdf) |
Assemble SUPG terms fully implicit for FSI. More... | |
void | vmsles_semi_implicit_terms (matrixPtr_Type &block00, matrixPtr_Type &block01, matrixPtr_Type &block10, matrixPtr_Type &block11, const std::vector< std::vector< VectorSmall< 3 >>> &fine_scale, const vector_Type &u_extr) |
Assemble VMSLES terms. More... | |
void | vmsles_semi_implicit_termsP1P1 (matrixPtr_Type &block00, matrixPtr_Type &block01, matrixPtr_Type &block10, matrixPtr_Type &block11, const std::vector< std::vector< VectorSmall< 3 >>> &fine_scale, const vector_Type &u_extr) |
Assemble VMSLES terms when using P1-P1 for the fluid. More... | |
void | updateGeoQuantities (CurrentFE *current_fe) |
Assemble SUPG terms fully implicit for FSI. More... | |
void | setAlpha (const Real &alpha) |
Set alpha. More... | |
void | setTimeStep (const Real ×tep) |
Set time step. More... | |
Definition at line 67 of file FastAssemblerNS.hpp.
typedef RegionMesh< LinearTetra > mesh_Type |
Definition at line 71 of file FastAssemblerNS.hpp.
typedef std::shared_ptr<mesh_Type> meshPtr_Type |
Definition at line 72 of file FastAssemblerNS.hpp.
typedef VectorEpetra vector_Type |
Definition at line 74 of file FastAssemblerNS.hpp.
typedef std::shared_ptr<vector_Type> vectorPtr_Type |
Definition at line 75 of file FastAssemblerNS.hpp.
typedef MatrixEpetra<Real> matrix_Type |
Definition at line 77 of file FastAssemblerNS.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 78 of file FastAssemblerNS.hpp.
typedef Epetra_Comm comm_Type |
Definition at line 80 of file FastAssemblerNS.hpp.
typedef std::shared_ptr< comm_Type > commPtr_Type |
Definition at line 81 of file FastAssemblerNS.hpp.
typedef QuadratureRule qr_Type |
Definition at line 83 of file FastAssemblerNS.hpp.
typedef std::shared_ptr< qr_Type > qrPtr_Type |
Definition at line 84 of file FastAssemblerNS.hpp.
typedef FESpace<mesh_Type, MapEpetra> fespace_Type |
Definition at line 86 of file FastAssemblerNS.hpp.
typedef std::shared_ptr<fespace_Type> fespacePtr_Type |
Definition at line 87 of file FastAssemblerNS.hpp.
FastAssemblerNS | ( | const meshPtr_Type & | mesh, |
const commPtr_Type & | comm, | ||
const ReferenceFE * | refFE_velocity, | ||
const ReferenceFE * | refFE_pressure, | ||
const fespacePtr_Type & | fespace_velocity, | ||
const fespacePtr_Type & | fespace_pressure, | ||
const qr_Type * | qr | ||
) |
Constructor.
mesh | - input mesh |
comm | - communicator |
refFE_velocity | - reference FE space velocity |
refFE_pressure | - reference FE space pressure |
fespace_velocity | - |
fespace_pressure | - |
qr | - quadrature rule to be used for the integration |
Definition at line 15 of file FastAssemblerNS.cpp.
~FastAssemblerNS | ( | ) |
Destructor.
Definition at line 31 of file FastAssemblerNS.cpp.
void setConstants_NavierStokes | ( | const Real & | density, |
const Real & | viscosity, | ||
const Real & | timestep, | ||
const Real & | orderBDF, | ||
const Real & | C_I | ||
) |
Set physical parameters for NS.
density | - density of the fluid |
viscosity | - viscosity of the fluid |
timestep | - timestep for the simulation |
orderBDF | - order time integrator BDF |
C_I | - is 30 for P1 and 60 for P2 |
Definition at line 264 of file FastAssemblerNS.cpp.
void setConstants_NavierStokes | ( | const Real & | density, |
const Real & | viscosity, | ||
const Real & | timestep, | ||
const Real & | orderBDF, | ||
const Real & | C_I, | ||
const Real & | alpha | ||
) |
Set physical parameters for NS.
density | - density of the fluid |
viscosity | - viscosity of the fluid |
timestep | - timestep for the simulation |
orderBDF | - order time integrator BDF |
C_I | - is 30 for P1 and 60 for P2 |
alpha | - coefficient BDF in front of u_{n+1} |
Definition at line 274 of file FastAssemblerNS.cpp.
void allocateSpace | ( | CurrentFE * | current_fe_velocity, |
const bool & | use_supg | ||
) |
Allocate space for members before the assembly.
current_fe_velocity | - current FE space velocity |
Definition at line 323 of file FastAssemblerNS.cpp.
void assemble_constant_terms | ( | matrixPtr_Type & | mass, |
matrixPtr_Type & | stiffness, | ||
matrixPtr_Type & | grad, | ||
matrixPtr_Type & | div | ||
) |
Assemble constant terms NS.
mass | - mass matrix |
stiffness | - stiffness matrix |
grad | - block01 |
div | - block10 |
Definition at line 1064 of file FastAssemblerNS.cpp.
void assembleConvective | ( | matrixPtr_Type & | matrix, |
const vector_Type & | u_h | ||
) |
FE Assembly of NS constant terms (no scaling by coefficients like viscosity)
matrix | - global matrix |
u_h | - velocity vector |
Definition at line 1330 of file FastAssemblerNS.cpp.
void jacobianNS | ( | matrixPtr_Type & | matrix, |
const vector_Type & | u_h | ||
) |
FE Assembly of NS nonlinear term.
matrix | - matrix |
u_h | - velocity vector previous Newton step |
Definition at line 1444 of file FastAssemblerNS.cpp.
void assemble_supg_terms | ( | matrixPtr_Type & | block00, |
matrixPtr_Type & | block01, | ||
matrixPtr_Type & | block10, | ||
matrixPtr_Type & | block11, | ||
const vector_Type & | u_h | ||
) |
Assemble SUPG terms.
block00 | - block00 stabilization |
block01 | - block01 stabilization |
block10 | - block10 stabilization |
block11 | - block11 stabilization |
Definition at line 754 of file FastAssemblerNS.cpp.
void supg_FI_FSI_terms | ( | matrixPtr_Type & | block00, |
matrixPtr_Type & | block01, | ||
matrixPtr_Type & | block10, | ||
matrixPtr_Type & | block11, | ||
const vector_Type & | beta_km1, | ||
const vector_Type & | u_km1, | ||
const vector_Type & | p_km1, | ||
const vector_Type & | u_bdf | ||
) |
Assemble SUPG terms fully implicit for FSI.
block00 | - block00 stabilization |
block01 | - block01 stabilization |
block10 | - block10 stabilization |
block11 | - block11 stabilization |
beta_km1 | - vector: fluid_velocity - ale_velocity |
u_km1 | - velocity previous Newton step |
p_km1 | - pressure previous Newton step |
u_bdf | - vector time discretization fluid velocity |
Definition at line 1614 of file FastAssemblerNS.cpp.
void vmsles_semi_implicit_terms | ( | matrixPtr_Type & | block00, |
matrixPtr_Type & | block01, | ||
matrixPtr_Type & | block10, | ||
matrixPtr_Type & | block11, | ||
const std::vector< std::vector< VectorSmall< 3 >>> & | fine_scale, | ||
const vector_Type & | u_extr | ||
) |
Assemble VMSLES terms.
block00 | - block00 stabilization |
block01 | - block01 stabilization |
block10 | - block10 stabilization |
block11 | - block11 stabilization |
fine_scale | - fine scale vector |
u_extr | - velocity extrapolated |
Definition at line 2166 of file FastAssemblerNS.cpp.
void vmsles_semi_implicit_termsP1P1 | ( | matrixPtr_Type & | block00, |
matrixPtr_Type & | block01, | ||
matrixPtr_Type & | block10, | ||
matrixPtr_Type & | block11, | ||
const std::vector< std::vector< VectorSmall< 3 >>> & | fine_scale, | ||
const vector_Type & | u_extr | ||
) |
Assemble VMSLES terms when using P1-P1 for the fluid.
block00 | - block00 stabilization |
block01 | - block01 stabilization |
block10 | - block10 stabilization |
block11 | - block11 stabilization |
fine_scale | - fine scale vector |
u_extr | - velocity extrapolated |
Definition at line 2753 of file FastAssemblerNS.cpp.
void updateGeoQuantities | ( | CurrentFE * | current_fe | ) |
Assemble SUPG terms fully implicit for FSI.
current_fe_velocity | - current FE needed to update geom quantities (for FSI when moving mesh) |
Definition at line 285 of file FastAssemblerNS.cpp.
|
inline |
Set alpha.
alpha | - time advance coefficient |
Definition at line 234 of file FastAssemblerNS.hpp.
|
inline |
Set time step.
timestep | - time step of the simulation |
Definition at line 241 of file FastAssemblerNS.hpp.
|
private |
Definition at line 241 of file FastAssemblerNS.hpp.
|
private |
Definition at line 248 of file FastAssemblerNS.hpp.
|
private |
Definition at line 250 of file FastAssemblerNS.hpp.
|
private |
Definition at line 251 of file FastAssemblerNS.hpp.
|
private |
Definition at line 253 of file FastAssemblerNS.hpp.
|
private |
Definition at line 254 of file FastAssemblerNS.hpp.
|
private |
Definition at line 256 of file FastAssemblerNS.hpp.
|
private |
Definition at line 257 of file FastAssemblerNS.hpp.
|
private |
Definition at line 258 of file FastAssemblerNS.hpp.
|
private |
Definition at line 259 of file FastAssemblerNS.hpp.
|
private |
Definition at line 260 of file FastAssemblerNS.hpp.
|
private |
Definition at line 261 of file FastAssemblerNS.hpp.
|
private |
Definition at line 262 of file FastAssemblerNS.hpp.
|
private |
Definition at line 264 of file FastAssemblerNS.hpp.
|
private |
Definition at line 265 of file FastAssemblerNS.hpp.
|
private |
Definition at line 266 of file FastAssemblerNS.hpp.
Definition at line 267 of file FastAssemblerNS.hpp.
Definition at line 268 of file FastAssemblerNS.hpp.
|
private |
Definition at line 270 of file FastAssemblerNS.hpp.
|
private |
Definition at line 271 of file FastAssemblerNS.hpp.
|
private |
Definition at line 272 of file FastAssemblerNS.hpp.
|
private |
Definition at line 273 of file FastAssemblerNS.hpp.
|
private |
Definition at line 274 of file FastAssemblerNS.hpp.
|
private |
Definition at line 275 of file FastAssemblerNS.hpp.
|
private |
Definition at line 276 of file FastAssemblerNS.hpp.
|
private |
Definition at line 277 of file FastAssemblerNS.hpp.
|
private |
Definition at line 278 of file FastAssemblerNS.hpp.
|
private |
Definition at line 279 of file FastAssemblerNS.hpp.
|
private |
Definition at line 280 of file FastAssemblerNS.hpp.
|
private |
Definition at line 281 of file FastAssemblerNS.hpp.
|
private |
Definition at line 282 of file FastAssemblerNS.hpp.
|
private |
Definition at line 284 of file FastAssemblerNS.hpp.
|
private |
Definition at line 285 of file FastAssemblerNS.hpp.
|
private |
Definition at line 286 of file FastAssemblerNS.hpp.
|
private |
Definition at line 287 of file FastAssemblerNS.hpp.
|
private |
Definition at line 288 of file FastAssemblerNS.hpp.
|
private |
Definition at line 289 of file FastAssemblerNS.hpp.
|
private |
Definition at line 291 of file FastAssemblerNS.hpp.
|
private |
Definition at line 292 of file FastAssemblerNS.hpp.
|
private |
Definition at line 293 of file FastAssemblerNS.hpp.
|
private |
Definition at line 294 of file FastAssemblerNS.hpp.
|
private |
Definition at line 295 of file FastAssemblerNS.hpp.
|
private |
Definition at line 296 of file FastAssemblerNS.hpp.