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 assemblies

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)
 
finishBlockWriting(...)
Finish block writing.
void
generateBonds(...)
Generates bonds between particle pairs separated by less than the specified tolerance
void
generateBondsTagged(...)
Generates bonds between particle pairs with the two specified tags.
void
generateBondsWithJointSet(...)
Generates bonds between particle pairs, checking whether the bond crosses a specified TriPatchSet representing joints.
 
generateClusterBonds(...)
Generates bonds with different tags depending on whether the particle tags are the same or different.
void
generateRandomBonds(...)
Generates bonds between particle pairs.
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
double
getSumVolume(...)
Returns the sum of the particle volumes in the specified group.
 
initBlockWriting(...)
Initialize data needed for blocked writing
 
insert(...)
Inserts sphere
 
insertBond(...)
Inserts bond between particles with the specified particle IDs
 
insertFromRawFile(...)
Reads in an existing geometry from a file in a raw ASCII format
 
removeBonds(...)
Delete all currently stored bonds.
void
removeParticlesInGroup(...)
Removes all particles from a given group
 
removeParticlesInVolume(...)
Removes all particles inside the specified AVolume3D
void
removeParticlesWithTag(...)
Removes all particles with the specified tag from a given group
void
removeTaggedParticles(...)
Removes all particles with a specified tag from a given group
 
renumberParticlesContinuous(...)
Changes all particle IDs so that they are continuous i.e.
 
setOutputPrecision(...)
Set the number of significant digits for file output
void
tagParticlesAlongJoints(...)
Assigns the specified tag to all particles from group groupID that lie within the specified distance of a given TriPatchSet
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 a given Plane.
void
tagParticlesInGroup(...)
Tag all particles with the specified groupID
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 within the specified AVolume3D from group groupID that lie within the specified volume.
 
tagParticlesToClosest(...)
Tags particles in groupID1 closest to spheres in groupID2.
 
tagParticlesToClosestAnisotropic(...)
Tags particles in groupID1 closest to spheres in groupID2 using distance weighting factors for aniostropic particle cluster shapes.
void
write(...)
Writes the particle assembly and bonding information to the specified file using the specified output style (0: debug; 1: geo; 2: vtk)
 
writeBlock(...)
Write particles in block to already initialized file
 
writeBondsBlocked(...)
Writing the current bonds to a temporary file.

Inherited from unreachable.instance: __new__

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

Class Variables [hide private]
  __instance_size__ = 336
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) - front-lower-left point of the particle region
  • maxPoint (Vector3) - back-upper-right point of the particle region
  • gridSize (double) - the cell size for neighbour searches
  • numGroups (unsigned int) - the initial number of groups (default: 1)
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 (default: 0)
  • tolerance (double) - maximum distance separating bonded particles
  • bondID (int) - the bond ID to assign generated bonds
Returns: void

generateBondsTagged(...)

 

Generates bonds between particle pairs with the two specified tags.

Parameters:
  • groupID (int) - the group ID of particles to bond together (default: 0)
  • 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, checking whether the bond crosses a specified TriPatchSet representing joints. A bond that crosses a triangle will be assigned a bondTag equal to the tag of the triangle. A bond that does not cross any triangle will be assigned a bondTag equal to the supplied bondTag.

Parameters:
  • JointSet (TriPatchSet) - Set of triangles to check for crossing bonds
  • groupID (int) - the group ID of particles to bond together (default: 0)
  • tolerance (double) - maximum distance separating bonded particles
  • bondTag (int) - the bond tag to assign to bonds that do not cross a joint (DO NOT set this equal to the tag of any triangle contained in the joint set).
Returns: void

generateClusterBonds(...)

 

Generates bonds with different tags depending on whether the particle tags are the same or different.

Parameters:
  • groupID (int) - the group ID of particles to bond together (default: 0)
  • 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. Bonds will be created with a specified probability <= 1

Parameters:
  • groupID (int) - the group ID of particles to bond together (default: 0)
  • 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 mask determining which bits of the tag are used
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 (default: 0)
Returns: boost::python::list

getSphereListFromGroup(...)

 

Returns a python list of Sphere objects with the specified group ID

Parameters:
  • groupID (int) - the group ID of spheres to return as a list (default: 0)
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 volumes are summed (default: 0).
Returns: double

initBlockWriting(...)

 

Initialize data needed for blocked writing

Parameters:
  • filename (string) - The name of the geo file to be written.

insert(...)

 

Inserts sphere

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

insertBond(...)

 

Inserts bond between particles with the specified particle IDs

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 a raw ASCII format

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

removeParticlesInGroup(...)

 

Removes all particles from a given group

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

removeParticlesInVolume(...)

 

Removes all particles inside the specified AVolume3D

Parameters:
  • volume (AVolume3D) - the volume within which to remove particles
  • groupID (unsigned int) - the group ID of particles to remove (default: 0)
  • full (bool) - remove particles fully inside volume or only with centres inside the volume

removeParticlesWithTag(...)

 

Removes all particles with the specified tag from a given group

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

removeTaggedParticles(...)

 

Removes all particles with a specified tag from a given group

Parameters:
  • groupID (unsigned int) - the group ID of particles to remove (default: 0)
  • tag (int) - the tag of particles to remove
  • mask (int) - the mask determining which bits of the tag are used
Returns: void

renumberParticlesContinuous(...)

 

Changes all particle IDs so that they are continuous i.e. 0,1,..,Np-1

setOutputPrecision(...)

 

Set the number of significant digits for file output

Parameters:
  • precision (int) - the number of significant digits (default: 10).

tagParticlesAlongJoints(...)

 

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

Parameters:
  • joints (TriPatchSet) - the set of triangular patches along which to tag particles
  • distance (double) - the maximum distance between tagged particles and the triangles in the TriPatchSet
  • tag (int) - the tag to assign particles
  • mask (int) - the mask determining which bits of the tag are used
  • groupID (unsigned int) - the group ID of particles to tag (default: 0)
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 (default: 0)
Returns: void

tagParticlesAlongPlaneWithMask(...)

 

Assigns the specified tag to all particles from group groupID that lie within the specified distance of a given Plane. Use of tag masks is permitted.

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 used
  • groupID (unsigned int) - the group ID of particles to tag (default: 0)
Returns: void

tagParticlesInGroup(...)

 

Tag all particles with the specified groupID

Parameters:
  • groupID (int) - the group ID of particles to tag (default: 0)
  • tag (int) - the tag to be assigned to the selected particles
  • 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 within which to tag particles
  • tag (int) - the tag to assign particles
  • groupID (unsigned int) - the group ID of particles to tag (default: 0)
Returns: void

tagParticlesInVolume(...)

 

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

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

tagParticlesToClosest(...)

 

Tags particles in groupID1 closest to spheres in groupID2. The particle ID of groupID2 specifies the tag assigned to nearest particles in groupID1.

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

tagParticlesToClosestAnisotropic(...)

 

Tags particles in groupID1 closest to spheres in groupID2 using distance weighting factors for aniostropic particle cluster shapes. The particle ID of groupID2 specifies the tag assigned to nearest particles in groupID1.

Parameters:
  • groupID1 (int) - the group ID of particles to tag (default: 0).
  • 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

writeBlock(...)

 

Write particles in block to already initialized file

Parameters:
  • minPoint (Vector3) - The minimum point of the block.
  • maxPoint (Vector3) - The maximum point of the block.