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

stores the information of a 2D NSE system matrix More...

#include <SystemNSE2D.h>

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

Public Member Functions

 TSystemNSE2D (TFESpace2D *velocity_fespace, TFESpace2D *presssure_fespace, TFEVectFunct2D *Velocity, TFEFunction2D *p, double *sol, double *rhs, int disctype, int nsetype, int solver#ifdef __PRIVATE__, TFESpace2D *Projection_space, TFESpace2D *Stress_FeSpace, TFESpace2D *Deformation_FeSpace#endif)
 source file for TSystemNSE2D More...
 
 ~TSystemNSE2D ()
 
void Init (CoeffFct2D *lincoeffs, BoundCondFunct2D *BoundCond, BoundValueFunct2D *U1BoundValue, BoundValueFunct2D *U2BoundValue, TAuxParam2D *aux, TAuxParam2D *auxerror)
 
void Assemble (double *sol, double *rhs)
 
void AssembleNonLinear (double *sol, double *rhs)
 
void AssembleRhsOnly (double *sol, double *rhs)
 
void GetResidual (double *sol, double *rhs, double *res)
 
void Solve (double *sol, double *rhs)
 
void MeasureErrors (DoubleFunct2D *ExactU1, DoubleFunct2D *ExactU2, DoubleFunct2D *ExactP, double *u_error, double *p_error)
 

Protected Attributes

int N_U
 
int N_P
 
int N_Active
 
int N_DirichletDof
 
double * Sol
 
double * Rhs
 
double * RHSs [3]
 
TFESpace2DFeSpaces [5]
 
TFEFunction2DFeFct [5]
 
int Disctype
 
int NSEType
 
CoeffFct2D * LinCoeffs [1]
 
TAuxParam2DNSEaux
 
TAuxParam2DNSEaux_error
 
DefectProc * Defect
 
int Solver
 
int N_Matrices
 
TSquareStructure2DsqstructureA
 
TStructure2DstructureB
 
TStructure2DstructureBT
 
TSquareMatrix2DSqmatrixA11
 
TSquareMatrix2DSqmatrixA12
 
TSquareMatrix2DSqmatrixA21
 
TSquareMatrix2DSqmatrixA22
 
TSquareMatrix2DSQMATRICES [9]
 
TSquareMatrix ** sqmatrices
 
TMatrix2DMatrixB1
 
TMatrix2DMatrixB2
 
TMatrix2DMatrixB1T
 
TMatrix2DMatrixB2T
 
TMatrix2DMATRICES [8]
 
TMatrix ** matrices
 
BoundCondFunct2D * BoundaryConditions [2]
 
BoundValueFunct2D * BoundaryValues [2]
 
TDiscreteForm2DDiscreteFormARhs
 
TDiscreteForm2DDiscreteFormNL
 
TDiscreteForm2DDiscreteFormRhs
 
TAssembleMat2DAMatRhsAssemble
 
TAssembleMat2DAMatAssembleNonLinear
 
TSquareStructure2DsqstructureL
 
TStructure2Dstructure_G
 
TStructure2Dstructure_tilde_G
 
TSquareMatrix2DMatricesL
 
TMatrix2DMatrices_tilde_G11
 
TMatrix2DMatrices_tilde_G22
 
TMatrix2DMatrices_G11
 
TMatrix2DMatrices_G22
 

Detailed Description

stores the information of a 2D NSE system matrix

class for 2D NSE system matrix


Author
Sashikumaar Ganesan,
Date
23.08.14 Added methods (Sashi, 23.08.14)

Constructor & Destructor Documentation

TSystemNSE2D::TSystemNSE2D ( TFESpace2D velocity_fespace,
TFESpace2D presssure_fespace,
TFEVectFunct2D Velocity,
TFEFunction2D p,
double *  sol,
double *  rhs,
int  disctype,
int  nsetype,
int solver#ifdef  __PRIVATE__,
TFESpace2D Projection_space,
TFESpace2D Stress_FeSpace,
TFESpace2D *Deformation_FeSpace#  endif 
)

source file for TSystemNSE2D

constructor


Author
Sashikumaar Ganesan,
Date
23.08.14 06.02.16 : Updated vms and stress fespaces

Here is the call graph for this function:

TSystemNSE2D::~TSystemNSE2D ( )

destrcutor

Member Function Documentation

void TSystemNSE2D::Assemble ( double *  sol,
double *  rhs 
)

assemble the system matrix

initialize matrices

assemble

apply local projection stabilization method

upwind

Here is the call graph for this function:

void TSystemNSE2D::AssembleNonLinear ( double *  sol,
double *  rhs 
)

assemble the nonlinear part of the NSE system

apply local projection stabilization method

upwind

Here is the call graph for this function:

void TSystemNSE2D::AssembleRhsOnly ( double *  sol,
double *  rhs 
)

assemble only the rhs when coupled with CST

void TSystemNSE2D::GetResidual ( double *  sol,
double *  rhs,
double *  res 
)

get the resudual of the NSE system

void TSystemNSE2D::Init ( CoeffFct2D *  lincoeffs,
BoundCondFunct2D *  BoundCond,
BoundValueFunct2D *  U1BoundValue,
BoundValueFunct2D *  U2BoundValue,
TAuxParam2D aux,
TAuxParam2D auxerror 
)

methods Initilize the discrete forms and the matrices

Here is the call graph for this function:

void TSystemNSE2D::MeasureErrors ( DoubleFunct2D *  ExactU1,
DoubleFunct2D *  ExactU2,
DoubleFunct2D *  ExactP,
double *  u_error,
double *  p_error 
)

measure the error in the NSE

Here is the call graph for this function:

void TSystemNSE2D::Solve ( double *  sol,
double *  rhs 
)

solve the system matrix

Member Data Documentation

TAssembleMat2D* TSystemNSE2D::AMatRhsAssemble
protected

Assembling

BoundCondFunct2D* TSystemNSE2D::BoundaryConditions[2]
protected

Boundary conditon

BoundValueFunct2D* TSystemNSE2D::BoundaryValues[2]
protected

Boundary values

DefectProc* TSystemNSE2D::Defect
protected

method for resudual calculation

TDiscreteForm2D* TSystemNSE2D::DiscreteFormARhs
protected

Discrete form for the equation

int TSystemNSE2D::Disctype
protected

Discretization type

TFEFunction2D* TSystemNSE2D::FeFct[5]
protected

Fe functions of NSE

TFESpace2D* TSystemNSE2D::FeSpaces[5]
protected

velocity fespace

CoeffFct2D* TSystemNSE2D::LinCoeffs[1]
protected

Bilinear coefficient

TMatrix2D* TSystemNSE2D::Matrices_tilde_G11
protected

G - mat for VMS

TSquareMatrix2D* TSystemNSE2D::MatricesL
protected

L - mat for VMS

TMatrix2D* TSystemNSE2D::MatrixB1
protected

B is the system mat for NSE pressure component

int TSystemNSE2D::N_Matrices
protected

number of matrices in the system matrix

int TSystemNSE2D::N_U
protected

DOFs of velocity and pressure spaces

TAuxParam2D* TSystemNSE2D::NSEaux
protected

NSEaux is used to pass additional fe functions (eg. mesh velocity) that is nedded for assembling

int TSystemNSE2D::NSEType
protected

NSE type

double* TSystemNSE2D::Sol
protected

sol, rhs arrays

int TSystemNSE2D::Solver
protected

Solver type

TSquareMatrix2D* TSystemNSE2D::SqmatrixA11
protected

A is the stiffness/system mat for NSE velocity component

TSquareStructure2D* TSystemNSE2D::sqstructureA
protected

sqstructureA of the system matrix

TSquareStructure2D* TSystemNSE2D::sqstructureL
protected

these private routines are not available for public sqstructureG of the vms projection matrix

TStructure2D* TSystemNSE2D::structure_G
protected

structure of the vms projection matrix

TStructure2D* TSystemNSE2D::structureB
protected

structure of the system matrix


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