ParMooN
 All Classes Functions Variables Friends Pages
Public Member Functions | Protected Attributes | List of all members
TADISystem1D Class Reference
Inheritance diagram for TADISystem1D:
Inheritance graph
[legend]
Collaboration diagram for TADISystem1D:
Collaboration graph
[legend]

Public Member Functions

 TADISystem1D (TFEFunction1D *FEFunction_intl, TSquareMatrix1D *M_internal, TSquareMatrix1D *A_internal, TSquareMatrix1D *S_internal, TSquareMatrix1D *K_internal, double x, double y, DoubleFunctND *initial, DoubleFunct2D *bDValue_LMin, DoubleFunct2D *bDVal_LMax, double *Sol, double *OldSol, double *b, double *Defect, double *Intlposl, DoubleFunctND *growthAndNuc)
 
 TADISystem1D (TFEFunction1D *FEFunction_intl, TSquareMatrix1D *M_internal, TSquareMatrix1D *A_internal, double x, double y, double z, double *Sol, double *OldSol, double *b, double *Defect, DoubleFunctND *growthfunct)
 
void SetDirichletBc (BoundCond cond_Lmin, BoundCond cond_Lmax, double BDValue_Lmin, double BDValue_Lmax)
 
void Interpolate (double *Sol, DoubleFunctND *Exact)
 
void SolveAllLevels (double *MatValues_orig, double *SolFromX, double *AggrRhs, double &C, double C_Sat, double &T, CoeffFctND *BilinearCoeffs, double tau, BoundCond cond_Lmin, BoundCond cond_Lmax, DoubleFunct3D *Exact)
 
void AssembleInitRhs (double C, double T, CoeffFctND *BilinearCoeffs, BoundCond cond_Lmin, BoundCond cond_Lmax)
 
void AssembleARhs_FD (double Conv, CoeffFctND *Bilinear)
 
void AssembleARhs (double Conv, CoeffFctND *Bilinear)
 
void AssembleARhs_SUPG (double Conv, CoeffFctND *Bilinear)
 
void AssembleARhs_DG (double Conv, double Bnuc, CoeffFctND *Bilinear, BoundCond cond_Lmin, BoundCond cond_Lmax)
 
double GetWeightedF ()
 
int GetN_InternalLevels ()
 
double GetQ3Max (double *currsol)
 
 ~TADISystem1D ()
 
- Public Member Functions inherited from TADISystem
 TADISystem (double *Sol, double *OldSol, double *b, double *Defect, DoubleFunctND *growthfunct)
 
 ~TADISystem ()
 

Protected Attributes

double X
 
double Y
 
double Z
 
TFESpace1DFESpace1D_Intl
 
TFEFunction1DFEFunction_Intl
 
TSquareMatrix1DM_Intl
 
TSquareMatrix1DA_Intl
 
TSquareMatrix1DS_Intl
 
TSquareMatrix1DK_Intl
 
DoubleFunctND * Initial
 
DoubleFunct2D * BDValue_LMin
 
DoubleFunct2D * BDVal_LMax
 
- Protected Attributes inherited from TADISystem
TCollectionCollection_Intl
 
int N_V
 
double * sol
 
double * oldsol
 
double * rhs
 
double * B
 
double * defect
 
int N_MMatValues
 
DoubleFunctND * GetGrowthAndNuc
 
double * IntlPosL
 

Constructor & Destructor Documentation

TADISystem1D::TADISystem1D ( TFEFunction1D FEFunction_intl,
TSquareMatrix1D M_internal,
TSquareMatrix1D A_internal,
TSquareMatrix1D S_internal,
TSquareMatrix1D K_internal,
double  x,
double  y,
DoubleFunctND *  initial,
DoubleFunct2D *  bDValue_LMin,
DoubleFunct2D *  bDVal_LMax,
double *  Sol,
double *  OldSol,
double *  b,
double *  Defect,
double *  Intlposl,
DoubleFunctND *  growthAndNuc 
)

constructor

Here is the call graph for this function:

