Module GenGeo :: Class MNTable3D
[hide private]
[frames] | no frames]

Class MNTable3D

 object --+    
          |    
??.instance --+
              |
             MNTable3D
Known Subclasses:

A multi-group neighbour table for constructing 3D particle setups.

Instance Methods [hide private]
void
GrowNGroups(...)
Expands the neighbour table to permit the specified number of particle groups
 
__init__(...)
Constructs a neighbour table with specified bounds, cell size and initial number of particle groups.
 
__reduce__(...)
helper for pickle
 
__str__(...)
str(x)
void
generateBonds(...)
Generates bonds between particle pairs separated by less than the specified tolerance
void
generateBondsTagged(...)
Generates bonds between particle pairs separated by less than the specified tolerance.
void
generateBondsWithJointSet(...)
Generates bonds between particle pairs separated by less than the specified tolerance.
 
generateClusterBonds(...)
Generates bonds between particle pairs separated by less than the specified tolerance.
void
generateRandomBonds(...)
Generates bonds between particle pairs separated by less than the specified tolerance.
boost::python::list
getSphereListDist(...)
Returns a python list of Sphere objects within a defined distance of the specified point
boost::python::list
getSphereListFromGroup(...)
Returns a python list of Sphere objects with the specified group ID contained in the neighbour table
double
getSumVolume(...)
Returns the sum of the particle volumes in the specified group.
 
insert(...)
Inserts sphere
 
insertBond(...)
Inserts bond
 
insertFromRawFile(...)
Reads in an existing geometry from a file in raw format
 
removeParticlesInVolume(...)
Removes all particles inside the specified volume
void
removeParticlesWithTag(...)
Removes all particles with given tag from a group
void
removeTaggedParticles(...)
Removes all particles with given tag from a group
 
renumberParticlesContinuous(...)
Changes particle IDs so that they are continuous
void
tagParticlesAlongJoints(...)
Assigns the specified tag to all particles from group groupID that lie within the specified distance of the given joint set.
void
tagParticlesAlongPlane(...)
Assigns the specified tag to all particles from group groupID that lie within the specified distance of the given plane.
void
tagParticlesAlongPlaneWithMask(...)
Assigns the specified tag to all particles from group groupID that lie within the specified distance of the given plane.
void
tagParticlesInGroup(...)
Generates bonds between particle pairs separated by less than the specified tolerance
void
tagParticlesInSphere(...)
Assigns the specified tag to all particles from group groupID that lie within the given sphere.
void
tagParticlesInVolume(...)
Assigns the specified tag to all particles from group groupID that lie within the specified volume.
 
tagParticlesToClosest(...)
Tags particles in groudID1 closest to spheres in groupID2
 
tagParticlesToClosestAnisotropic(...)
Tags particles in groudID1 closest to spheres in groupID2
void
write(...)
Writes the particle assembly and bonding information to the specified file using the specified output style (0: debug; 1: geo; 2: vtk)

Inherited from unreachable.instance: __new__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]
  __instance_size__ = 192
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

GrowNGroups(...)

 

Expands the neighbour table to permit the specified number of particle groups

Parameters:
  • numGroups (int) - number of groups to create
Returns: void

__init__(...)
(Constructor)

 

Constructs a neighbour table with specified bounds, cell size and initial number of particle groups.

Parameters:
  • minPoint (Vector3) - lower-left point of the particle region
  • maxPoint (Vector3) - upper-right point of the particle region
  • gridSize (double) - the cell size for neighbour searches
  • numGroups (unsigned int) - the initial number of groups
Overrides: object.__init__

__reduce__(...)

 

helper for pickle

Overrides: object.__reduce__
(inherited documentation)

__str__(...)
(Informal representation operator)

 

str(x)

Overrides: object.__str__
(inherited documentation)

generateBonds(...)

 

Generates bonds between particle pairs separated by less than the specified tolerance

Parameters:
  • groupID (int) - the group ID of particles to bond together
  • tolerance (double) - maximum distance separating bonded particles
  • bondID (int) - the bond ID to assign generated bonds
Returns: void

generateBondsTagged(...)

 

Generates bonds between particle pairs separated by less than the specified tolerance. Bonds will be generated only between particles with particleTag1 and particleTag2

Parameters:
  • groupID (int) - the group ID of particles to bond together
  • tolerance (double) - maximum distance separating bonded particles
  • bondID (int) - the bond ID to assign generated bonds
  • particleTag1 (int) - the first tag of particles to bond
  • particleTag2 (int) - the second tag of particles to bond
Returns: void

generateBondsWithJointSet(...)

 

Generates bonds between particle pairs separated by less than the specified tolerance. Bonds will not be generated that cross the specified joint set.

Parameters:
  • groupID (int) - the group ID of particles to bond together
  • tolerance (double) - maximum distance separating bonded particles
  • bondTag (int) - the bond tag to assign to generated bonds not crossing joint
Returns: void

generateClusterBonds(...)

 

Generates bonds between particle pairs separated by less than the specified tolerance. Generate bonds with tag bondTag1 for particles of the same tag and bonds with tag bondTag2 for particles of differing tag

Parameters:
  • groupID (int) - the group ID of particles to bond together
  • tolerance (double) - maximum distance separating bonded particles
  • bondTag1 (int) - the bond tag to assign for bonds joining particles of the same tag
  • bondTag2 (int) - the bond tag to assign for bonds joining particles of differing tag

generateRandomBonds(...)

 

Generates bonds between particle pairs separated by less than the specified tolerance. Bonds between particle pairs will be generated with the specified probability

