#include <projectionMethod.h>
Public Member Functions | |
projectionMethod () | |
void | solve (int nPatch, real t, real dt, real Re, int cellNumberPerPatch, int **StartIndex, int **pointNumberMeshU, int **pointNumberMeshV, int **pointNumberMeshW, int **pointNumberMeshP, int dim, real ***xU, real ***xV, real ***xW, real ***xP, real *h, real ****u, real ****uIter, int ****uCagePoint, real ****v, real ****vIter, int ****vCagePoint, real ****w, real ****wIter, int ****wCagePoint, real ****p, real ****uAux, real ****vAux, real ****wAux, real ****fp, real ****exactP, int ****pUnknowns, int ****pCagePoint, PetscLinearSolver &pSolver, int &zeroInitialGuess) |
the projection method solver | |
~projectionMethod () |
This class is the acutal projection method Solver. It call uStar to calculate the predicted u*, call divUStar to calculate the divergence of u*, calls pressure to calculate pressure, and calls ghostPoint to do interpolation for the velocity. It call call the cage to set inner boundary conditions associated with spheres.
projectionMethod::projectionMethod | ( | ) |
constructor
projectionMethod::~projectionMethod | ( | ) |
destructor
void projectionMethod::solve | ( | int | nPatch, | |
real | t, | |||
real | dt, | |||
real | Re, | |||
int | cellNumberPerPatch, | |||
int ** | StartIndex, | |||
int ** | pointNumberMeshU, | |||
int ** | pointNumberMeshV, | |||
int ** | pointNumberMeshW, | |||
int ** | pointNumberMeshP, | |||
int | dim, | |||
real *** | xU, | |||
real *** | xV, | |||
real *** | xW, | |||
real *** | xP, | |||
real * | h, | |||
real **** | u, | |||
real **** | uIter, | |||
int **** | uCagePoint, | |||
real **** | v, | |||
real **** | vIter, | |||
int **** | vCagePoint, | |||
real **** | w, | |||
real **** | wIter, | |||
int **** | wCagePoint, | |||
real **** | p, | |||
real **** | uAux, | |||
real **** | vAux, | |||
real **** | wAux, | |||
real **** | fp, | |||
real **** | exactP, | |||
int **** | pUnknowns, | |||
int **** | pCagePoint, | |||
PetscLinearSolver & | pSolver, | |||
int & | zeroInitialGuess | |||
) |
the projection method solver
This class is the acutal projection method Solver. It call uStar to calculate the predicted u*, call divUStar to calculate the divergence of u*, calls pressure to calculate pressure, and calls ghostPoint to do interpolation for the velocity. It call call the cage to set inner boundary conditions associated with spheres.
nPatch | number of patches |
t | time |
dt | time increment |
Re | Reynolds number |
cellNumberPerPatch | cell numbers per patch surrounding the sphere |
StartIndex | used to put the refined mesh |
pointNumberMeshU | mesh points for u |
pointNumberMeshV | mesh points for v |
pointNumberMeshW | mesh points for w |
pointNumberMeshP | mesh points for p |
dim | dimension |
xU | coordinates of u |
xV | coordinates of v |
xW | coordinates of w |
xP | coordinates of p |
h | space step |
u | velocity u |
uIter | velocity u in the iteration |
uCagePoint | cage points for u |
v | velocity v |
vIter | velocity v in the iteration |
vCagePoint | cage points for v |
w | velocity w |
wIter | velocity w in the iteration |
wCagePoint | cage points for w |
p | pressure |
uAux | predicted u |
vAux | predicted u |
wAux | predicted u |
fp | extra force |
exactP | exact pressure |
pUnknowns | mesh points for p |
pCagePoint | cage points for p |
pSolver | PETSC linear solver |
zeroInitialGuess | if use zero as the initial guess for pressure |