symSimulation |
index |
A simulation.Simulation which contains copies of a subsimulation related
by strict symmetry operations. A SymSimulation should not be manipulated
directly by an IVM. Rather, energies can be evaluated for atoms in the
SymSimulation, but the underlying Simulation should instead by manipulated by
the IVM.
Constructor:
SymSimulation(name,
subSel,
cloneFirst=True)
A SymSimulation with given name is created based on the specified subSel,
which is an atomSel.AtomSel object. By default the atoms in
subSel are inserted into the newly created SymSimulation as a first
copy with an identity transformation. If cloneFirst is set to
False, all copies must be added with addCopy().
For SymSimulations, the simulation.Simulation noFit property of the
subSel Simulation is set to True, as the absolute position of the protomer
is significant.
Methods:
This objects contains all of the methods of the simulation.Simulation
class, but some write operations may be disallowed. In addition, it contains
the following:
type() - returns the string "SymSimulation"
subSel() - returns the atomSel.AtomSel subSel specified during
object construction.
addCopy(rot, - add a copy of the specified subSel atoms
trans, with the specified transformation parameters,
centroidMult, and one or more characters to use as a prefix, or
centroidProj, suffix for the segment name (one of these must be
translateSel, specified). Within a copy, the coordinates q_copy
translateMult, are generated from those of subSel q via the
rotateSel, transformation:
rotateAmount,
segidPrefix,
segidSuffix)
q_copy = rotMat * q + trans + centroidMult * centroidProj * q_centroid
+ translateMult * translatePos
where q_centroid is the geometric center, centroidMult and translateMult
are floating point numbers, centroidProj can be used to specify that only a
subset of the centroid position is used for the translation calculation,
and translateSel is an atomSel.AtomSel which specifies two atoms whose
difference defines a translation vector. rotMat is specified by the rot
argument if it is fixed in space, or by the rotateSel and rotateAmount
arguments for a rotation matrix whose orientation is allowed to
vary. In the later case, rotateSel should specify two atoms defining a
rotation axis, and rotationAmount will specify the amount of rotation
(in radians).
numCopies() - return the number of subSel copies are present. This
will be the number of times addCopy was called if
cloneFirst=False in the ctor, else it will be one
less than this number.
symOp(copyID) - return a SymSimulationOp object corresponding to the
specified copy. copyID 0 corresponds to the initial
identity copy.
The SymSimulationOp object has the following members:
Mat3 rot
Vec3 trans
float_type centroidMult
Mat3 centroidProj
AtomSel transAtoms
float_type transMult
String segidPrefix
String segidSuffix
Functions:
fromSimulation(sim) - given a simulation.Simulation object, return (cast
to) a SymSimulation. Will throw an exception if sim is
does not have SymSimulation type.
# This file was automatically generated by SWIG (http://www.swig.org).
# Version 4.0.2
#
# Do not make changes to this file unless you know what you are doing--modify
# the SWIG interface file instead.
Classes | ||||||||||||||||||||||||||||||||||
|
Functions | ||
|