Parameters:
  • groupID (int) - the group ID of particles to bond together
  • tolerance (double) - maximum distance separating bonded particles
  • probability (double) - the probability that a bond will be generated (0 < probability <= 1)
  • bondID (int) - the bond ID to assign generated bonds
  • particleTag (int) - the tag of particles to bond
  • tagMask (int) - the tag mask of particles to bond
Returns: void

getSphereListDist(...)

 

Returns a python list of Sphere objects within a defined distance of the specified point

Parameters:
  • posn (Vector3) - the location of the point
  • dist (double) - the distance from the point to particles that will be returned
  • groupID (int) - the group ID of spheres to return as a list
Returns: boost::python::list

getSphereListFromGroup(...)

 

Returns a python list of Sphere objects with the specified group ID contained in the neighbour table

Parameters:
  • groupID (int) - the group ID of spheres to return as a list
Returns: boost::python::list

getSumVolume(...)

 

Returns the sum of the particle volumes in the specified group.

Parameters:
  • groupID (int) - the group ID of particles whose volume is summed.
Returns: double

insert(...)

 

Inserts sphere

Parameters:
  • sphere (Sphere) - the sphere to insert
  • groupID (int) - the group ID of the inserted sphere.

insertBond(...)

 

Inserts bond

Parameters:
  • Id1 (int) - Id of first particle to bond
  • Id2 (int) - Id of second particle to bond
  • tag (int) - the bond tag to assign to the generated bond

insertFromRawFile(...)

 

Reads in an existing geometry from a file in raw format

Parameters:
  • fileName (string) - the name of the Raw geometry file to read
  • scale (double) - a scaling factor to apply to coordinates and radius
  • tolerance (double) - the tolerance for determining whether particles collide

removeParticlesInVolume(...)

 

Removes all particles inside the specified volume

Parameters:
  • volume (AVolume) - the volume within which to remove particles
  • groupID (unsigned int) - the group ID of particles to remove
  • full (bool) - remove particles fully inside volume or only centre inside

removeParticlesWithTag(...)

 

Removes all particles with given tag from a group

Parameters:
  • tag (int) - the tag of particles to remove
  • groupID (unsigned int) - the group ID of particles to remove
Returns: void

removeTaggedParticles(...)

 

Removes all particles with given tag from a group

Parameters:
  • groupID (unsigned int) - the group ID of particles to remove
  • tag (int) - the tag of particles to remove
  • mask (int) - the mask of particles to remove
Returns: void

tagParticlesAlongJoints(...)

 

Assigns the specified tag to all particles from group groupID that lie within the specified distance of the given joint set.

Parameters:
  • joints (TriPatchSet) - the joint set along which to tag particles
  • distance (double) - the maximum distance between tagged particles and the plane
  • tag (int) - the tag to assign particles
  • mask (int) - the mask determining which bits of the tag are influenced
  • groupID (unsigned int) - the group ID of particles to tag
Returns: void

tagParticlesAlongPlane(...)

 

Assigns the specified tag to all particles from group groupID that lie within the specified distance of the given plane.

Parameters:
  • plane (Plane) - the plane along which to tag particles
  • distance (double) - the maximum distance between tagged particles and the plane
  • tag (int) - the tag to assign particles
  • groupID (unsigned int) - the group ID of particles to tag
Returns: void

tagParticlesAlongPlaneWithMask(...)

 

Assigns the specified tag to all particles from group groupID that lie within the specified distance of the given plane.

Parameters:
  • plane (Plane) - the plane along which to tag particles
  • distance (double) - the maximum distance between tagged particles and the plane
  • tag (int) - the tag to assign particles
  • mask (int) - the mask determining which bits of the tag are influenced
  • groupID (unsigned int) - the group ID of particles to tag
Returns: void

tagParticlesInGroup(...)

 

Generates bonds between particle pairs separated by less than the specified tolerance

Parameters:
  • groupID (int) - the group ID of particles to bond together
  • tag (int) - the tag to be applied
  • mask (int) - only the bits which are 1 in the mask are actually changed in the tag (optional)
Returns: void

tagParticlesInSphere(...)

 

Assigns the specified tag to all particles from group groupID that lie within the given sphere.

Parameters:
  • sphere (Sphere) - the sphere in which to tag particles
  • tag (int) - the tag to assign particles
  • groupID (unsigned int) - the group ID of particles to tag
Returns: void

tagParticlesInVolume(...)

 

Assigns the specified tag to all particles from group groupID that lie within the specified volume.

Parameters:
  • volume (AVolume) - the volume within which to tag particles
  • tag (int) - the tag to assign particles
  • groupID (unsigned int) - the group ID of particles to tag
Returns: void

tagParticlesToClosest(...)

 

Tags particles in groudID1 closest to spheres in groupID2

Parameters:
  • groupID1 (int) - the group ID of particles to tag.
  • groupID2 (int) - the group ID of closest spheres.

tagParticlesToClosestAnisotropic(...)

 

Tags particles in groudID1 closest to spheres in groupID2

Parameters:
  • groupID1 (int) - the group ID of particles to tag.
  • groupID2 (int) - the group ID of closest spheres.
  • wx (double) - the weighting of the x-component of the distance.
  • wy (double) - the weighting of the y-component of the distance.
  • wz (double) - the weighting of the z-component of the distance.

write(...)

 

Writes the particle assembly and bonding information to the specified file using the specified output style (0: debug; 1: geo; 2: vtk)

Parameters:
  • fileName (string) - the name of the file to write
  • outputStyle (int) - output style (0: debug; 1: geo; 2: vtk)
Returns: void