public class BoundaryRectangularPore extends BoundaryRectangular
Modifier and Type | Field | Description |
---|---|---|
protected Vector |
dimensionsHalf |
|
protected Vector |
tempImage |
box, eventManager, inflateEvent, shape, space
dimensions, edgeVectors, shift0
Constructor | Description |
---|---|
BoundaryRectangularPore(Space space) |
Makes cubic volume with the x-dimension (index 0)
not periodic.
|
BoundaryRectangularPore(Space space,
int poreDim) |
Makes cubic volume with the indicated dimension not periodic.
|
BoundaryRectangularPore(Space space,
int poreDim,
double boxSize) |
Constructor for periodic boundary conditions with a pore
in the given dimension.
|
Modifier and Type | Method | Description |
---|---|---|
Vector |
centralImage(Vector r) |
Determines the translation vector needed to apply a periodic-image
transformation that moves the given point to an image point within the
boundary (if it lies outside, in a direction subject to periodic
imaging).
|
IndexIteratorSizable |
getIndexIterator() |
|
boolean |
getPeriodicity(int d) |
Returns true if the boundary is periodic in the given direction (as
defined by the getEdgeVector method).
|
int |
getPoreDim() |
Returns index of periodic dimension.
|
void |
nearestImage(Vector dr) |
The nearest image is the pair of atom images that are closest when all
periodic-boundary images are considered.
|
void |
setPoreDim(int poreDim) |
Sets the periodic dimension to that indicated by the given value
(0 is x-dimension, 1 is y-dimension, etc.).
|
protected void |
updateDimensions() |
getBox, getCenter, getEventManager, getPeriodicity, getShape, setBox
getBoxSize, getEdgeVector, imageOrigins, setBoxSize, volume
protected final Vector dimensionsHalf
protected final Vector tempImage
public BoundaryRectangularPore(Space space)
public BoundaryRectangularPore(Space space, int poreDim)
poreDim
- index indicating dimension that is not periodic (0 for x-dimension,
1 for y-dimension, etc.).java.lang.IllegalArgumentException
- if not (0 <= slitDim < space.D).public BoundaryRectangularPore(Space space, int poreDim, double boxSize)
space
- poreDim
- pore dimension (in which PBC is not imposed).public void setPoreDim(int poreDim)
java.lang.IllegalArgumentException
- if not (0 <= slitDim < space.D).public int getPoreDim()
protected void updateDimensions()
updateDimensions
in class BoundaryRectangular
public void nearestImage(Vector dr)
Boundary
If the vector passed to this method is the displacement vector between two points, the vector will be transformed such that it corresponds to the vector between the nearest image of those two points.
nearestImage
in class Boundary
dr
- the vector to be transformedpublic Vector centralImage(Vector r)
Boundary
centralImage
in class Boundary
r
- vector position of untransformed point; r is not changed by
this methodpublic IndexIteratorSizable getIndexIterator()
getIndexIterator
in class Boundary
public boolean getPeriodicity(int d)
Boundary
getPeriodicity
in class Boundary
d
- the dimension of the desired periodicity