Minimization in Pele++ control file¶
The "Minimizer"
block in a peleSimulation
command configures the final minimization of the relaxation phase. This block also configures the minimization in a minimization
command. In a peleSimulation
, this phase will be active if either the side chain prediction phase is active, or if the minimizationFrequency
PELE parameter says so (see minimizationFrequency). In particular, every time a side chain prediction is performed, a final minimization also happens; besides, every minimizationFrequency
steps, a minimization is performed (if it is also a step where the side chain prediction is performed, only one minimization, after the prediction, is executed).
There also exist minimization blocks for the minimizers used in the ANM phase (ANM Block in Pele++ control file) and in the Side Chain Prediction phase (SideChainPrediction Block in Pele++ control file), where they are respectively called "anmMinimizer"
and "sideChainMinimizer"
. Unless noted, all parameters shown below can also be used when configuring those minimizers. The default values shown below correspond to the "Minimizer"
block; see the ANM and Side Chain Prediction manual pages for the defaults used in their corresponding minimizers.
In the minimization phase of a PELE simulation, the following will be minimized:
if
minimizationRegionRadius
(minimizationRegionRadius) is not zero, then the perturbed links and the links that are at mostminimizationRegionRadius
\(\AA{}\) away from them.the top side links, which are those links that worsen their energy the most between the beginning of a PELE step and the end of the perturbation and ANM phase. The number of these links is selected by the PELE parameter
numberOfTopSideSelectedLinks
(numberOfTopSideSelectedLinks). Also the links that are at mosttopSideRadius
\(\AA{}\) away from the top side links (topSideRadius) will be included.those atoms selected in
includeInMinimization
(includeInMinimization).removing, from all the atoms previously selected, those atoms in
doNotIncludeInMinimization
(doNotIncludeInMinimization).
Besides the permanent constraints (Permanent constraints in Pele++ control file), the following constraints are considered during the minimization phase of a PELE simulation:
Constraints on ANM nodes (see relaxationSpringConstant).
If the perturbation is active, constraints on the perturbed atoms to their center of mass (see removeBulkMovement).
Algorithm selection¶
algorithm¶
Use: It sets the minimization algorithm that will be used.
Possible options:
“TruncatedNewton”: Newton’s method minimizes \(Q(x_1,\ldots,x_n) \simeq F(x_1,\ldots,x_n)\), where Q is a quadratic function. Truncated Newton consists of two sub-algorithms, the first one controlling the entire minimization and the second one iteratively minimizing Q.
“ConjugatedGradient”: Minimizes the energy using the conjugated-gradient algorithm.
“SteepestDescent”: Minimizes the energy using the steepest-descent method.
Default value: “TruncatedNewton”
Selection of links to minimize¶
These selection options appear at the peleSimulation level. Example:
"commands" : [
{
"commandType" : "peleSimulation",
"selectionToPerturb" : {
"chains" : {
"names" : [ "L" ]
}
},
"PELE_Output" : {
...
},
"PELE_Parameters" : {
...
},
"includeInMinimization": { "chains" : "all" },
"doNotIncludeInMinimization": { "chains": { "names" : ["A"] }},
"Minimizer" : {
...
}
...
}
]
includeInMinimization¶
Use: Selection string used to select the atoms to which the minimization is going to be performed. Make sure this parameter does not interfere with the minimizationRegionRadius PELE parameter (PeleParameters).
You can find examples of selections in (Selection Examples).
Parameter: Selector * doMinimizeSelector
Default value: Select the whole system (equivalent to ‘{“chains”: “all”}’).
doNotIncludeInMinimization¶
Use: Selection string used to select the atoms that will be frozen during the minimization.
Notice that doNotIncludeInMinimization prevails over includeInMinimization, i.e. if an atom or link is selected by both selection, it will be omitted. Therefore, check it does not deselects the whole system.
You can find examples of selections in (Selection Examples).
Parameter: Selector * doNotMinimizeSelector
Default value: The empty selection (equivalent to ‘“empty”’).
Parameters¶
EnergyDifference¶
Parameter: double energyTol
Use: Used as a convergence criterion in the different minimization algorithms.
Note for developers: Used in ConjugatedGradient::minimize, SteepestDescent::minimize and TruncatedNewton::runMinimizationIterations.
Units: kCal/mol
Range: [0, inf)
Default value: 1.0
Plop info: Not accessible from control file (hardcoded).
MinimumRMS¶
Parameter: double rmsMin
Use: Used as a convergence criterion in the different minimization algorithms.
Note for developers: Used in ConjugatedGradient::minimize, SteepestDescent::minimize and TruncatedNewton::hasOuterLoopConverged.
Units: \((\text{kCal}/\text{mol}/\AA{})^2\)
Range: (0, inf)
Default value: 0.1
Plop info:
Plop control file name: ‘rmsg’
Plop parameter name: min_params%rmsmin
Plop default value: 0.001
MaximumMinimizationIterations¶
Parameter: unsigned int iterMax
Use: Used as a convergence criterion in the different minimization algorithms.
Note for developers: Used in ConjugatedGradient::minimize, SteepestDescent::minimize and TruncatedNewton::runMinimizationIterations.
Units: Dimensionless
Range: [0, inf)
Default value: 3
Plop info:
Plop control file name: ‘iter’
Plop parameter name: min_params%iter_max
Plop default value: 3
Truncated Newton Parameters¶
MaximumNewtonIterations¶
Parameter: unsigned int maximumNewtonIterations
Use: Number of times that the outer loop is going to be run.
Note for developers: Used in TruncatedNewton::runOuterLoop
Units: Dimensionless
Range: [0, inf)
Default value: 65
Plop info:
Plop control file name: ‘mxitn’
Plop parameter name: min_params%mxitn
Plop default value: 65
nonBondingListUpdatedEachMinStep¶
Parameter: bool updateNblist
Use: Controls whether the NB list is updated after each minimization step or not.
Note for developers: Used in TruncatedNewton::revertToPreviousValidStateInCaseOfMinimizationFailure, TruncatedNewton::prepareOuterLoopNextIteration and TruncatedNewton::runOneIteration.
Units: Dimensionless
Range: True or false
Default value: true
Plop info:
Plop control file name: ‘nbup’
Plop parameter name: min_params%update_nblist
Plop default value: True
alphaUpdated¶
Parameter: bool updateAlpha
Use: Controls whether the Born alpha radius is updated after each minimization step or not.
Note for developers: Used in TruncatedNewton::runOneIteration and TruncatedNewton::revertToPreviousValidStateInCaseOfMinimizationFailure.
Units: Dimensionless
Range: True or false
Default value: false
Plop info:
Plop control file name: ‘alphaup’
Plop parameter name: min_params%update_alpha
Plop default value: False
sgbUpdated¶
Parameter: bool updateSgb
Use: Controls whether SGB cell list is updated after each minimization step or not.
Note for developers: Used in TruncatedNewton::runOneIteration and TruncatedNewton::revertToPreviousValidStateInCaseOfMinimizationFailure.
Units: Dimensionless
Range: True or false
Default value: true
Plop info:
Plop control file name: ‘gbup’
Plop parameter name: min_params%update_sgb
Plop default value: True
iterationsBetweenNBlistLongUpdate¶
This parameter is currently not assignable through the control file.
Parameter: unsigned int iterationsBetweenNonBondingLongUpdate
Use: The list of non bonded long is updated every iterationsBetweenNBlistLongUpdate.
Note for developers: Used, indirectly, in OuterLoop::prepareForNextIteration().
Units: Dimensionless
Range: [1,inf)
Default value: 2
Plop info:
Plop control file name: ‘niterup’
Plop parameter name: min_params%nfull
Plop default value: 2