LifeV
FastAssemblerMixed Class Reference

#include <FastAssemblerMixed.hpp>

+ Collaboration diagram for FastAssemblerMixed:

Public Types

typedef RegionMesh< LinearTetramesh_Type
 
typedef boost::shared_ptr< mesh_TypemeshPtr_Type
 
typedef VectorEpetra vector_Type
 
typedef boost::shared_ptr< vector_TypevectorPtr_Type
 
typedef MatrixEpetra< Realmatrix_Type
 
typedef boost::shared_ptr< matrix_TypematrixPtr_Type
 
typedef Epetra_Comm comm_Type
 
typedef boost::shared_ptr< comm_TypecommPtr_Type
 
typedef QuadratureRule qr_Type
 
typedef boost::shared_ptr< qr_TypeqrPtr_Type
 
typedef FESpace< mesh_Type, MapEpetrafespace_Type
 
typedef boost::shared_ptr< fespace_TypefespacePtr_Type
 

Public Member Functions

 FastAssemblerMixed (const meshPtr_Type &mesh, const commPtr_Type &comm, const ReferenceFE *refFE_test, const ReferenceFE *refFE_trial, const qr_Type *qr_integration)
 Constructor. More...
 
 ~FastAssemblerMixed ()
 Destructor. More...
 

Private Attributes

meshPtr_Type M_mesh
 
commPtr_Type M_comm
 
int M_numElements
 
int M_numScalarDofs_test
 
int M_numScalarDofs_trial
 
doubleM_detJacobian
 
double *** M_invJacobian
 
double ** M_phi_test
 
double *** M_dphi_test
 
double ** M_phi_trial
 
double *** M_dphi_trial
 
double ** M_elements_test
 
double ** M_elements_trial
 
const qr_TypeM_qr_integration
 
const ReferenceFEM_referenceFE_test
 
const ReferenceFEM_referenceFE_trial
 
double **** M_vals
 
int ** M_rows
 
int ** M_cols
 

Methods

void allocateSpace (const int &numElements, CurrentFE *fe_test, const fespacePtr_Type &fespace_test, CurrentFE *fe_trial, const fespacePtr_Type &fespace_trial)
 Allocate space for members before the assembly. More...
 
void assemble_NS_block01 (matrixPtr_Type &matrix)
 FE Assembly block (0,1) of Navier-Stokes. More...
 
void assemble_NS_block10 (matrixPtr_Type &matrix)
 FE Assembly block (1,0) of Navier-Stokes. More...
 
void assemble_SUPG_block10 (matrixPtr_Type &matrix, const vector_Type &u_h)
 FE Assembly block (1,0) of SUPG stabilization for Navier-Stokes. More...
 
void assemble_SUPG_block01 (matrixPtr_Type &matrix, const vector_Type &u_h)
 FE Assembly block (0,1) of SUPG stabilization for Navier-Stokes. More...
 

Detailed Description

Definition at line 54 of file FastAssemblerMixed.hpp.

Member Typedef Documentation

◆ mesh_Type

Definition at line 58 of file FastAssemblerMixed.hpp.

◆ meshPtr_Type

typedef boost::shared_ptr<mesh_Type> meshPtr_Type

Definition at line 59 of file FastAssemblerMixed.hpp.

◆ vector_Type

Definition at line 61 of file FastAssemblerMixed.hpp.

◆ vectorPtr_Type

typedef boost::shared_ptr<vector_Type> vectorPtr_Type

Definition at line 62 of file FastAssemblerMixed.hpp.

◆ matrix_Type

Definition at line 64 of file FastAssemblerMixed.hpp.

◆ matrixPtr_Type

typedef boost::shared_ptr<matrix_Type> matrixPtr_Type

Definition at line 65 of file FastAssemblerMixed.hpp.

◆ comm_Type

typedef Epetra_Comm comm_Type

Definition at line 67 of file FastAssemblerMixed.hpp.

◆ commPtr_Type

typedef boost::shared_ptr< comm_Type > commPtr_Type

Definition at line 68 of file FastAssemblerMixed.hpp.

◆ qr_Type

Definition at line 70 of file FastAssemblerMixed.hpp.

◆ qrPtr_Type

typedef boost::shared_ptr< qr_Type > qrPtr_Type

Definition at line 71 of file FastAssemblerMixed.hpp.

◆ fespace_Type

Definition at line 73 of file FastAssemblerMixed.hpp.

◆ fespacePtr_Type

typedef boost::shared_ptr<fespace_Type> fespacePtr_Type

Definition at line 74 of file FastAssemblerMixed.hpp.

Constructor & Destructor Documentation

◆ FastAssemblerMixed()

FastAssemblerMixed ( const meshPtr_Type mesh,
const commPtr_Type comm,
const ReferenceFE refFE_test,
const ReferenceFE refFE_trial,
const qr_Type qr_integration 
)