TADISystem1D::TADISystem1D ( TFEFunction1D FEFunction_intl,
TSquareMatrix1D M_internal,
TSquareMatrix1D A_internal,
double  x,
double  y,
double  z,
double *  Sol,
double *  OldSol,
double *  b,
double *  Defect,
DoubleFunctND *  growthfunct 
)

constructor

set the rhs

Here is the call graph for this function:

TADISystem1D::~TADISystem1D ( )

destrcutor

Member Function Documentation

void TADISystem1D::AssembleARhs ( double  Conv,
CoeffFctND *  Bilinear 
)

Assembling A matrix mass mat is same for all quad points in this cell

Here is the call graph for this function:

Here is the caller graph for this function:

void TADISystem1D::AssembleARhs_DG ( double  Conv,
double  Bnuc,
CoeffFctND *  Bilinear,
BoundCond  cond_Lmin,
BoundCond  cond_Lmax 
)

Assembling A matrix mass mat is same for all quad points in this cell

Here is the call graph for this function:

Here is the caller graph for this function:

void TADISystem1D::AssembleARhs_FD ( double  Conv,
CoeffFctND *  Bilinear 
)

Assembling A matrix Ilen-Southwell finite difference matrix mass mat is same for all quad points in this cell

Here is the call graph for this function:

Here is the caller graph for this function:

void TADISystem1D::AssembleARhs_SUPG ( double  Conv,
CoeffFctND *  Bilinear 
)

Assembling A matrix mass mat is same for all quad points in this cell

Here is the call graph for this function:

Here is the caller graph for this function:

void TADISystem1D::AssembleInitRhs ( double  C,
double  T,
CoeffFctND *  BilinearCoeffs,
BoundCond  cond_Lmin,
BoundCond  cond_Lmax 
)

A needed for rhs, other than Euler schemes

growth rate based on concentration defined in Example file

store the mat for the first time step

void TADISystem1D::SolveAllLevels ( double *  MatValues_orig,
double *  SolFromX,
double *  AggrRhs,
double &  C,
double  C_Sat,
double &  T,
CoeffFctND *  BilinearCoeffs,
double  tau,
BoundCond  cond_Lmin,
BoundCond  cond_Lmax,
DoubleFunct3D *  Exact 
)

store the original mass mat values

set f as non negative

save the t^n values C^{n-1}= C^n, T^{n-1}= T^n before the iteration starts

growth rate based on concentration defined in Example file

init rhs

assemble matrices

store A and other mat values from previous time step for rhs calculation

f^{n-1}= f^n, , that is, SolFromX at l==0

if aggr need to be considered then Aggr function has to be called within nonlinear loop

so, aggregation is treated explicitly, since the aggr routines are expensive

make sure dt is multiplied with Aggr in main prg

( aggregaion, b v)

add it to old rhs

oldsol now contains : dt*A_{agg} + [M + S^{supg} - dt(A+K^{supg})]f^{n-1} + dt*(supg aggr)

working rhs array

old rhs

usually zero, as no other term except Aggr, so no need dt*[theata3 + theta4]

reset mass matrix

system matrix

add SUPG, time and space matrices

set the Diriclet BC

set DIRICHLET value

reset the mass matrix for next nonlinear iteration just before the system mat assembling using orig M mat values

Here is the call graph for this function:

Member Data Documentation

TSquareMatrix1D* TADISystem1D::A_Intl
protected

stiffness matrix for all QuadPts

DoubleFunct2D* TADISystem1D::BDValue_LMin
protected

Boundary values

TFEFunction1D* TADISystem1D::FEFunction_Intl
protected

fe function, needed ofr interpolation

TFESpace1D* TADISystem1D::FESpace1D_Intl
protected

Fe space of configuration space

DoubleFunctND* TADISystem1D::Initial
protected

Initial condition

TSquareMatrix1D* TADISystem1D::K_Intl
protected

supg stiffness matrix for all QuadPts

TSquareMatrix1D* TADISystem1D::M_Intl
protected

mass matrices for all QuadPt will not change

TSquareMatrix1D* TADISystem1D::S_Intl
protected

supg mass matrices for all QuadPt will not change

double TADISystem1D::X
protected

x value of physical space

double TADISystem1D::Y
protected

y value of physical space

double TADISystem1D::Z
protected

z value of physical space


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