#include <DragParticle.H>
Inheritance diagram for DragParticle:
Public Methods | |
DragParticle () | |
default constructor | |
DragParticle (const RealVect &a_position) | |
partial constructor, to match the one in BinItem | |
DragParticle (const RealVect &a_position, const RealVect &a_velocity, const DiscreteDeltaFn *a_deltaFnPtr) | |
full constructor -- calls matching define function | |
DragParticle (const DragParticle &) | |
copy constructor | |
virtual | ~DragParticle () |
destructor | |
virtual void | define (const RealVect &a_position) |
partial define function | |
virtual void | define (const RealVect &a_position, const RealVect &a_velocity, const DiscreteDeltaFn *a_deltaFnPtr) |
full define function | |
virtual void | setVel (const RealVect &a_vel) |
set velocity | |
virtual void | setFluidVel (const RealVect &a_vel) |
set local fluid velocity | |
virtual void | setFluidVel (Real a_vel, int a_comp) |
set local fluid velocity, single component | |
virtual void | setDragForce (const RealVect &a_force) |
set drag force | |
virtual void | setBodyForce (const RealVect &a_force) |
set force due to gravity (will be added to any computed drag force) | |
virtual RealVect | velocity () const |
get velocity | |
virtual RealVect | fluidVel () const |
get local fluid velocity | |
virtual RealVect | totalForce () const |
get total force on the particle | |
virtual RealVect | dragForce () const |
get drag force on the particle | |
virtual RealVect | bodyForce () const |
get constant body force | |
virtual void | setDragCoeff (const Real a_dragCoeff) |
set drag coefficient used to compute drag force | |
virtual Real | dragCoeff () const |
get drag coefficient | |
virtual Real | mass () const |
get mass of particle | |
virtual void | setMass (Real a_mass) |
set mass of particle | |
virtual bool | boundaryMarker () const |
has this particle recently hit the boundary? | |
virtual void | setBoundaryMarker (bool a_marker) |
set the boundary marker flag | |
virtual DragParticle * | clone () const |
create a clone of this particle | |
virtual void | computeDragForce (const RealVect &a_flowVelocity) |
compute force on particle from fluid | |
virtual void | computeDragForce () |
compue force on particle from fluid, using stored fluid vel | |
virtual Real | computeK (const RealVect &a_x, int a_idir, int a_jdir) const |
compute K_{ij} at x for this particle | |
virtual Real | computeProjForce (const RealVect &a_x, int a_idir) const |
compute sum_j f_j K_{ij} for j=0,SpaceDim-1 (DRAG force on fluid) | |
virtual void | computeProjForce (FArrayBox &a_force, const Box &a_box, Real a_dx, RealVect &a_origin) const |
increment FAB with sum_j f_j K_{ij} for j=0,SpaceDim-1 (force on fluid) | |
virtual void | computeProjForce (FArrayBox &a_force, const Box &a_box, int a_idir, int a_destComp, Real a_dx, RealVect &a_origin) const |
increment FAB with sum_j f_j K_{ij} for j=0,SpaceDim-1 (force on fluid) | |
virtual int | size () const |
Number of bytes used by linearIn()/linearOut(). | |
virtual int | linearSize () const |
(just calls size() function) | |
virtual void | linearOut (void *a_buf) const |
Write a serialized (packed) representation into a_buf. | |
virtual void | linearIn (const void *const a_buf) |
Extract a serialized (packed) representation from a_buf. | |
int | preAllocatable () |
DragParticle & | operator= (const DragParticle &a_src) |
assignment operator (makes clone of delta function) | |
Protected Methods | |
void | setDefaultValues () |
set default values for data members | |
Protected Attributes | |
RealVect | m_velocity |
velocity | |
RealVect | m_fluidVel |
local fluid velocity (stored here for convenience | |
RealVect | m_dragForce |
drag force vector | |
RealVect | m_bodyForce |
body force vector | |
Real | m_dragCoeff |
drag coefficient | |
Real | m_mass |
particle mass | |
bool | m_boundaryMarker |
marker that we've interacted with the physical boundary | |
PolynomialDelta | m_deltaFn |
local copy of discrete delta function |
The DragParticle class encapsulates the definition of the particles used for suspensions of particles, and is derived from BinItem to allow it to interface with the BinFab infrastructure in Chombo.
The DragParticle also contains a DiscreteDeltaFn object to specify the spreading function which will be used for this particle.
|
default constructor
|
|
partial constructor, to match the one in BinItem Calls matching define function |
|
full constructor -- calls matching define function
|
|
copy constructor
|
|
destructor
|
|
get constant body force
|
|
has this particle recently hit the boundary?
|
|
create a clone of this particle this may be a convenient way of creating a particle with the same properties (drag coeff, delta fn) as this one. |
|
compue force on particle from fluid, using stored fluid vel
|
|
compute force on particle from fluid We assume a drag law for the force, where the drag force depends on the difference between the particle velocity and the local fluid velocity |
|
compute K_{ij} at x for this particle Note that only the drag force is used in this computation, since body force does not act on the fluid. |
|
increment FAB with sum_j f_j K_{ij} for j=0,SpaceDim-1 (force on fluid) Assumes force already computed and set. Note that this returns force exerted _by_ the particle on the surrounding fluid. Note that FAB is incremented, so you need to set to zero the first time this is called. This version computes only the idir component and puts it in the destComp component in the FAB |
|
increment FAB with sum_j f_j K_{ij} for j=0,SpaceDim-1 (force on fluid) Assumes drag force already computed and set. Note that this returns drag force exerted _by_ the particle on the surrounding fluid. Note that FAB is incremented, so you need to set to zero the first time this is called. Note that this is only the drag force, since the body force does not act on the fluid. This version computes all SpaceDim components |
|
compute sum_j f_j K_{ij} for j=0,SpaceDim-1 (DRAG force on fluid) Assumes drag force already computed and set. Note that this returns force exerted _by_ the particle on the surrounding fluid. Note that this only takes drag force into account, since body force does not act on the fluid. |
|
full define function
|
|
partial define function
Reimplemented from BinItem. |
|
get drag coefficient
|
|
get drag force on the particle
|
|
get local fluid velocity
|
|
Extract a serialized (packed) representation from a_buf. Given a linear representation of the class data previously made using linearIn() in a_buf, set the data for this class. |
|
Write a serialized (packed) representation into a_buf. Write a linear representation of the internal data. Assumes that sufficient memory for the buffer has already been allocated by the caller. Reimplemented from BinItem. |
|
(just calls size() function)
|
|
get mass of particle
|
|
assignment operator (makes clone of delta function)
|
|
Reimplemented from BinItem. |
|
set force due to gravity (will be added to any computed drag force) bodyForce is a constant force which is added to any computed drag force for the total force on the particle |
|
set the boundary marker flag
|
|
set default values for data members
|
|
set drag coefficient used to compute drag force
|
|
set drag force
|
|
set local fluid velocity, single component
|
|
set local fluid velocity
|
|
set mass of particle
|
|
set velocity
|
|
Number of bytes used by linearIn()/linearOut(). Returns the size, in number of bytes, of a flat linear representation of the data in this object. Reimplemented from BinItem. |
|
get total force on the particle
|
|
get velocity
|
|
body force vector
|
|
marker that we've interacted with the physical boundary
|
|
local copy of discrete delta function
|
|
drag coefficient
|
|
drag force vector
|
|
local fluid velocity (stored here for convenience
|
|
particle mass
|
|
velocity
|