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

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

#include <SystemTNSE2D_ALE.h>

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

Public Member Functions

 TSystemTNSE2D_ALE (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 TFESpace2D *gridFESpace, TFEVectFunct2D *MeshVelocity, bool conservativeale)
 source file for TSystemTNSE2D_ALE More...
 
void Init (CoeffFct2D *lincoeffs, BoundCondFunct2D *BoundCond, BoundValueFunct2D *U1BoundValue, BoundValueFunct2D *U2BoundValue, CoeffFct2D *GridBilinearCoeffs, BoundCondFunct2D *GridBoundCond, BoundValueFunct2D *gridBoundValue, TAuxParam2D *aux, TAuxParam2D *nseaux_error)
 
void AddMeshModifyFunction (ModifyMeshCoords *modifyCoord)
 
void AddBoundModifyFunction (ModifyBoundCoords *modifyboudary)
 
void Assemble (double *sol, double *rhs)
 
void GetMeshVeloAndMove (int N_MovVert, TVertex **MovBoundVert, TIsoBoundEdge **Free_Joint, double *Iso_refX, double Currtime, double tau)
 
void GetMeshVeloAndMove (double Currtime, double tau)
 
void AssembleMeshMat ()
 
void AssembleSystMat (double scale, double *oldrhs, double *rhs, double *sol)
 
void AssembleSystMatNonLinear ()
 
void RestoreMassMat ()
 
void AssembleANonLinear (double *sol, double *rhs)
 
void Solve (double *sol)
 
void GetTNSEResidual (double *sol, double *res)
 
