public class BoundaryRectangularSlit extends BoundaryRectangular
Modifier and Type | Field | Description |
---|---|---|
protected Vector |
dimensionsHalf |
|
protected Vector |
tempImage |
box, eventManager, inflateEvent, shape, space
dimensions, edgeVectors, shift0
Constructor | Description |
---|---|
BoundaryRectangularSlit(int slitDim,
double boxSize,
Space _space) |
Constructor for periodic boundary conditions with a slit
in the given dimension.
|
BoundaryRectangularSlit(int slitDim,
Space _space) |
Makes cubic volume with the indicated dimension not periodic.
|
BoundaryRectangularSlit(Space _space) |
Makes cubic volume with the x-dimension (index 0)
not periodic.
|
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 |
getSlitDim() |
Returns index of non-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 |
setSlitDim(int slitDim) |
Sets the non-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 BoundaryRectangularSlit(Space _space)
public BoundaryRectangularSlit(int slitDim, Space _space)
slitDim
- 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 BoundaryRectangularSlit(int slitDim, double boxSize, Space _space)
_space
- slitDim
- slit dimension (in which PBC is not imposed).public void setSlitDim(int slitDim)
java.lang.IllegalArgumentException
- if not (0 <= slitDim < space.D).public int getSlitDim()
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