stores the information of a 3D TNSE system matrix More...
#include <SystemTNSE3D.h>
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 |
TSquareStructure3D * | sqstructureL |
TStructure3D * | structure_G |
TStructure3D * | structure_tilde_G |
TMatrix3D * | matrix_tilde_G11 |
TMatrix3D * | matrix_tilde_G22 |
TMatrix3D * | matrix_tilde_G33 |
TMatrix3D * | matrix_G11 |
TMatrix3D * | matrix_G22 |
TMatrix3D * | matrix_G33 |
TMatrix3D ** | Matrices_tilde_G11 |
TMatrix3D ** | Matrices_tilde_G22 |
TMatrix3D ** | Matrices_tilde_G33 |
TMatrix3D ** | Matrices_G11 |
TMatrix3D ** | Matrices_G22 |
TMatrix3D ** | Matrices_G33 |
TSquareMatrix3D * | sqmatrixL |
TSquareMatrix3D ** | MatricesL |
TAssembleMat3D * | RhsOnlyAssemble |
double * | B |
double * | defect |
double | gamma |
TDiscreteForm3D * | DiscreteFormRhs |
TAuxParam3D * | NSE_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 |
TParDirectSolver * | DS |
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 |
TFESpace3D * | FeSpaces [5] |
TFEVectFunct3D ** | Velocity |
TFEFunction3D ** | Pressure |
double ** | SolArray |
double ** | RhsArray |
double * | RHSs [4] |
TFESpace3D * | fesp [3] |
TFESpace3D * | fesprhs [3] |
TFESpace3D * | fesp_aux [3] |
TFEFunction3D * | fefct [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 |
TSquareMatrix3D * | SQMATRICES [15] |
TSquareMatrix ** | sqmatrices |
TSquareMatrix3D ** | SqmatrixF11 |
TSquareMatrix3D ** | SqmatrixF22 |
TSquareMatrix3D ** | SqmatrixF33 |
TMatrix3D ** | MatrixB1 |
TMatrix3D ** | MatrixB2 |
TMatrix3D ** | MatrixB3 |
TMatrix3D ** | MatrixB1T |
TMatrix3D ** | MatrixB2T |
TMatrix3D ** | MatrixB3T |
TMatrix3D * | MATRICES [12] |
TMatrix ** | matrices |
BoundCondFunct3D * | BoundaryConditions [3] |
BoundValueFunct3D * | BoundaryValues [3] |
TDiscreteForm3D * | DiscreteFormARhs |
TDiscreteForm3D * | DiscreteFormNL |
int | N_aux |
double | Parameters [2] |
double * | Itmethod_sol |
double * | Itmethod_rhs |
TNSE_MultiGrid * | MG |
TNSE_MGLevel * | MGLevel |
TItMethod * | Itmethod |
TItMethod * | prec |
stores the information of a 3D TNSE system matrix
class for 3D TNSE system matrix
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
TSystemTNSE3D::~TSystemTNSE3D | ( | ) |
destrcutor
void TSystemTNSE3D::Assemble | ( | ) |
assemble the M, A and rhs
assemble entire matrices and rhs
assemble
void TSystemTNSE3D::AssembleNonLinear | ( | ) |
assemble the nonlinear part of the NSE system
void TSystemTNSE3D::AssembleRhs | ( | ) |
assemble only the rhs of NSE system
assemble only rhs
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
void TSystemTNSE3D::MeasureTNSEErrors | ( | DoubleFunct3D * | ExactU1, |
DoubleFunct3D * | ExactU2, | ||
DoubleFunct3D * | ExactU3, | ||
DoubleFunct3D * | ExactP, | ||
double * | AllErrors | ||
) |
measure the error in the NSE
void TSystemTNSE3D::printall_matrix | ( | ) |
print the matrices in a file
void TSystemTNSE3D::RestoreMassMat | ( | ) |
restoring the mass matrix
void TSystemTNSE3D::RestoreMassMatNonLinear | ( | ) |
restoring the mass matrix
void TSystemTNSE3D::Solve | ( | double * | sol | ) |
solve the system matrix
|
protected |
working rhs, used in AssembleSystMat()
|
protected |
to store defect
|
protected |
Discrete form of the M and rhs matrics
|
protected |
factor that multplied with Mat A in working rhs
|
protected |
G - mat for VMS
|
protected |
NSE_Rhsaux is used to for assembling rhs only
|
protected |
needed for error calculation in time
|
protected |
vms projection fespace
|
protected |
L - mat for VMS
|
protected |
M - mass/system mat for TNSE velocity component
|
protected |
sqstructureG of the vms projection matrix
|
protected |
structure of the vms projection matrix
|
protected |
Systmat assemble indicator