- Public Member Functions inherited from TSystemTNSE2D
 TSystemTNSE2D (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 TSystemTNSE2D More...
 
 ~TSystemTNSE2D ()
 
void Init (CoeffFct2D *lincoeffs, BoundCondFunct2D *BoundCond, BoundValueFunct2D *U1BoundValue, BoundValueFunct2D *U2BoundValue, TAuxParam2D *aux, TAuxParam2D *nseaux_error)
 
void Assemble (double *sol, double *rhs)
 
void AssembleRhs (double *sol, double *rhs)
 
void AssembleSystMat (double scale, double *oldrhs, double *rhs, double *sol)
 
void AssembleSystMatNonLinear ()
 
void RestoreMassMat ()
 
void AssembleANonLinear (double *sol, double *rhs)
 
void Solve (double *sol)
 
void GetTNSEResidual (double *sol, double *res)
 
void MeasureTNSEErrors (DoubleFunct2D *ExactU1, DoubleFunct2D *ExactU2, DoubleFunct2D *ExactP, double *AllErrors)
 
- Public Member Functions inherited from 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 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_GridDOFs
 
int N_GridActive
 
int * GridKCol
 
int * GridRowPtr
 
double * MeshVelo
 
double * gridpos
 
double * gridpos_old
 
double * gridpos_ref
 
double * griddisp
 
double * GridRhs
 
double * Entries [4]
 
TFESpace2DGridFESpace
 
BoundValueFunct2D * GridBoundValue [1]
 
TFEVectFunct2DGridPos
 
TFEVectFunct2DRefGridPos
 
TFEFunction2DMeshVeloFct [2]
 
TDiscreteForm2DDiscreteFormMARhs
 
TDiscreteForm2DDiscreteFormGrid
 
TSquareMatrix2DSqmatrixG11
 
TSquareMatrix2DSqmatrixG12
 
TSquareMatrix2DSqmatrixG21
 
TSquareMatrix2DSqmatrixG22
 
TSquareMatrix2DSQMATRICES_GRID [4]
 
TSquareStructure2DSquareStructureG
 
TAuxParam2DAux_ALE
 
TAuxParam2DMeshaux
 
BoundCondFunct2D * GridBoundaryConditions [1]
 
BoundValueFunct2D * GridBoundValues [1]
 
ModifyMeshCoords * ModifyCoord
 
ModifyBoundCoords * ModifyBoudary
 
bool SolveLinearElastic
 
bool CONSERVATIVEALE
 
bool NeedInterMassMat
 
- Protected Attributes inherited from TSystemTNSE2D
TSquareMatrix2DSqmatrixM11
 
TSquareMatrix2DSqmatrixM12
 
TSquareMatrix2DSqmatrixM21
 
TSquareMatrix2DSqmatrixM22
 
double * B
 
double * defect
 
double gamma
 
TDiscreteForm2DDiscreteFormRhs
 
TAuxParam2DNSE_Rhsaux
 
bool SystMatAssembled
 
double olderror_l_2_l_2u
 
- Protected Attributes inherited from TSystemNSE2D
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 TNSE system matrix

class for 2D TNSE system matrix


Author
Sashikumaar Ganesan,Birupaksha Pal
Date
03.09.14 Added methods (Sashi, 03.09.14)

Constructor & Destructor Documentation

TSystemTNSE2D_ALE::TSystemTNSE2D_ALE ( 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 TFESpace2D gridFESpace,
TFEVectFunct2D MeshVelocity,
bool  conservativeale 
)

source file for TSystemTNSE2D_ALE

constructor


Author
Sashikumaar Ganesan
Date
23.02.15

old M mass matrix

Here is the call graph for this function:

Member Function Documentation

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

assemble the M, A and rhs

Here is the call graph for this function:

void TSystemTNSE2D_ALE::AssembleANonLinear ( double *  sol,
double *  rhs 
)

assemble the nonlinear part of the NSE system

Here is the call graph for this function:

void TSystemTNSE2D_ALE::AssembleMeshMat ( )

assemble the Mesh mat and rhs

Here is the call graph for this function:

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

scale B matices and assemble rhs based on the scheme

Here is the call graph for this function:

void TSystemTNSE2D_ALE::AssembleSystMatNonLinear ( )

scale B matices and assemble rhs based on the scheme

void TSystemTNSE2D_ALE::GetMeshVeloAndMove ( int  N_MovVert,
TVertex **  MovBoundVert,
TIsoBoundEdge **  Free_Joint,
double *  Iso_refX,
double  Currtime,
double  tau 
)

store M mat for next time step move mesh move mesh Get Mesh Velo

Here is the call graph for this function:

void TSystemTNSE2D_ALE::GetMeshVeloAndMove ( double  Currtime,
double  tau 
)

Get Mesh Velo

Here is the call graph for this function:

void TSystemTNSE2D_ALE::GetTNSEResidual ( double *  sol,
double *  res 
)

get the resudual of the NSE system

void TSystemTNSE2D_ALE::Init ( CoeffFct2D *  lincoeffs,
BoundCondFunct2D *  BoundCond,
BoundValueFunct2D *  U1BoundValue,
BoundValueFunct2D *  U2BoundValue,
CoeffFct2D *  GridBilinearCoeffs,
BoundCondFunct2D *  GridBoundCond,
BoundValueFunct2D *  gridBoundValue,
TAuxParam2D aux,
TAuxParam2D nseaux_error 
)

destrcutor methods Initilize the discrete forms and the matrices

void TSystemTNSE2D_ALE::RestoreMassMat ( )

restoring the mass matrix

void TSystemTNSE2D_ALE::Solve ( double *  sol)

solve the system matrix

Member Data Documentation

TAuxParam2D* TSystemTNSE2D_ALE::Aux_ALE
protected

aux for mesh

TDiscreteForm2D* TSystemTNSE2D_ALE::DiscreteFormMARhs
protected

Discrete form for moving mesh

BoundCondFunct2D* TSystemTNSE2D_ALE::GridBoundaryConditions[1]
protected

Grid bounadry conditions

BoundValueFunct2D* TSystemTNSE2D_ALE::GridBoundValue[1]
protected

Fgrid BC

TFESpace2D* TSystemTNSE2D_ALE::GridFESpace
protected

grid fespace

TFEVectFunct2D* TSystemTNSE2D_ALE::GridPos
protected

grid pos vector

double* TSystemTNSE2D_ALE::MeshVelo
protected

Grid Posistions

TFEFunction2D* TSystemTNSE2D_ALE::MeshVeloFct[2]
protected

Fe functions of NSE

ModifyBoundCoords* TSystemTNSE2D_ALE::ModifyBoudary
protected

method for Modify Mesh Coords

ModifyMeshCoords* TSystemTNSE2D_ALE::ModifyCoord
protected

method for Modify Mesh Coords

int TSystemTNSE2D_ALE::N_GridDOFs
protected

No. of Grid DOFs

TSquareMatrix2D* TSystemTNSE2D_ALE::SqmatrixG11
protected

M - mass/system mat for TNSE velocity component marices for the moving grid

TSquareStructure2D* TSystemTNSE2D_ALE::SquareStructureG
protected

structure for the moving grid


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