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.