Constructor.

Parameters
mesh- input mesh
comm- communicator
refFE_test- reference FE space of test functions
refFE_trial- reference FE space of trial functions
qr_integration- quadrature rule to be used for the integration

Definition at line 14 of file FastAssemblerMixed.cpp.

+ Here is the caller graph for this function:

◆ ~FastAssemblerMixed()

Destructor.

Definition at line 26 of file FastAssemblerMixed.cpp.

Member Function Documentation

◆ allocateSpace()

void allocateSpace ( const int &  numElements,
CurrentFE fe_test,
const fespacePtr_Type fespace_test,
CurrentFE fe_trial,
const fespacePtr_Type fespace_trial 
)

Allocate space for members before the assembly.

Parameters
numElements- data file
fe_test- current FE test functions
fespace_test- FE space test functions
fe_trial- current FE trial functions
fespace_trial- FE space trial functions

Definition at line 124 of file FastAssemblerMixed.cpp.

◆ assemble_NS_block01()

void assemble_NS_block01 ( matrixPtr_Type matrix)

FE Assembly block (0,1) of Navier-Stokes.

Parameters
matrix- global matrix, in this case the block (0,1) of Navier-Stokes

Definition at line 323 of file FastAssemblerMixed.cpp.

◆ assemble_NS_block10()

void assemble_NS_block10 ( matrixPtr_Type matrix)

FE Assembly block (1,0) of Navier-Stokes.

Parameters
matrix- global matrix, in this case the block (1,0) of Navier-Stokes

Definition at line 416 of file FastAssemblerMixed.cpp.

◆ assemble_SUPG_block10()

void assemble_SUPG_block10 ( matrixPtr_Type matrix,
const vector_Type u_h 
)

FE Assembly block (1,0) of SUPG stabilization for Navier-Stokes.

Parameters
matrix- global matrix, in this case the block (1,0) of Navier-Stokes
u_h- vector extrapolapolated velocity

Definition at line 508 of file FastAssemblerMixed.cpp.

◆ assemble_SUPG_block01()

void assemble_SUPG_block01 ( matrixPtr_Type matrix,
const vector_Type u_h 
)

FE Assembly block (0,1) of SUPG stabilization for Navier-Stokes.

Parameters
matrix- global matrix, in this case the block (0,1) of Navier-Stokes
u_h- vector extrapolapolated velocity

Definition at line 640 of file FastAssemblerMixed.cpp.

Field Documentation

◆ M_mesh

meshPtr_Type M_mesh
private

Definition at line 137 of file FastAssemblerMixed.hpp.

◆ M_comm

commPtr_Type M_comm
private

Definition at line 138 of file FastAssemblerMixed.hpp.

◆ M_numElements

int M_numElements
private

Definition at line 140 of file FastAssemblerMixed.hpp.

◆ M_numScalarDofs_test

int M_numScalarDofs_test
private

Definition at line 141 of file FastAssemblerMixed.hpp.

◆ M_numScalarDofs_trial

int M_numScalarDofs_trial
private

Definition at line 142 of file FastAssemblerMixed.hpp.

◆ M_detJacobian

double* M_detJacobian
private

Definition at line 144 of file FastAssemblerMixed.hpp.

◆ M_invJacobian

double*** M_invJacobian
private

Definition at line 145 of file FastAssemblerMixed.hpp.

◆ M_phi_test

double** M_phi_test
private

Definition at line 147 of file FastAssemblerMixed.hpp.

◆ M_dphi_test

double*** M_dphi_test
private

Definition at line 148 of file FastAssemblerMixed.hpp.

◆ M_phi_trial

double** M_phi_trial
private

Definition at line 149 of file FastAssemblerMixed.hpp.

◆ M_dphi_trial

double*** M_dphi_trial
private

Definition at line 150 of file FastAssemblerMixed.hpp.

◆ M_elements_test

double** M_elements_test
private

Definition at line 151 of file FastAssemblerMixed.hpp.

◆ M_elements_trial

double** M_elements_trial
private

Definition at line 152 of file FastAssemblerMixed.hpp.

◆ M_qr_integration

const qr_Type* M_qr_integration
private

Definition at line 154 of file FastAssemblerMixed.hpp.

◆ M_referenceFE_test

const ReferenceFE* M_referenceFE_test
private

Definition at line 155 of file FastAssemblerMixed.hpp.

◆ M_referenceFE_trial

const ReferenceFE* M_referenceFE_trial
private

Definition at line 156 of file FastAssemblerMixed.hpp.

◆ M_vals

double**** M_vals
private

Definition at line 158 of file FastAssemblerMixed.hpp.

◆ M_rows

int** M_rows
private

Definition at line 159 of file FastAssemblerMixed.hpp.

◆ M_cols

int** M_cols
private

Definition at line 160 of file FastAssemblerMixed.hpp.


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