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

stores the information of a timedependent part of a 3D scalar system matrix More...

#include <SystemTCD3D.h>

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

Public Member Functions

 TSystemTCD3D (int N_levels, TFESpace3D **fespaces, double **sol, double **rhs, int disctype, int solver)
 source file for TSystemTCD3D More...
 
 ~TSystemTCD3D ()
 
void Init (CoeffFct3D *BilinearCoeffs, BoundCondFunct3D *BoundCond, BoundValueFunct3D *BoundValue, TAuxParam3D *aux)
 
TSquareMatrix3D ** GetAMatrix ()
 
void AssembleMRhs ()
 
void AssembleARhs ()
 
void AssembleSystMat (double *oldrhs, double *oldsol, double *rhs, double *sol#ifdef _MPI, double **Rhs_array#endif)
 
void RestoreMassMat ()
 
void Solve (double *sol)
 
double GetResidual (double *sol)
 
double value (double *sol, int N)
 
- Public Member Functions inherited from TSystemCD3D
 TSystemCD3D (int N_levels, TFESpace3D **fespaces, double **sol, double **rhs, int disctype, int solver)
 
 ~TSystemCD3D ()
 
void Init (CoeffFct3D *BilinearCoeffs, BoundCondFunct3D *BoundCond, BoundValueFunct3D *BoundValue, TAuxParam3D *aux)
 
void Assemble ()
 
void Solve (double *sol, double *rhs)
 
TParFECommunicator3DGet_ParComm (int level)
 

Protected Attributes

TParDirectSolverTDS
 
TSquareMatrix3D ** sqmatrixM
 
double * B
 
double * defect
 
double gamma
 
bool factorize
 
TAssembleMat3D ** MMatRhsAssemble
 
TDiscreteForm3DDiscreteFormMRhs
 
TDiscreteForm3DDiscreteFormRhs
 
bool SystMatAssembled
 
- Protected Attributes inherited from TSystemCD3D
TParFEMapper3D ** ParMapper
 
TParFECommunicator3D ** ParComm
 
MPI_Comm Comm
 
TParDirectSolverDS
 
int N_Levels
 
int Start_Level
 
TFESpace3D ** FeSpaces
 
TFESpace3Dfesp [1]
 
TFESpace3Dferhs [1]
 
BoundCondFunct3D * BoundaryConditions [1]
 
BoundValueFunct3D * BoundaryValues [1]
 
int N_DOF
 
int Disctype
 
int SOLVER
 
int N_Matrices
 
TAssembleMat3D ** AMatRhsAssemble
 
TSquareStructure3D ** sqstructure
 
TSquareMatrix3D ** sqmatrixA
 
TSquareMatrix3DSQMATRICES [1]
 
TSquareMatrix ** sqmatrices
 
TDiscreteForm3DDiscreteFormARhs
 
double ** SolArray
 
double ** RhsArray
 
double * RHSs [1]
 
double Parameters [2]
 
double N_aux
 
double * Itmethod_sol
 
double * Itmethod_rhs
 
TMultiGrid3DMG
 
TMGLevel3DMGLevel
 
TItMethodItmethod
 
TItMethodprec
 

Detailed Description

stores the information of a timedependent part of a 3D scalar system matrix

class for 3D scalar system matrix


Author
Sashikumaar Ganesan
Date
24.01.15

Constructor & Destructor Documentation

TSystemTCD3D::TSystemTCD3D ( int  N_levels,
TFESpace3D **  fespaces,
double **  sol,
double **  rhs,
int  disctype,
int  solver 
)

source file for TSystemTCD3D

constructor


Author
Sashikumaar Ganesan
Date
24.01.15

M mass and system matrix

working rhs, used in AssembleSystMat()

time-consistent part of the SUPG matrix

TSystemTCD3D::~TSystemTCD3D ( )

destrcutor

Member Function Documentation

void TSystemTCD3D::AssembleARhs ( )

assemble the stifness mat and rhs

reset the matrix and rhs

set rhs for Dirichlet nodes

Here is the call graph for this function:

void TSystemTCD3D::AssembleMRhs ( )

assemble the Mass mat and rhs

initialize matrices and rhs

free the Mass mat array, no need in time loop

set rhs for Dirichlet nodes

Here is the call graph for this function:

void TSystemTCD3D::AssembleSystMat ( double *  oldrhs,
double *  oldsol,
double *  rhs,
double *sol#ifdef  _MPI,
double **Rhs_array#  endif 
)

M = M + (tau*THETA1)*A B = (tau*THETA1)*rhs +(tau*THETA2)*oldrhs + [ M - (tau*THETA2)A]*oldsol

old rhs multiplied with current subtime step and theta3 on B

add rhs from current sub time step to rhs array B

M = M + (- tau*THETA2)A

defect = M * oldsol

B:= B + defec

set Dirichlet values

assemble the system matrix

Here is the call graph for this function:

TSquareMatrix3D** TSystemTCD3D::GetAMatrix ( )
inline

return the stiffness matric

double TSystemTCD3D::GetResidual ( double *  sol)

return the residual of the system for the given sol

void TSystemTCD3D::Init ( CoeffFct3D *  BilinearCoeffs,
BoundCondFunct3D *  BoundCond,
BoundValueFunct3D *  BoundValue,
TAuxParam3D aux 
)

methods

Here is the call graph for this function:

void TSystemTCD3D::RestoreMassMat ( )

restoring the mass matrix

void TSystemTCD3D::Solve ( double *  sol)

solve the system matrix

solve linear system

Here is the call graph for this function:

Member Data Documentation

double* TSystemTCD3D::B
protected

working rhs, used in AssembleSystMat()

double* TSystemTCD3D::defect
protected

to store defect

TDiscreteForm3D* TSystemTCD3D::DiscreteFormMRhs
protected

Stiffness part of the SUPG matrix time-consistent part of the SUPG matrix Discrete form of the M and rhs matrics

double TSystemTCD3D::gamma
protected

factor that multplied with Mat A in working rhs

TAssembleMat3D** TSystemTCD3D::MMatRhsAssemble
protected

instance of the Assemble class

TSquareMatrix3D** TSystemTCD3D::sqmatrixM
protected

M mass matrix

bool TSystemTCD3D::SystMatAssembled
protected

Systmat assemble indicator


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