|
Public Member Functions |
| | ParticleProjector () |
| | default constructor
|
| | ParticleProjector (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_crseGrids, const ProblemDomain &a_domain, int a_nRefCrse, Real a_dx) |
| | defining constructor -- calls matching define function
|
| | ~ParticleProjector () |
| | destructor
|
| void | define (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_crseGrids, const ProblemDomain &a_domain, int a_nRefCrse, Real a_dx) |
| | define function
|
| void | projectForce (LevelData< FArrayBox > &a_force, const LevelData< BinFab< DragParticle > > &a_particles) |
| | projects force due to particles
|
| void | setSpreadingRadius (const Real a_rad) |
| | set spreading radius for MLC part of algorithm
|
| void | setCorrectionRadius (const Real a_rad) |
| | set correction radius for MLC part of algorithm
|
| Real | getSpreadingRadius () const |
| | get spreading radius for MLC part of algorithm
|
| Real | getCorrectionRadius () const |
| | get correction radius for MLC part of algorithm
|
| void | doImages (bool m_doImages) |
| | set whether to do image particles at physical boundaries
|
| bool | doImages () const |
| | do images at physical boundaries?
|
| bool | isDefined () const |
| void | setVerbosity (int a_verbosity) |
| | set verbosity level
|
| int | verbosity () const |
| | get verbosity level
|
Protected Member Functions |
| void | computeD (LevelData< FArrayBox > &a_D, const LevelData< BinFab< DragParticle > > &a_particles) |
| void | solveForProjForce (LevelData< FArrayBox > &a_projectedForce, const LevelData< FArrayBox > &a_D, const LevelData< BinFab< DragParticle > > &a_particles) |
| void | addImageEffects (FArrayBox &a_rhs, int a_buffer, int a_dir) const |
| | add effects of image particles near boundary to D in the dir direction
|
| void | defineImages (const LevelData< BinFab< DragParticle > > &a_particles) |
| | compute image particles near boundary, if necessary
|
| DragParticle * | createImageParticle (const DragParticle &a_particle, Real bndryLoc, int dir, Side::LoHiSide a_side) |
| | helper function
|
| void | doInfiniteDomainSolve (FArrayBox &phi, const FArrayBox &rhs) const |
| void | doNeumannSolve (FArrayBox &a_phi, const FArrayBox &a_rhs) const |
| | quick test function
|
| void | setDefaultValues () |
| | set default values
|
| int | infiniteDomainPadding () const |
| | amount to pad domain for infinite domain solve
|
Protected Attributes |
| DisjointBoxLayout | m_grids |
| | grids on this level
|
| DisjointBoxLayout | m_crseGrids |
| | coarse grids (undefined if no coarser level
|
| ProblemDomain | m_domain |
| int | m_nRefCrse |
| Real | m_dx |
| | cell spacing
|
| Real | m_spreadingRadius |
| | spreading radius for MLC
|
| Real | m_correctionRadius |
| | correction radius for MLC
|
| int | m_s |
| | parameter for infinite domain solve
|
| int | m_s1 |
| | parameter for infinite domain solve
|
| int | m_patchSize |
| | parameter for infinite domain solve
|
| List< DragParticle > | m_imageParticles |
| | list of image particles used to approximate solid walls
|
| bool | m_doImages |
| | should we do the image particle computation near physical boundaries?
|
| bool | m_isDefined |
| int | m_verbosity |
| | verbosity level
|
The ParticleProjector class encapsulates the functionality to take the individual drag forces due to a collection of particles and apply them to the mesh in an approximation to P(f), which may be then used as a source term for a Navier-Stokes advance step.