| |
- addPseudoAtoms(esim, size, verbose=True)
- createPseudoAtoms(simulation, size, verbose=True)
- Create pseudo atoms to encode angles for AWeights population weights
and set their initial coordinates.
- create_AWeights(members, baseSize=None, derivedSpecs=[], initialWeights=None, sim=None, verbose=True)
- Create an aWeights.AWeights term.
The members argument should be either an integer specifying the
ensemble size or a list of ensemble indices to optimize.
The baseSize and derivedSpecs arguments are used to specify an
interrelationship between ensemble weights (beyond the condition
of normality). If baseSize is omitted, derivedSpecs specifies a
set of weights dependent on the previous
len(members)-len(derivedSpecs) weights. If baseSize is specified,
the number of independent weights is baseSize, and derivedSpecs
should be of len(members).
derivedSpecs is a list of tuples with three arguments each.The
populations of the dependent (derived) w_k is
w_k = A_k + B_k * w_b + w_b^T * C_k * w_b
where w_b are base weights, A_k is a constant, B_k a vector and C_k a
matrix. The parameters A,B and C are specified by the derivedSpecs entry as a
sequence of three values (A,B,C). The specifications for B and C are in sparse
notation by index of nonzer entries, so the second gives the nonzero members
of the B vector in the equation above in the form [index, value]. The third
entry gives the nonzero values of the C matrix in the form
[index1, index2, value].
If the initialWeights argument is specified, the weights will be
initialized appropriately, otherwise, the weights will be set uniformly.
- initAWeightsParams(members, baseSize, derivedSpecs)
- initPseudoAtoms(atoms)
- Initialize positions of the AWeights-encoding pseudoatoms.
- initTopoParams(simulation)
- Initialize topology and parameters for AWeights pseudo atoms.
- massSetup(list=[], axisMass=None)
- Appropriately setup pseudo-atom masses to axisMass. This mass defaults
to the aWeightsTools.axisMassValue if not specified.
if list is not specified, then pseudoatoms associated with
all registered EnsWeight objects are configured.
- optimizeWeights(ensWeights, potList, context=None)
- optimize ensemble weights given by the ensWeights argument using the
supplied potList, and reset target values used during
simulated annealing
- randomizeWeights(aWeights, minFrac=None)
- Randomize the weights in the passed AWeights term passed as aWeights.
The minFrac term can be used to specify a minimum value allowed for
weights as minFrac * 1/N, where N is the number of weights.
The procedure involves randomly choosing N-1 angle values uniformly
distributed, and then encoding the weights in hyper-spherical coordinates.
It is likely that A Jacobian in this transformation prevents resulting
uniformly distributed weights.
- registerTerm(term, simulation=None)
- add the given AWeights object to a list associated with its
Simulation. These objects will be automatically processed by topologySetup
and massSetup.
- topologySetup(ivm, list=[], options=[])
- configure the given ivm.IVM object's topology setup using the
freedom string for each EnsWeight in list.
This function should be called prior to
ivm.IVM.autoTorsion() or protocol.torsionTopology()
The freedom specifier should be one of the following keywords:
fix
bend
ignore
if list is not specified, then pseudoatoms associated with
all registered AWeights objects are configured.
|