#include <ParticleRepulsion.h>
Inheritance diagram for ParticleRepulsion:


The equations are derived assuming a single component of finite area.
Required Attributes: AdaptiveRepulsionData, ParticleLocality.
Holds two parameters. The parameter beta is a fudge added to the denominator in case it is zero. The parameter rho is a factor controlling the rate at which energy approaches a desired energy level.
Definition at line 33 of file ParticleRepulsion.h.
Public Member Functions | |
| MAKE_PARTICLESTUFF_NAME () | |
| int | qlen () |
| Returns length of particle stuff parameters. | |
| void | getq (double *q) |
| Get the parameters. | |
| void | setq (double *q) |
| Set particle stuff parameters. | |
| void | qname (char **qn) |
| Get the names of the parameters. | |
| virtual char * | tip () |
| Returns a tool-tip for the ParticleStuff. | |
| virtual char * | qtip (int i) |
| Returns a tool-tip for the parameter i. | |
| ParticleRepulsion (Particles *ps=NULL) | |
| Creates a particle repulsion attribute for Particles p. | |
| virtual void | attachAttributes () |
| Attach all the attributes needed by the behavior. | |
| AdaptiveRepulsionData * | getRepulsionData () |
| Returns the repulsion data. | |
| void | applyForce () |
| Applies a force that repels nearby particles. | |
| void | integrate () |
| Perform a time step. | |
| void | cleanup () |
| Need to update the grid in case particles have moved to different cells. | |
Public Attributes | |
| AdaptiveRepulsionData * | rep_data |
| Reference to a repulsion data attribute. | |
| ParticleLocality * | p_locality |
| Reference to a locality object. | |
| double | beta |
| Constant to prevent divide-by-zero. | |
| double | rho |
| Feedback coefficient. | |
|
|
Creates a particle repulsion attribute for Particles p.
Definition at line 25 of file ParticleRepulsion.cpp. |
|
|
Applies a force that repels nearby particles.
Reimplemented from ParticleBehavior. Definition at line 68 of file ParticleRepulsion.cpp. References AdaptiveRepulsionData::alpha, beta, AdaptiveRepulsionData::D, AdaptiveRepulsionData::dr, AdaptiveRepulsionData::Ehat, fastExp(), ParticleLocality::getNeighbors(), ParticlePosition::getPosition(), p_locality, ParticleBehavior::position, ParticleStuff::ps, AdaptiveRepulsionData::r, rep_data, rho, AdaptiveRepulsionData::sdmul, ParticleLocality::setQueryRadius(), AdaptiveRepulsionData::sigma_max, Particles::size(), ParticleVelocity::v, and ParticleBehavior::velocity. |
|
|
Attach all the attributes needed by the behavior. Defaults to a nop. Reimplemented from ParticleBehavior. Definition at line 32 of file ParticleRepulsion.cpp. References ParticleStuff::attachAttribute(), ParticleBehavior::attachAttributes(), Particles::findAttribute(), Particles::getAttribute(), p_locality, ParticleStuff::ps, and rep_data. |
|
|
Need to update the grid in case particles have moved to different cells.
Reimplemented from ParticleBehavior. Definition at line 59 of file ParticleRepulsion.cpp. References p_locality, and ParticleLocality::update(). |
|
|
Get the parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 55 of file ParticleRepulsion.h. |
|
|
Returns the repulsion data.
Definition at line 84 of file ParticleRepulsion.h. References rep_data. Referenced by ParticleRendererGL::render(). |
|
|
Perform a time step.
Reimplemented from ParticleBehavior. Definition at line 49 of file ParticleRepulsion.cpp. References Particles::dt, AdaptiveRepulsionData::integrate(), ParticleStuff::ps, and rep_data. |
|
|
|
|
|
Returns length of particle stuff parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 53 of file ParticleRepulsion.h. |
|
|
Get the names of the parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 65 of file ParticleRepulsion.h. |
|
|
Returns a tool-tip for the parameter i.
Reimplemented from ParticleStuff. Definition at line 72 of file ParticleRepulsion.h. |
|
|
Set particle stuff parameters. Defaults to no parameters. Reimplemented from ParticleStuff. Definition at line 60 of file ParticleRepulsion.h. |
|
|
Returns a tool-tip for the ParticleStuff.
Reimplemented from ParticleStuff. Definition at line 70 of file ParticleRepulsion.h. |
|
|
Constant to prevent divide-by-zero.
Definition at line 50 of file ParticleRepulsion.h. Referenced by applyForce(), getq(), ParticleRepulsion(), and setq(). |
|
|
Reference to a locality object.
Definition at line 48 of file ParticleRepulsion.h. Referenced by applyForce(), attachAttributes(), and cleanup(). |
|
|
Reference to a repulsion data attribute.
Definition at line 41 of file ParticleRepulsion.h. Referenced by applyForce(), attachAttributes(), getRepulsionData(), integrate(), and SingularityRepulsion::repelTarget(). |
|
|
Feedback coefficient.
Definition at line 51 of file ParticleRepulsion.h. Referenced by applyForce(), getq(), ParticleRepulsion(), and setq(). |
1.3.4