#include <NSSolver.h>
Public Member Functions | |
| NSSolver () | |
| void | solve (int nPatch, real t, real dt, real Re, int nTruncate, int cellNumberPerPatch, int **StartIndex, real *xParticleCenter, real *yParticleCenter, real *zParticleCenter, int **pointNumberMeshU, int **pointNumberMeshV, int **pointNumberMeshW, int **pointNumberMeshP, int **pointNumberMeshOmegaX, int **pointNumberMeshOmegaY, int **pointNumberMeshOmegaZ, int dim, real ***xU, real ***xV, real ***xW, real ***xP, real ***xOmegaX, real ***xOmegaY, real ***xOmegaZ, real *h, real ****u, real ****v, real ****w, real ****p, real ****omegaX, real ****omegaY, real ****omegaZ, real ****uAux, real ****vAux, real ****wAux, real ****fp, real ****exactP, int ****pUnknowns, int ****uCagePoint, int ****vCagePoint, int ****wCagePoint, int ****pCagePoint, int ****omegaXCagePoint, int ****omegaYCagePoint, int ****omegaZCagePoint, vector< real > &UFixedParticles, vector< real > &SFixedParticles, vector< real > &VFixedParticles, int &fixedParticles, int rotatingParticles, real **angVel, real **angVelAcc, real **torqueOld, real **torqueNew, PetscLinearSolver &pSolver, int &zeroInitialGuess) |
| Navier-Stokes equation Solver. | |
| ~NSSolver () | |
This class is the acutal Navier-Stokes equation Solver. It calls the classes cage for the inner velocity boundary conditions associated with the particle no-slip boundary conditions and projectionMethod to integate the Navier-Stokes equation.
| NSSolver::NSSolver | ( | ) |
constructor
| NSSolver::~NSSolver | ( | ) |
destructor
| void NSSolver::solve | ( | int | nPatch, | |
| real | t, | |||
| real | dt, | |||
| real | Re, | |||
| int | nTruncate, | |||
| int | cellNumberPerPatch, | |||
| int ** | StartIndex, | |||
| real * | xParticleCenter, | |||
| real * | yParticleCenter, | |||
| real * | zParticleCenter, | |||
| int ** | pointNumberMeshU, | |||
| int ** | pointNumberMeshV, | |||
| int ** | pointNumberMeshW, | |||
| int ** | pointNumberMeshP, | |||
| int ** | pointNumberMeshOmegaX, | |||
| int ** | pointNumberMeshOmegaY, | |||
| int ** | pointNumberMeshOmegaZ, | |||
| int | dim, | |||
| real *** | xU, | |||
| real *** | xV, | |||
| real *** | xW, | |||
| real *** | xP, | |||
| real *** | xOmegaX, | |||
| real *** | xOmegaY, | |||
| real *** | xOmegaZ, | |||
| real * | h, | |||
| real **** | u, | |||
| real **** | v, | |||
| real **** | w, | |||
| real **** | p, | |||
| real **** | omegaX, | |||
| real **** | omegaY, | |||
| real **** | omegaZ, | |||
| real **** | uAux, | |||
| real **** | vAux, | |||
| real **** | wAux, | |||
| real **** | fp, | |||
| real **** | exactP, | |||
| int **** | pUnknowns, | |||
| int **** | uCagePoint, | |||
| int **** | vCagePoint, | |||
| int **** | wCagePoint, | |||
| int **** | pCagePoint, | |||
| int **** | omegaXCagePoint, | |||
| int **** | omegaYCagePoint, | |||
| int **** | omegaZCagePoint, | |||
| vector< real > & | UFixedParticles, | |||
| vector< real > & | SFixedParticles, | |||
| vector< real > & | VFixedParticles, | |||
| int & | fixedParticles, | |||
| int | rotatingParticles, | |||
| real ** | angVel, | |||
| real ** | angVelAcc, | |||
| real ** | torqueOld, | |||
| real ** | torqueNew, | |||
| PetscLinearSolver & | pSolver, | |||
| int & | zeroInitialGuess | |||
| ) |
Navier-Stokes equation Solver.
This class is the acutal Navier-Stokes equation Solver. It calls the classes cage for the inner velocity boundary conditions associated with the particle no-slip boundary conditions and projectionMethod to integate the Navier-Stokes equation.
At the time step n, the field of u, v, and p are given. this class is used to calculate the fields in the next time step n+1
| nPatch | number of patches |
| t | time |
| dt | time increment |
| Re | Reynolds number |
| nTruncate | the order for truncated spectral analytical solution |
| cellNumberPerPatch | cell numbers per patch surrounding the sphere |
| StartIndex | used to put the refined mesh |
| xParticleCenter | x coordinate of particle center |
| yParticleCenter | y coordinate of particle center |
| zParticleCenter | z coordinate of particle center |
| pointNumberMeshU | mesh points for u |
| pointNumberMeshV | mesh points for v |
| pointNumberMeshW | mesh points for w |
| pointNumberMeshP | mesh points for p |
| pointNumberMeshOmegaX | mesh points for omegaX |
| pointNumberMeshOmegaY | mesh points for omegaY |
| pointNumberMeshOmegaZ | mesh points for omegaY |
| dim | dimension |
| xU | coordinates of u |
| xV | coordinates of v |
| xW | coordinates of w |
| xP | coordinates of p |
| xOmegaX | coordinates of omegaX |
| xOmegaY | coordinates of omegaX |
| xOmegaZ | coordinates of omegaX |
| h | space step |
| u | velocity u |
| v | velocity v |
| w | velocity w |
| p | pressure |
| omegaX | vorticity omegaX |
| omegaY | vorticity omegaY |
| omegaZ | vorticity omegaZ |
| uAux | predicted u |
| vAux | predicted v |
| wAux | predicted w |
| fp | extra force |
| exactP | exact pressure |
| pUnknowns | mesh points for p |
| uCagePoint | cage points for u |
| vCagePoint | cage points for v |
| wCagePoint | cage points for w |
| pCagePoint | cage points for p |
| omegaXCagePoint | cage points for omegaX |
| omegaYCagePoint | cage points for omegaY |
| omegaZCagePoint | cage points for omegaY |
| UFixedParticles | stores U of the LLS solver |
| SFixedParticles | stores S of the LLS solver |
| VFixedParticles | stores V of the LLS solver |
| fixedParticles | stores if the particles are fixed |
| rotatingParticles | stores if the particles are rotating |
| angVel | angular velocity of particles |
| angVelAcc | angular velocity acceleration of particles |
| torqueOld | torque value in previous iteration of particles |
| torqueNew | torque value in current iteration of particles |
| pSolver | PETSC linear solver |
| zeroInitialGuess | if use zero as the initial guess for pressure |
1.5.6