Module gengeo :: Class MNTable3D

[hide private]
[frames] | no frames]

# Class MNTable3D

     object --+
              |
    ??.instance --+
                  |
                 MNTable3D

Known Subclasses:
  - CircMNTable3D

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.