Public Methods |
| AMRParticleProjector () |
| default constructor
|
| AMRParticleProjector (const Vector< DisjointBoxLayout > &a_vectGrids, const Vector< DisjointBoxLayout > &a_vectParticleGrids, const Vector< ProblemDomain > &a_vectDomain, const Vector< int > &a_vectRefRatio, const Vector< Real > &a_vectDx, const Vector< LevelData< BinFab< DragParticle > > * > &a_vectParticles, Real a_spreadingRadius, Real a_correctionRadius=2, int a_gridsGrow=0) |
| defining full constructor -- calls matching define function
|
| ~AMRParticleProjector () |
| destructor
|
void | define (const Vector< DisjointBoxLayout > &a_vectGrids, const Vector< DisjointBoxLayout > &a_vectParticleGrids, const Vector< ProblemDomain > &a_vectDomain, const Vector< int > &a_vectRefRatio, const Vector< Real > &a_vectDx, const Vector< LevelData< BinFab< DragParticle > > * > &a_vectParticles, Real a_spreadingRadius, Real a_correctionRadius=2, int a_gridsGrow=0) |
| define function
|
void | clear () |
| the opposite of define
|
void | projectForce (Vector< LevelData< FArrayBox > * > &a_vectForce, const Vector< 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?
|
void | setGridsGrow (int a_gridsGrow) |
| set amount by which to pad grown grids
|
void | infDomainCoarsenFactor (int a_factor) |
| set refinement ratio down to coarser level for infDomain solve
|
bool | isDefined () const |
bool | grownGridsDefined () const |
| has grown grid hierarchy been defined?
|
void | setVerbosity (int a_verbosity) |
| set verbosity level
|
int | verbosity () const |
| get verbosity level
|
void | computeD (Vector< LevelData< FArrayBox > * > &a_vectD, const Vector< LevelData< BinFab< DragParticle > > * > &a_particles) |
| compute RHS for elliptic solve.
|
void | solveForProjForce (Vector< LevelData< FArrayBox > * > &a_projectedForce, const Vector< LevelData< FArrayBox > * > &a_D, int a_lbase) |
void | defineImages (List< DragParticle > &a_imageParticles, const Vector< LevelData< BinFab< DragParticle > > * > &a_particles) |
| compute image particles near boundary, if necessary
|
void | defineGrownGrids (const Vector< DisjointBoxLayout > &a_grids, const Vector< LevelData< BinFab< DragParticle > > * > &a_vectParticles) |
| helper function to define grown grids
|
Protected Methods |
void | createImageParticle (DragParticle &a_image, const DragParticle &a_particle, Real bndryLoc, int dir, Side::LoHiSide a_side) |
| helper function
|
void | setDefaultValues () |
| set default values
|
Protected Attributes |
Vector< DisjointBoxLayout > | m_vectGrids |
| grids
|
Vector< DisjointBoxLayout > | m_vectParticleGrids |
| grids which particles will be on
|
Vector< DisjointBoxLayout > | m_vectGrownGrids |
| grids which are grown to include image particles
|
Vector< DisjointBoxLayout > | m_vectGrownParticleGrids |
| grids which are grown to include image particles, load balanced by particles
|
Vector< ProblemDomain > | m_vectDomain |
Vector< ProblemDomain > | m_vectGrownDomain |
Vector< int > | m_vectRefRatio |
Vector< int > | m_vectGrownRefRatio |
Vector< Real > | m_vectDx |
| cell spacing
|
Vector< Real > | m_vectGrownDx |
Real | m_spreadingRadius |
| spreading radius for MLC
|
Real | m_correctionRadius |
| correction radius for MLC
|
int | m_gridsGrow |
| extra padding to grow grids by
|
int | m_infDomainCoarsenFactor |
| amount to coarsen 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_returnInfDomBC |
| do we need inifinite domain BC's on projected force?
|
bool | m_isDefined |
bool | m_grownGridsDefined |
int | m_verbosity |
| verbosity level
|
The AMRParticleProjector 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.