#include <Pbc.h>
|
static void | test () |
| Perform some check. Useful for debugging. More...
|
|
Type of box.
Enumerator |
---|
unset |
|
orthorombic |
|
generic |
|
void PLMD::Pbc::buildShifts |
( |
std::vector< Vector > |
shifts[2][2][2] | ) |
const |
|
private |
Build list of shifts.
This is expensive, and must be called only when box is reset. It allows building a minimal set of shifts depending on the sign of the scaled coordinates representing a distance vector.
double PLMD::Pbc::distance |
( |
const bool |
pbc, |
|
|
const Vector & |
v1, |
|
|
const Vector & |
v2 |
|
) |
| const |
Compute modulo of (v2-v1), using or not pbc depending on bool pbc.
Computes v2-v1, using minimal image convention.
version of distance which also returns the number of attempted shifts
void PLMD::Pbc::fullSearch |
( |
Vector & |
d | ) |
const |
Full search (for testing).
Perform a full search on vector
const Tensor & PLMD::Pbc::getBox |
( |
| ) |
const |
const Tensor & PLMD::Pbc::getInvBox |
( |
| ) |
const |
Returns the inverse matrix of box.
Thus: pbc.getInvBox() == inverse(pbc.getBox()).
bool PLMD::Pbc::isOrthorombic |
( |
| ) |
const |
Returns true if the box vectors are orthogonal.
Transform a vector in real space to a vector in scaled coordinates.
Thus:pbc.realToScaled(v) == matmul(transpose(inverse(pbc.getBox(),v)));
Transform a vector in scaled coordinates to a vector in real space.
Thus:pbc.scaledToRead(v) == matmul(transpose(pbc.getBox()),v);
void PLMD::Pbc::setBox |
( |
const Tensor & |
b | ) |
|
Set the lattice vectors.
b[i][j] is the j-th component of the i-th vector
Perform some check. Useful for debugging.
Alternative representation for orthorombic cells.
Not really used, but could be used to optimize search in orthorombic cells.
Inverse of the reduced box.
Reduced box.
This is a set of lattice vectors generating the same lattice but "minimally skewed". Useful to optimize image search.
std::vector<Vector> PLMD::Pbc::shifts[2][2][2] |
|
private |
List of shifts that should be attempted.
Depending on the sign of the scaled coordinates representing a distance vector, a different set of shifts must be tried.
enum { ... } PLMD::Pbc::type |
The documentation for this class was generated from the following files: