IMP  2.2.1
The Integrative Modeling Platform
IMP::atom::Diffusion Class Reference

A decorator for a diffusing particle with a diffusion coefficient. More...

#include <IMP/atom/Diffusion.h>

+ Inheritance diagram for IMP::atom::Diffusion:

Public Member Functions

 Diffusion (::IMP::kernel::Model *m,::IMP::kernel::ParticleIndex id)
 
 Diffusion (const IMP::kernel::ParticleAdaptor &d)
 
double get_diffusion_coefficient () const
 
void set_diffusion_coefficient (double d)
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::core::XYZ
 XYZ (::IMP::kernel::Model *m,::IMP::kernel::ParticleIndex id)
 
 XYZ (const IMP::kernel::ParticleAdaptor &d)
 
void add_to_derivative (int i, Float v, DerivativeAccumulator &d)
 Add something to the derivative of the ith coordinate.
 
void add_to_derivatives (const algebra::Vector3D &v, DerivativeAccumulator &d)
 Add something to the derivative of the coordinates.
 
Float get_coordinate (int i) const
 Get the ith coordinate.
 
const algebra::Vector3Dget_coordinates () const
 Convert it to a vector. More...
 
bool get_coordinates_are_optimized () const
 Get whether the coordinates are optimized. More...
 
Float get_derivative (int i) const
 Get the ith coordinate derivative.
 
algebra::Vector3D get_derivatives () const
 Get the vector of derivatives. More...
 
algebra::Vector3D get_vector_to (const XYZ &b) const
 Get the vector from this particle to another.
 
Float get_x () const
 
Float get_y () const
 
Float get_z () const
 
void set_coordinate (unsigned int i, Float v)
 set the ith coordinate
 
void set_coordinates (const algebra::Vector3D &v)
 set all coordinates from a vector
 
void set_coordinates_are_optimized (bool tf) const
 Set whether the coordinates are optimized.
 
void set_x (Float t)
 
void set_y (Float t)
 
void set_z (Float t)
 
void show (std::ostream &out=std::cout) const
 
- Public Member Functions inherited from IMP::kernel::Decorator
Modelget_model () const
 Returns the Model containing the particle.
 
Particleget_particle () const
 
ParticleIndex get_particle_index () const
 
 operator Particle * () const
 
 operator ParticleIndex () const
 
Particleoperator-> () const
 

Static Public Member Functions

static Diffusion decorate_particle (::IMP::kernel::Particle *p)
 
static FloatKey get_diffusion_coefficient_key ()
 Get the D key.
 
static bool get_is_setup (const IMP::kernel::ParticleAdaptor &p)
 
static bool get_is_setup (kernel::Model *m, kernel::ParticleIndex p)
 Return true if the particle is an instance of an Diffusion.
 
static Diffusion setup_particle (IMP::kernel::ParticleAdaptor decorator, Float D)
 
static Diffusion setup_particle (kernel::Model *m, ParticleIndex pi, Float D)
 
static Diffusion setup_particle (kernel::Model *m, ParticleIndex pi, algebra::Vector3D v, Float D)
 
static Diffusion setup_particle (IMP::kernel::ParticleAdaptor decorator, algebra::Vector3D v, Float D)
 
static Diffusion setup_particle (IMP::kernel::ParticleAdaptor decorator)
 
static Diffusion setup_particle (kernel::Model *m, ParticleIndex pi)
 
- Static Public Member Functions inherited from IMP::core::XYZ
static XYZ decorate_particle (::IMP::kernel::Particle *p)
 
static FloatKey get_coordinate_key (unsigned int i)
 
static bool get_is_setup (const IMP::kernel::ParticleAdaptor &p)
 
static bool get_is_setup (kernel::Model *m, kernel::ParticleIndex pi)
 
static const FloatKeysget_xyz_keys ()
 Get a vector containing the keys for x,y,z. More...
 
static XYZ setup_particle (IMP::kernel::ParticleAdaptor decorator)
 
static XYZ setup_particle (kernel::Model *m, ParticleIndex pi)
 
static XYZ setup_particle (IMP::kernel::ParticleAdaptor decorator, algebra::Vector3D v)
 
static XYZ setup_particle (kernel::Model *m, ParticleIndex pi, algebra::Vector3D v)
 

Additional Inherited Members

- Protected Member Functions inherited from IMP::kernel::Decorator
 Decorator (Model *m, ParticleIndex pi)
 
 Decorator (ParticleAdaptor p)
 

Detailed Description

See Also
BrownianDynamics
Warning: Diffusion has not been stabilized and is likely to change without notice. The name really should be fixed.

Diffusion is used to decorate diffusing particle with a diffusion coefficient D. D is assumed to be in units of \(A^2/fs\).

See Also
RigidBodyDiffusion

Definition at line 34 of file Diffusion.h.

Member Function Documentation

static Diffusion IMP::atom::Diffusion::decorate_particle ( ::IMP::kernel::Particle p)
static
Deprecated:
As of IMP release 2.1. See the IMP Deprecation Policy for more information about deprecation in IMP. Check explicitly instead.

Definition at line 49 of file Diffusion.h.

static Diffusion IMP::atom::Diffusion::setup_particle ( kernel::Model m,
ParticleIndex  pi,
Float  D 
)
static

Setup the particle so that it can be used with this decorator

Definition at line 50 of file Diffusion.h.

static Diffusion IMP::atom::Diffusion::setup_particle ( IMP::kernel::ParticleAdaptor  decorator,
Float  D 
)
static
See Also
setup_particle(m, pi, D )

Definition at line 50 of file Diffusion.h.

static Diffusion IMP::atom::Diffusion::setup_particle ( kernel::Model m,
ParticleIndex  pi,
algebra::Vector3D  v,
Float  D 
)
static

Setup the particle so it can be used with this decorator.

Definition at line 51 of file Diffusion.h.

static Diffusion IMP::atom::Diffusion::setup_particle ( kernel::Model m,
ParticleIndex  pi 
)
static

Assume particle is already a core::XYZR particle. Setup the particle so it can be used with this decorator.

Definition at line 53 of file Diffusion.h.


The documentation for this class was generated from the following file: