Web Analytics Made Easy - Statcounter
Skip to content

Class SBMDynamicalModelParticleSystem#

ClassList > SBMDynamicalModelParticleSystem

This class describes a dynamical particle system. More...

  • #include <SBMDynamicalModelParticleSystem.hpp>

Inherits the following classes: SBMDynamicalModel

Public Types inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
enum RenderingPass
The rendering pass.
enum Type
The type of the data graph node.

Public Functions#

Type Name
SBMDynamicalModelParticleSystem ()
Builds an empty particle system.
SBMDynamicalModelParticleSystem (const SBNodeIndexer & nodeIndexer)
Builds a particle system associated to a set of nodes.
SB_DECLARE_DATA (SBMDynamicalModelParticleSystem)
unsigned int addAtom (SBAtom * atom)
Adds an atom to the particle system.
void addAtoms (const SBNodeIndexer & nodeIndexer)
Adds atoms of a node indexer.
void correctDistanceWithPBC (SBLength3 & distance)
virtual bool enforcePeriodicBoundaryConditions () override
Enforces the periodic boundary conditions.
virtual void flushMomentumBuffer ()
Flushes the momentum buffer.
virtual void flushPositionBuffer () override
Flushes the position buffer.
bool getActivityFlag (SBAtom * atom) const
Returns the activity flag of an atom.
bool getActivityFlag (unsigned int atomIndex) const
Returns the activity flag of an atom.
SBPointerIndexer< SBAtom > const * getAtomIndexer () const
Returns the atoms associated to the particle system.
virtual unsigned int getChangedMomentumIndex (unsigned int i) const
Returns the index of an changed momentum.
virtual unsigned int getChangedPositionIndex (unsigned int i) override const
Returns the index of an changed position.
virtual SBDDataGraphNode::Type getDynamicalModelType () override const
Returns the dynamical model type (returns SBDDataGraphNode::DynamicalModelParticleSystem )
SBQuantity::inverseMass getInverseMass (SBAtom * atom) const
Returns the inverse mass of an atom.
SBQuantity::inverseMass getInverseMass (unsigned int atomIndex) const
Returns the inverse mass of an atom.
SBQuantity::mass getMass (SBAtom * atom) const
Returns the mass of an atom.
SBQuantity::mass getMass (unsigned int atomIndex) const
Returns the mass of an atom.
virtual SBMomentum3 const & getMomentum (unsigned int i) const
Returns the momentum of an atom.
virtual unsigned int getNumberOfChangedMomentums () const
Returns the number of changed momentums.
virtual unsigned int getNumberOfChangedPositions () override const
Returns the number of changed positions.
virtual SBPosition3 const & getPosition (unsigned int i) const
Returns the position of an atom.
virtual bool getPositionChanged (unsigned int i) override const
Returns whether position i has been changed since the last flush.
virtual SBDDataGraphNode::Type getType () override const
Returns the type of the data graph node (returns SBDDataGraphNode::DynamicalModelParticleSystem )
virtual void print (unsigned int offset=0) override const
Prints debugging information.
void removeAtom (SBAtom * atom)
Removes an atom from the particle system.
void removeAtom (unsigned int atomIndex)
Removes an atom from the particle system.
void removeAtoms (const SBNodeIndexer & nodeIndexer)
Removes atoms of a node indexer.
int roundForPBC (const SBQuantity::length & d)
void setActivityFlag (SBAtom * atom, bool flag)
Sets the activity flag of an atom.
void setActivityFlag (unsigned int atomIndex, bool flag)
Sets the activity flag of an atom.
void setMass (SBAtom * atom, SBQuantity::mass mass)
Sets the mass of an atom.
void setMass (unsigned int atomIndex, SBQuantity::mass mass)
Sets the mass of an atom.
virtual void setMomentum (unsigned int i, const SBMomentum3 & newMomentum)
Updates the momentum of an atom.
virtual void setPosition (unsigned int i, const SBPosition3 & newPosition)
Updates the position of an atom.
virtual void updateStructuralNodes () override
Updates the structural nodes based on the state of the particle system.
virtual ~SBMDynamicalModelParticleSystem ()
Deletes the particle system.

Public Functions inherited from SBMDynamicalModel#

See SBMDynamicalModel

Type Name
SB_DECLARE_DATA (SBMDynamicalModel)
virtual SBMDynamicalModel * clone () override
Returns a copy of the node and its descendants.
void connectDynamicalSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBDynamicalEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBDynamicalEvent *) nextFunctionPointer=0)
Connects the dynamical signal to a slot.
void disconnectDynamicalSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBDynamicalEvent *) functionPointer)
Disconnects the dynamical signal from a slot.
bool dynamicalSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBDynamicalEvent *) functionPointer) const
Returns true if and only if the dynamical signal is connected to a given slot.
virtual bool enforcePeriodicBoundaryConditions ()
Enforces the periodic boundary conditions.
virtual void flushPositionBuffer ()
Flushes the position buffer.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action) override
Performs an action on each node.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action) override
Performs an action on each node.
virtual unsigned int getChangedPositionIndex (unsigned int i) const
Returns the index of a changed position.
virtual SBDDataGraphNode::Type getDynamicalModelType () const
Returns the dynamical model type.
SBMDynamicalModelNodeRoot * getDynamicalRoot () const
Returns the root of the dynamical model.
virtual SBDDataGraphNode::Type getModelType () override const
Returns the model type.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.
virtual void getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getNumberOfChangedPositions () const
Returns the number of changed positions.
SBIAPosition3 const & getPeriodicBoundaryConditions () const
Returns the periodic boundary conditions.
bool getPeriodicBoundaryConditionsFlag () const
Returns the periodic boundary conditions flag.
virtual bool getPositionChanged (unsigned int i) const
Returns whether position i has been changed since the last flush.
virtual SBDDataGraphNode::Type getType () override const
Returns the node type ( SBNode::DynamicalModel )
virtual bool hasNode (SBNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) override const
Checks for nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
virtual bool isSerializable () override const
Returns true when the class is serializable.
virtual void print (unsigned int offset=0) override const
Prints debugging information.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const
Serializes the node.
void setPeriodicBoundaryConditions (SBIAPosition3 const & box)
Sets the periodic boundary conditions.
void setPeriodicBoundaryConditionsFlag (bool flag)
Sets the periodic boundary conditions flag.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override
Unserializes the node.
virtual void updateStructuralNodes ()
Updates structural nodes based on the state of the dynamical model.

Public Functions inherited from SBMModel#

See SBMModel

Type Name
SB_DECLARE_DATA (SBMModel)
SB_NODE_GETTER_0 (SBDDataGraphNode::Type, GetModelType)
SB_NODE_PREDICATE_1 (IsModelType, SBDDataGraphNode::Type)
virtual SBMModel * clone () override
Returns a copy of the node and its descendants.
virtual unsigned int getMaximumTransparency () override const
Returns the maximum transparency.
virtual unsigned int getMinimumOpacity () override const
Returns the minimum opacity.
virtual SBDDataGraphNode::Type getModelType () const
Returns the model type.
SBMModel * getNextModel () const
Returns the next model in the parent.
virtual unsigned int getOpacity () override const
Returns the opacity.
SBMModel * getPreviousModel () const
Returns the previous model in the parent.
bool getShadowingFlag () const
Returns whether the model casts shadows.
virtual unsigned int getTransparency () override const
Returns the transparency.
virtual SBDDataGraphNode::Type getType () override const
Returns the type of the data graph node.
virtual bool isSerializable () override const
Returns true.
virtual void print (unsigned int offset=0) override const
Prints debugging information.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override const
Serializes the node.
virtual void setOpacity (unsigned int opacity) override
Sets the opacity.
void setShadowingFlag (bool shadowingFlag)
Sets whether the model casts shadows.
virtual void setTransparency (unsigned int transparency) override
Sets the transparency.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) override
Unserializes the node.
virtual ~SBMModel ()
Delete the model.

Public Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
SB_DECLARE_DATA (SBDDataGraphNode)
virtual bool addChild (SBDDataGraphNode * node, SBDDataGraphNode * nextNode=nullptr)
Adds a child to the node.
bool addMaterial (SBDDataGraphNodeMaterial * material)
Adds a material.
bool baseSignalIsConnectedToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer) const
Returns true when the base signal is connected to a slot.
virtual bool canAddChild (const SBDDataGraphNode * node, const SBDDataGraphNode * nextNode=nullptr) const
Returns whether this node can add node as a child.
virtual bool canAddChildType (SBDDataGraphNode::Type nodeType) const
Returns whether this node can add a node with type nodeType as a child.
bool canAddMaterial () const
Returns whether can add a material to the node based on its type.
virtual bool canHaveDescendantType (SBDDataGraphNode::Type nodeType) const
Returns whether this node can have a node with type nodeType as a descendant.
virtual SBDDataGraphNode * clone ()
Returns a copy of the node and its descendants.
void connectBaseSignalToSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer, SBCReferenceTarget * nextReferenceTarget=0, void(SBCReferenceTarget::*)(SBBaseEvent *) nextFunctionPointer=0)
Connects the base signal to a slot.
unsigned int countNodes (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Counts nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
unsigned int countNodes (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Counts nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
void create ()
Creates the node.
bool descendsFrom (const SBDDataGraphNode * node) const
Returns true if and only if this node is node , or descends from it.
bool descendsFrom (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of the nodeIndexer , or descends from one of them.
bool descendsFrom (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of the nodePointerIndexer , or descends from one of them.
void disconnectBaseSignalFromSlot (SBCReferenceTarget * referenceTarget, void(SBCReferenceTarget::*)(SBBaseEvent *) functionPointer)
Disconnects the base signal from a slot.
virtual void display (RenderingPass renderingPass)
Displays the node.
virtual void display ()
Displays the node (deprecated)
virtual void displayForSelection ()
Displays the node for selection purposes (deprecated)
virtual void displayForShadow ()
Displays the node for shadowing purposes (deprecated)
void erase ()
Erases the node.
virtual void forEachNodeDepthFirst (void(*)(SBDDataGraphNode *node) action)
Performs an action on each node.
virtual void forEachNodeDepthFirst (SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action)
Performs an action on each node.
virtual unsigned int getDefaultOpacity () const
Returns the default opacity.
virtual unsigned int getDefaultTransparency () const
Returns the default transparency.
SBDDocument * getDocument () const
Returns the document the node belongs to.
virtual unsigned int getFlags () const
Returns the flags.
virtual std::string getHierarchyString (const std::string & separator=" / ", bool includeNodeType=false) const
Returns a string with hierarchical information on the node and its parents names.
bool getHighlightingFlag () const
Returns the highlighting flag.
virtual unsigned int getInheritedFlags () const
Returns the inherited flags.
float getInheritedOpacity () const
Returns the cumulative opacity, when taking into account the ascendants.
float getInheritedTransparency () const
Returns the cumulative transparency, when taking into account the ascendants.
virtual bool getLockedFlag () const
Returns the locked flag.
SBDDataGraphNodeMaterial * getMaterial () const
Returns the material.
SBDDataGraphNode * getMaterialOwner () const
Returns the node whose material is inherited.
virtual unsigned int getMaximumOpacity () const
Returns the maximum opacity.
virtual unsigned int getMaximumTransparency () const
Returns the maximum transparency.
virtual unsigned int getMinimumOpacity () const
Returns the minimum opacity.
virtual unsigned int getMinimumTransparency () const
Returns the minimum transparency.
virtual SBQuantity::mass getMolecularWeight ()
Returns the molecular weight.
virtual std::string const & getName () const
Returns the name of the node.
SBDDataGraphNode * getNextNode () const
Returns the pointer to the next node in the children of the node's parent.
SBDDataGraphNode * getNextNode (SBDDataGraphNode::Type nodeType) const
Returns the pointer to the next node with type nodeType in the children of the node's parent.
unsigned int getNodeIndex () const
Returns the node index (unique in the whole data graph, but non-persistent)
SBUUID getNodeUUID () const
Returns the node UUID.
virtual void getNodes (SBNodeIndexer & nodeIndexer, SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Collects nodes into nodeIndexer , based on anodeType , a selection status and avisitPredicate , with or without dependencies.
virtual void getNodes (SBNodeIndexer & nodeIndexer, const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Collects nodes into nodeIndexer , based on aselectionPredicate and avisitPredicate , with or without dependencies.
virtual unsigned int getNumberOfAtoms ()
Returns the number of atoms.
virtual unsigned int getNumberOfCarbons ()
Returns the number of carbons.
virtual unsigned int getNumberOfChains ()
Returns the number of chains.
virtual unsigned int getNumberOfCoarseGrainedAtoms ()
Returns the number of coarse-grained atoms.
virtual unsigned int getNumberOfHydrogens ()
Returns the number of hydrogens.
virtual unsigned int getNumberOfMolecules ()
Returns the number of molecules.
virtual unsigned int getNumberOfNitrogens ()
Returns the number of nitrogens.
virtual unsigned int getNumberOfOtherAtoms ()
Returns the number of other atoms.
virtual unsigned int getNumberOfOxygens ()
Returns the number of oxygens.
virtual unsigned int getNumberOfResidues ()
Returns the number of residues.
virtual unsigned int getNumberOfSegments ()
Returns the number of segments.
virtual unsigned int getNumberOfStructuralGroups ()
Returns the number of structural groups.
virtual unsigned int getNumberOfStructuralModels ()
Returns the number of structural models.
virtual unsigned int getNumberOfSulfurs ()
Returns the number of sulfurs.
virtual unsigned int getOpacity () const
Returns the opacity.
virtual unsigned int getOpacitySingleStep () const
Returns the opacity single step.
virtual std::string getOpacitySuffix () const
Returns the opacity suffix.
SBDDataGraphNode * getParent () const
Returns the parent of the node.
SBDDataGraphNode * getPreviousNode () const
Returns the pointer to the previous node in the children of the node's parent.
SBDDataGraphNode * getPreviousNode (SBDDataGraphNode::Type nodeType) const
Returns the pointer to the previous node with type nodeType in the children of the node's parent.
SBDDataGraphNode * getRoot () const
Returns the root of the hierarchy the node belongs to.
bool getSelected () const
Returns whether the node is selected.
bool getSelectionFlag () const
Returns the selection flag.
virtual int getSumOfFormalCharges ()
Returns the sum of formal charges.
virtual float getSumOfPartialCharges ()
Returns the sum of partial charges.
SBDDataGraphNode * getThisNode () const
Returns the pointer to this node.
virtual unsigned int getTransparency () const
Returns the transparency.
virtual unsigned int getTransparencySingleStep () const
Returns the transparency single step.
virtual std::string getTransparencySuffix () const
Returns the transparency suffix.
virtual Type getType () const
Returns the type of the data graph node.
std::string getTypeString (bool humanReadable=false) const
Returns a string describing the type of the data graph node.
bool getVisibilityFlag () const
Returns the visibility flag.
bool getVisible () const
Returns whether the node is visible.
bool hasMaterial () const
Returns whether the node has a material (by itself, or inherited)
virtual bool hasNode (SBDDataGraphNode::Type nodeType, bool selectedNodesOnly=false, const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Returns whether the node has nodes based on a nodeType , a selection status and avisitPredicate , with or without dependencies.
virtual bool hasNode (const SBNodePredicate & selectionPredicate=SBDDataGraphNode::All(), const SBNodePredicate & visitPredicate=SBDDataGraphNode::All(), bool includeDependencies=false) const
Returns whether the node has nodes based on a selectionPredicate and avisitPredicate , with or without dependencies.
bool hasOneOf (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of the nodeIndexer , or is the ancestor of one of them, or is a group that stores one of them.
virtual bool hasOpacityRange () const
Returns whether the node has the opacity range.
virtual bool hasTransparencyRange () const
Returns whether the node has the transparency range.
bool isAtom () const
Returns true when the node is an atom.
bool isBallAndStick () const
Returns true when the node is the default ball-and-stick visual model.
bool isBond () const
Returns true when the node is a bond.
bool isCartoon () const
Returns true when the node is the default cartoon visual model.
bool isCreated () const
Returns true if and only if the node is created.
bool isDynamicalModel () const
Returns true when the node is a dynamical model.
bool isErased () const
Returns true if and only if the node is erased.
bool isGaussianSurface () const
Returns true when the node is the default Gaussian surface visual model.
bool isHighlighted () const
Returns whether the node is highlighted.
bool isIn (const SBDDataGraphNode * node) const
Returns true if and only if this node is node , or descends from it, or belongs to a group stored innode .
bool isIn (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of the nodeIndexer , or descends from one of them, or belongs to a group stored in one of the nodes of thenodeIndexer .
bool isIn (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of the nodePointerIndexer , or descends from one of them, or belongs to a group stored in of the nodes of thenodePointerIndexer .
bool isInteractionModel () const
Returns true when the node is a interaction model.
bool isLicorice () const
Returns true when the node is the default licorice visual model.
bool isLight () const
Returns true when the node is a light.
virtual bool isLocked () const
Returns whether the node is locked.
bool isMesh () const
Returns true when the node is a mesh.
bool isModel () const
Returns true when the node is a model.
bool isOneOf (const SBNodeIndexer & nodeIndexer) const
Returns true if and only if this node is one of the nodes of the nodeIndexer .
bool isOneOf (SBPointerIndexer< SBDDataGraphNode > * nodePointerIndexer) const
Returns true if and only if this node is one of the nodes of the nodePointerIndexer .
bool isPropertyModel () const
Returns true when the node is a property model.
bool isRibbon () const
Returns true when the node is the default ribbon visual model.
bool isSelected () const
Returns whether the node is selected.
virtual bool isSerializable () const
Returns true when the class is serializable.
bool isSimulator () const
Returns true when the node is a simulator.
bool isSolventAccessibleSurface () const
Returns true when the node is the default solvent accessible surface visual model.
bool isSolventExcludedSurface () const
Returns true when the node is the default solvent excluded surface visual model.
bool isStructuralModel () const
Returns true when the node is a structural model.
bool isStructuralNode () const
Returns true when the node is a structural node.
bool isTube () const
Returns true when the node is the default tube visual model.
bool isType (Type type) const
Returns true when the type of the node corresponds to type .
bool isVanDerWaals () const
Returns true when the node is the default van der Waals visual model.
bool isVisible () const
Returns whether the node is visible.
bool isVisualModel () const
Returns true when the node is a visual model.
bool ownsMaterial () const
Returns whether the node owns a material.
virtual void print (unsigned int offset=0) const
Prints some debugging information.
virtual bool removeChild (SBDDataGraphNode * node)
Removes a child from the node.
bool removeMaterial ()
Removes the material.
void removeMaterialsFromDescendants ()
Removes materials from all nodes that descend from this node, but it does not remove the material from the node itself.
virtual void serialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0)) const
Serializes the node.
void setHighlightingFlag (bool flag)
Sets the highlighting flag.
virtual void setLockedFlag (bool flag)
Sets the locked flag.
virtual void setName (const std::string & name)
Sets the name of the node.
virtual void setOpacity (unsigned int opacity)
Sets the opacity.
void setSelectionFlag (bool flag)
Sets the selection flag.
virtual void setTransparency (unsigned int transparency)
Sets the transparency.
void setVisibilityFlag (bool flag)
Sets the visibility flag.
virtual void unserialize (SBCSerializer * serializer, const SBNodeIndexer & nodeIndexer, const SBVersionNumber & sdkVersionNumber=SB_SDK_VERSION_NUMBER, const SBVersionNumber & classVersionNumber=SBVersionNumber(1, 0, 0))
Unserializes the node.

Public Functions inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTarget ()
unsigned int getMemoryFootprint () const
void printReferencesToOwners () const
virtual ~SBCReferenceTarget ()

Public Static Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
bool canAddMaterial (SBDDataGraphNode::Type nodeType)
Returns whether can add a material to a node of type nodeType .
void clone (const SBNodeIndexer & sourceNodeIndexer, SBNodeIndexer & destinationNodeIndexer)
Clones the nodes in sourceNodeIndexer (treated as a whole) and places the clones indestinationNodeIndexer .
void forEachNodeInSelection (SBNodeIndexer & nodeIndexer, void(*)(SBDDataGraphNode *node) action)
Performs an action for each node in a selection.
void forEachNodeInSelection (SBNodeIndexer & nodeIndexer, SBCClass * object, void(SBCClass::*)(SBDDataGraphNode *node) action)
Performs an action for each node in a selection.
SBDDataGraphNode * getNode (unsigned int nodeIndex)
Returns the unique node corresponding to the node index nodeIndex .
std::string getTypeString (Type type, bool humanReadable=false)
Returns a string describing the type of the data graph node.

Protected Attributes inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTargetData * dataPointer

Protected Functions inherited from SBMDynamicalModel#

See SBMDynamicalModel

Type Name
SBMDynamicalModel ()
Builds a dynamical model.
SBMDynamicalModel (SBMDynamicalModelData * dataPointer)
Builds a dynamical model.
virtual ~SBMDynamicalModel ()
Deletes the dynamical model.

Protected Functions inherited from SBMModel#

See SBMModel

Type Name
SBMModel ()
Builds a model.
SBMModel (SBMModelData * dataPointer)
Builds a model.

Protected Functions inherited from SBDDataGraphNode#

See SBDDataGraphNode

Type Name
SBDDataGraphNode ()
Builds a data graph node.
SBDDataGraphNode (SBDDataGraphNodeData * dataPointer)
Builds a data graph node.
virtual ~SBDDataGraphNode ()
Destroys the node.

Protected Functions inherited from SBCReferenceTarget#

See SBCReferenceTarget

Type Name
SBCReferenceTarget (SBCReferenceTargetData * dataPointer)
void removeAllReferenceOwners ()

Detailed Description#

The class SBMDynamicalModelParticleSystem describes a particle system in SAMSON, i.e. a dynamical system composed of particles. A particle system has two buffers - a position buffer and a momentum buffer - which may be used to write adaptive simulation algorithms.

Short name: SBParticleSystem

See also: SBCContainerBuffer

Public Functions Documentation#

function SBMDynamicalModelParticleSystem [1/2]#

Builds an empty particle system.

SBMDynamicalModelParticleSystem::SBMDynamicalModelParticleSystem () 

The default constructor builds an empty particle system

See also: addAtom


function SBMDynamicalModelParticleSystem [2/2]#

Builds a particle system associated to a set of nodes.

SBMDynamicalModelParticleSystem::SBMDynamicalModelParticleSystem (
    const SBNodeIndexer & nodeIndexer
) 


function SB_DECLARE_DATA#

SBMDynamicalModelParticleSystem::SB_DECLARE_DATA (
    SBMDynamicalModelParticleSystem
) 

function addAtom#

Adds an atom to the particle system.

unsigned int SBMDynamicalModelParticleSystem::addAtom (
    SBAtom * atom
) 


function addAtoms#

Adds atoms of a node indexer.

void SBMDynamicalModelParticleSystem::addAtoms (
    const SBNodeIndexer & nodeIndexer
) 


function correctDistanceWithPBC#

void SBMDynamicalModelParticleSystem::correctDistanceWithPBC (
    SBLength3 & distance
) 

function enforcePeriodicBoundaryConditions#

Enforces the periodic boundary conditions.

virtual bool SBMDynamicalModelParticleSystem::enforcePeriodicBoundaryConditions () override

Implements SBMDynamicalModel::enforcePeriodicBoundaryConditions


function flushMomentumBuffer#

Flushes the momentum buffer.

virtual void SBMDynamicalModelParticleSystem::flushMomentumBuffer () 


function flushPositionBuffer#

Flushes the position buffer.

virtual void SBMDynamicalModelParticleSystem::flushPositionBuffer () override

Implements SBMDynamicalModel::flushPositionBuffer


function getActivityFlag [1/2]#

Returns the activity flag of an atom.

bool SBMDynamicalModelParticleSystem::getActivityFlag (
    SBAtom * atom
) const


function getActivityFlag [2/2]#

Returns the activity flag of an atom.

bool SBMDynamicalModelParticleSystem::getActivityFlag (
    unsigned int atomIndex
) const


function getAtomIndexer#

Returns the atoms associated to the particle system.

SBPointerIndexer< SBAtom > const * SBMDynamicalModelParticleSystem::getAtomIndexer () const


function getChangedMomentumIndex#

Returns the index of an changed momentum.

virtual unsigned int SBMDynamicalModelParticleSystem::getChangedMomentumIndex (
    unsigned int i
) const

This function returns the index of the i-th changed momentum. This may be used by adaptive simulation algorithms, ir order to know which momenta have been changed at a given time step.

Assume for example that particle 17, 32, and 529 have had their momentum changed since the last flush of the momentum buffer. Then the following code:

unsigned int nChangedMomenta=particleSystem->getNumberOfChangedMomentums();

for (unsigned int i=0;i<nChangedMomenta;i++) {

    // changedMomentumIndex is the index of the i-th changed momentum
    unsigned int changedMomentumIndex=particleSystem->getChangedMomentumIndex(i); 
    std::cout << changedMomentumIndex << std::endl;

}
outputs
17
32
529

Parameters:

  • i The index of the changed momentum.

See also: getMomentum, getChangedMomentumIndex, flushMomentumBuffer


function getChangedPositionIndex#

Returns the index of an changed position.

virtual unsigned int SBMDynamicalModelParticleSystem::getChangedPositionIndex (
    unsigned int i
) override const

Implements SBMDynamicalModel::getChangedPositionIndex


function getDynamicalModelType#

Returns the dynamical model type (returns SBDDataGraphNode::DynamicalModelParticleSystem )

virtual SBDDataGraphNode::Type SBMDynamicalModelParticleSystem::getDynamicalModelType () override const

Implements SBMDynamicalModel::getDynamicalModelType


function getInverseMass [1/2]#

Returns the inverse mass of an atom.

SBQuantity::inverseMass SBMDynamicalModelParticleSystem::getInverseMass (
    SBAtom * atom
) const


function getInverseMass [2/2]#

Returns the inverse mass of an atom.

SBQuantity::inverseMass SBMDynamicalModelParticleSystem::getInverseMass (
    unsigned int atomIndex
) const


function getMass [1/2]#

Returns the mass of an atom.

SBQuantity::mass SBMDynamicalModelParticleSystem::getMass (
    SBAtom * atom
) const


function getMass [2/2]#

Returns the mass of an atom.

SBQuantity::mass SBMDynamicalModelParticleSystem::getMass (
    unsigned int atomIndex
) const


function getMomentum#

Returns the momentum of an atom.

virtual SBMomentum3 const & SBMDynamicalModelParticleSystem::getMomentum (
    unsigned int i
) const

This function returns the momentum of a particle.

Parameters:

  • i The index of the particle

function getNumberOfChangedMomentums#

Returns the number of changed momentums.

virtual unsigned int SBMDynamicalModelParticleSystem::getNumberOfChangedMomentums () const

This function returns the number of changed momenta since the last flush of the momentum buffer.

See also: getMomentum, getChangedMomentumIndex, flushMomentumBuffer


function getNumberOfChangedPositions#

Returns the number of changed positions.

virtual unsigned int SBMDynamicalModelParticleSystem::getNumberOfChangedPositions () override const

Implements SBMDynamicalModel::getNumberOfChangedPositions


function getPosition#

Returns the position of an atom.

virtual SBPosition3 const & SBMDynamicalModelParticleSystem::getPosition (
    unsigned int i
) const


function getPositionChanged#

Returns whether position i has been changed since the last flush.

virtual bool SBMDynamicalModelParticleSystem::getPositionChanged (
    unsigned int i
) override const

Implements SBMDynamicalModel::getPositionChanged


function getType#

Returns the type of the data graph node (returns SBDDataGraphNode::DynamicalModelParticleSystem )

virtual SBDDataGraphNode::Type SBMDynamicalModelParticleSystem::getType () override const

Implements SBMDynamicalModel::getType


function print#

Prints debugging information.

virtual void SBMDynamicalModelParticleSystem::print (
    unsigned int offset=0
) override const

Implements SBMDynamicalModel::print


function removeAtom [1/2]#

Removes an atom from the particle system.

void SBMDynamicalModelParticleSystem::removeAtom (
    SBAtom * atom
) 


function removeAtom [2/2]#

Removes an atom from the particle system.

void SBMDynamicalModelParticleSystem::removeAtom (
    unsigned int atomIndex
) 


function removeAtoms#

Removes atoms of a node indexer.

void SBMDynamicalModelParticleSystem::removeAtoms (
    const SBNodeIndexer & nodeIndexer
) 


function roundForPBC#

int SBMDynamicalModelParticleSystem::roundForPBC (
    const SBQuantity::length & d
) 

function setActivityFlag [1/2]#

Sets the activity flag of an atom.

void SBMDynamicalModelParticleSystem::setActivityFlag (
    SBAtom * atom,
    bool flag
) 


function setActivityFlag [2/2]#

Sets the activity flag of an atom.

void SBMDynamicalModelParticleSystem::setActivityFlag (
    unsigned int atomIndex,
    bool flag
) 


function setMass [1/2]#

Sets the mass of an atom.

void SBMDynamicalModelParticleSystem::setMass (
    SBAtom * atom,
    SBQuantity::mass mass
) 


function setMass [2/2]#

Sets the mass of an atom.

void SBMDynamicalModelParticleSystem::setMass (
    unsigned int atomIndex,
    SBQuantity::mass mass
) 


function setMomentum#

Updates the momentum of an atom.

virtual void SBMDynamicalModelParticleSystem::setMomentum (
    unsigned int i,
    const SBMomentum3 & newMomentum
) 


function setPosition#

Updates the position of an atom.

virtual void SBMDynamicalModelParticleSystem::setPosition (
    unsigned int i,
    const SBPosition3 & newPosition
) 


function updateStructuralNodes#

Updates the structural nodes based on the state of the particle system.

virtual void SBMDynamicalModelParticleSystem::updateStructuralNodes () override

Implements SBMDynamicalModel::updateStructuralNodes


function ~SBMDynamicalModelParticleSystem#

Deletes the particle system.

virtual SBMDynamicalModelParticleSystem::~SBMDynamicalModelParticleSystem () 

Deletes the model.