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 |
TFESpace1D * | FESpace1D_Intl |
TFEFunction1D * | FEFunction_Intl |
TSquareMatrix1D * | M_Intl |
TSquareMatrix1D * | A_Intl |
TSquareMatrix1D * | S_Intl |
TSquareMatrix1D * | K_Intl |
DoubleFunctND * | Initial |
DoubleFunct2D * | BDValue_LMin |
DoubleFunct2D * | BDVal_LMax |
Protected Attributes inherited from TADISystem | |
TCollection * | Collection_Intl |
int | N_V |
double * | sol |
double * | oldsol |
double * | rhs |
double * | B |
double * | defect |
int | N_MMatValues |
DoubleFunctND * | GetGrowthAndNuc |
double * | IntlPosL |
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
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
TADISystem1D::~TADISystem1D | ( | ) |
destrcutor
void TADISystem1D::AssembleARhs | ( | double | Conv, |
CoeffFctND * | Bilinear | ||
) |
Assembling A matrix mass mat is same for all quad points in this cell
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
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
void TADISystem1D::AssembleARhs_SUPG | ( | double | Conv, |
CoeffFctND * | Bilinear | ||
) |
Assembling A matrix mass mat is same for all quad points in this cell
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
|
protected |
stiffness matrix for all QuadPts
|
protected |
Boundary values
|
protected |
fe function, needed ofr interpolation
|
protected |
Fe space of configuration space
|
protected |
Initial condition
|
protected |
supg stiffness matrix for all QuadPts
|
protected |
mass matrices for all QuadPt will not change
|
protected |
supg mass matrices for all QuadPt will not change
|
protected |
x value of physical space
|
protected |
y value of physical space
|
protected |
z value of physical space