ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
TSystemTNSE3D Class Reference

stores the information of a 3D TNSE system matrix More...

#include <SystemTNSE3D.h>

Inheritance diagram for TSystemTNSE3D:
Inheritance graph
[legend]
Collaboration diagram for TSystemTNSE3D:
Collaboration graph
[legend]

Public Member Functions

 TSystemTNSE3D (int N_levels, TFESpace3D **velocity_fespace, TFESpace3D **presssure_fespace, TFEVectFunct3D **velocity, TFEFunction3D **pressure, double **sol, double **rhs, int disctype, int nsetype, int solver#ifdef __PRIVATE__, TFESpace3D **Projection_space#endif)
 
 ~TSystemTNSE3D ()
 
void Init (CoeffFct3D *lincoeffs, BoundCondFunct3D *BoundCond, BoundValueFunct3D *U1BoundValue, BoundValueFunct3D *U2BoundValue, BoundValueFunct3D *U3BoundValue)
 
void Assemble ()
 
void AssembleRhs ()
 
void AssembleSystMat (double scale, double *oldrhs, double *rhs, double *sol)
 
void AssembleSystMatNonLinear ()
 
void RestoreMassMat ()
 
void RestoreMassMatNonLinear ()
 
void AssembleNonLinear ()
 
void Solve (double *sol)
 
void GetResidual (double *sol, double &impuls_residual, double &residual)
 
void MeasureTNSEErrors (DoubleFunct3D *ExactU1, DoubleFunct3D *ExactU2, DoubleFunct3D *ExactU3, DoubleFunct3D *ExactP, double *AllErrors)
 
void printall_matrix ()
 
void GetMesh ()
 
void All_levels_check ()
 
double BlockMatVect (TSquareMatrix *A)
 
double BlockMatVect (TMatrix *A)
 
- Public Member Functions inherited from TSystemNSE3D
 TSystemNSE3D (int N_levels, TFESpace3D **velocity_fespace, TFESpace3D **presssure_fespace, TFEVectFunct3D **velocity, TFEFunction3D **pressure, double **sol, double **rhs, int disctype, int nsetype, int solver)
 
void Init (CoeffFct3D *lincoeffs, BoundCondFunct3D *BoundCond, BoundValueFunct3D *U1BoundValue, BoundValueFunct3D *U2BoundValue, BoundValueFunct3D *U3BoundValue)
 
void Assemble ()
 
void AssembleNonLinear (double **sol, double **rhs)
 
void GetResidual (double *sol, double *rhs, double *res, double &impuls_residual, double &residual)
 
void Solve (double *sol, double *rhs)
 
void MeasureErrors (DoubleFunct3D *ExactU1, DoubleFunct3D *ExactU2, DoubleFunct3D *ExactU3, DoubleFunct3D *ExactP, double *u_error, double *p_error)
 
void FindFreeSurfJoints (int level, int Region_ID)
 

Protected Attributes

TFESpace3D ** Projection_Spaces
 
TSquareMatrix3D ** SqmatrixM11
 
TSquareMatrix3D ** SqmatrixM12
 
TSquareMatrix3D ** SqmatrixM13
 
TSquareMatrix3D ** SqmatrixM21
 
TSquareMatrix3D ** SqmatrixM22
 
TSquareMatrix3D ** SqmatrixM23
 
TSquareMatrix3D ** SqmatrixM31
 
TSquareMatrix3D ** SqmatrixM32
 
TSquareMatrix3D ** SqmatrixM33
 
TSquareStructure3DsqstructureL
 
TStructure3Dstructure_G
 
TStructure3Dstructure_tilde_G
 
TMatrix3Dmatrix_tilde_G11
 
TMatrix3Dmatrix_tilde_G22
 
TMatrix3Dmatrix_tilde_G33
 
TMatrix3Dmatrix_G11
 
TMatrix3Dmatrix_G22
 
TMatrix3Dmatrix_G33
 
TMatrix3D ** Matrices_tilde_G11
 
TMatrix3D ** Matrices_tilde_G22
 
TMatrix3D ** Matrices_tilde_G33
 
TMatrix3D ** Matrices_G11
 
TMatrix3D ** Matrices_G22
 
TMatrix3D ** Matrices_G33
 
TSquareMatrix3DsqmatrixL
 
TSquareMatrix3D ** MatricesL
 
TAssembleMat3DRhsOnlyAssemble
 
double * B
 
double * defect
 
double gamma
 
TDiscreteForm3DDiscreteFormRhs
 
TAuxParam3DNSE_Rhsaux
 
bool SystMatAssembled
 
double olderror_l_2_l_2u
 
- Protected Attributes inherited from TSystemNSE3D
TParFEMapper3D ** ParMapper_U
 
TParFEMapper3D ** ParMapper_P
 
TParFECommunicator3D ** ParComm_U
 
TParFECommunicator3D ** ParComm_P
 
MPI_Comm Comm
 
TParDirectSolverDS
 
int N_Levels
 
int Start_Level
 
int N_TotalDOF
 
int N_U
 
int N_P
 
int N_Active
 
int N_DirichletDof
 
int * N_FreeSurfFaces
 
int ** FreeSurfCellNumbers
 
int ** FreeSurfJointNumbers
 
TFESpace3D ** U_Space
 
TFESpace3D ** P_Space
 
TFESpace3DFeSpaces [5]
 
TFEVectFunct3D ** Velocity
 
TFEFunction3D ** Pressure
 
double ** SolArray
 
double ** RhsArray
 
double * RHSs [4]
 
TFESpace3Dfesp [3]
 
TFESpace3Dfesprhs [3]
 
TFESpace3Dfesp_aux [3]
 
TFEFunction3Dfefct [7]
 
TFEFunction3D ** fefct_aux
 
TAssembleMat3D ** AMatRhsAssemble
 
TAssembleMat3D ** AMatAssembleNonLinear
 
int Disctype
 
int NSEType
 
CoeffFct3D * LinCoeffs [1]
 
TAuxParam3D ** NSEaux
 
TAuxParam3D ** NSEaux_error
 
MatVecProc * MatVect
 
DefectProc * Defect
 
int SOLVER
 
int N_Matrices
 
TSquareStructure3D ** sqstructureA
 
TStructure3D ** structureB
 
TStructure3D ** structureBT
 
TSquareMatrix3D ** SqmatrixA11
 
TSquareMatrix3D ** SqmatrixA12
 
TSquareMatrix3D ** SqmatrixA13
 
TSquareMatrix3D ** SqmatrixA21
 
TSquareMatrix3D ** SqmatrixA22
 
TSquareMatrix3D ** SqmatrixA23
 
TSquareMatrix3D ** SqmatrixA31
 
TSquareMatrix3D ** SqmatrixA32
 
TSquareMatrix3D ** SqmatrixA33
 
TSquareMatrix3DSQMATRICES [15]
 
TSquareMatrix ** sqmatrices
 
TSquareMatrix3D ** SqmatrixF11
 
TSquareMatrix3D ** SqmatrixF22
 
TSquareMatrix3D ** SqmatrixF33
 
TMatrix3D ** MatrixB1
 
TMatrix3D ** MatrixB2
 
TMatrix3D ** MatrixB3
 
TMatrix3D ** MatrixB1T
 
TMatrix3D ** MatrixB2T
 
TMatrix3D ** MatrixB3T
 
TMatrix3DMATRICES [12]
 
TMatrix ** matrices
 
BoundCondFunct3D * BoundaryConditions [3]
 
BoundValueFunct3D * BoundaryValues [3]
 
TDiscreteForm3DDiscreteFormARhs
 
TDiscreteForm3DDiscreteFormNL
 
int N_aux
 
double Parameters [2]
 
double * Itmethod_sol
 
double * Itmethod_rhs
 
TNSE_MultiGridMG
 
TNSE_MGLevelMGLevel
 
TItMethodItmethod
 
TItMethodprec
 

Detailed Description

stores the information of a 3D TNSE system matrix

class for 3D TNSE system matrix


Author
Sashikumaar Ganesan,
Date
21.12.15

Constructor & Destructor Documentation

TSystemTNSE3D::TSystemTNSE3D ( int  N_levels,
TFESpace3D **  velocity_fespace,
TFESpace3D **  presssure_fespace,
TFEVectFunct3D **  velocity,
TFEFunction3D **  pressure,
double **  sol,
double **  rhs,
int  disctype,
int  nsetype,
int solver#ifdef  __PRIVATE__,
TFESpace3D **Projection_space#  endif 
)

constructor

Here is the call graph for this function:

TSystemTNSE3D::~TSystemTNSE3D ( )

destrcutor

Member Function Documentation

void TSystemTNSE3D::Assemble ( )

assemble the M, A and rhs

assemble entire matrices and rhs

assemble

Here is the call graph for this function:

void TSystemTNSE3D::AssembleNonLinear ( )

assemble the nonlinear part of the NSE system

Here is the call graph for this function:

void TSystemTNSE3D::AssembleRhs ( )

assemble only the rhs of NSE system

assemble only rhs

Here is the call graph for this function:

void TSystemTNSE3D::AssembleSystMat ( double  scale,
double *  oldrhs,
double *  rhs,
double *  sol 
)

scale B matices and assemble rhs based on the scheme

prepare the system matrix

void TSystemTNSE3D::AssembleSystMatNonLinear ( )

scale B matices and assemble rhs based on the scheme

void TSystemTNSE3D::GetResidual ( double *  sol,
double &  impuls_residual,
double &  residual 
)

get the resudual of the NSE system

void TSystemTNSE3D::Init ( CoeffFct3D *  lincoeffs,
BoundCondFunct3D *  BoundCond,
BoundValueFunct3D *  U1BoundValue,
BoundValueFunct3D *  U2BoundValue,
BoundValueFunct3D *  U3BoundValue 
)

methods Initilize the discrete forms and the matrices

save the boundary condition

save the boundary values

save the nse bilinear coefficient

set the Discreteforms

find discrete form

Here is the call graph for this function:

void TSystemTNSE3D::MeasureTNSEErrors ( DoubleFunct3D *  ExactU1,
DoubleFunct3D *  ExactU2,
DoubleFunct3D *  ExactU3,
DoubleFunct3D *  ExactP,
double *  AllErrors 
)

measure the error in the NSE

Here is the call graph for this function:

void TSystemTNSE3D::printall_matrix ( )

print the matrices in a file

void TSystemTNSE3D::RestoreMassMat ( )

restoring the mass matrix

Here is the call graph for this function:

void TSystemTNSE3D::RestoreMassMatNonLinear ( )

restoring the mass matrix

void TSystemTNSE3D::Solve ( double *  sol)

solve the system matrix

Here is the call graph for this function:

Member Data Documentation

double* TSystemTNSE3D::B
protected

working rhs, used in AssembleSystMat()

double* TSystemTNSE3D::defect
protected

to store defect

TDiscreteForm3D* TSystemTNSE3D::DiscreteFormRhs
protected

Discrete form of the M and rhs matrics

double TSystemTNSE3D::gamma
protected

factor that multplied with Mat A in working rhs

TMatrix3D* TSystemTNSE3D::matrix_tilde_G11
protected

G - mat for VMS

TAuxParam3D* TSystemTNSE3D::NSE_Rhsaux
protected

NSE_Rhsaux is used to for assembling rhs only

double TSystemTNSE3D::olderror_l_2_l_2u
protected

needed for error calculation in time

TFESpace3D** TSystemTNSE3D::Projection_Spaces
protected

vms projection fespace

TSquareMatrix3D* TSystemTNSE3D::sqmatrixL
protected

L - mat for VMS

TSquareMatrix3D** TSystemTNSE3D::SqmatrixM11
protected

M - mass/system mat for TNSE velocity component

TSquareStructure3D* TSystemTNSE3D::sqstructureL
protected

sqstructureG of the vms projection matrix

TStructure3D* TSystemTNSE3D::structure_G
protected

structure of the vms projection matrix

bool TSystemTNSE3D::SystMatAssembled
protected

Systmat assemble indicator


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