Class MultiDynamicsOptions

java.lang.Object
ffx.algorithms.cli.MultiDynamicsOptions

public class MultiDynamicsOptions extends Object
Represents command line options for scripts that can create multiple walkers, such as multi-walker OST. Should be kept agnostic to whether it is an MD-based algorithm, or some other flavor of Monte Carlo.
Since:
1.0
Author:
Michael J. Schnieders, Jacob M. Litman
  • Constructor Details

    • MultiDynamicsOptions

      public MultiDynamicsOptions()
  • Method Details

    • distribute

      public void distribute(MolecularAssembly[] molecularAssemblies, Potential[] potentials, CrystalPotential crystalPotential, AlgorithmFunctions algorithmFunctions, int rank, int worldSize)
      If residues selected for distributing initial configurations, performs many-body optimization for this distribution.
      Parameters:
      molecularAssemblies - an array of MolecularAssembly objects.
      potentials - ForceFieldEnergy for each topology.
      crystalPotential - Overall CrystalPotential in use.
      algorithmFunctions - a AlgorithmFunctions object.
      rank - The MPI rank of this process.
      worldSize - The number of MPI processes.
    • distribute

      public void distribute(MolecularAssembly[] molecularAssemblies, CrystalPotential crystalPotential, AlgorithmFunctions algorithmFunctions, int rank, int worldSize)
      If residues selected for distributing initial configurations, performs many-body optimization for this distribution.
      Parameters:
      molecularAssemblies - an array of MolecularAssembly objects.
      crystalPotential - Overall CrystalPotential in use.
      algorithmFunctions - a AlgorithmFunctions object.
      rank - The MPI rank of this process.
      worldSize - The number of MPI processes.
    • isSynchronous

      public boolean isSynchronous()
      Synchronous walker communication.

      isSynchronous.

      Returns:
      a boolean.
    • setSynchronous

      public void setSynchronous(boolean synchronous)
    • openFile

      public MolecularAssembly openFile(AlgorithmFunctions algorithmFunctions, TopologyOptions topologyOptions, int threadsPer, String toOpen, int topNum, AlchemicalOptions alchemicalOptions, File structureFile, int rank)
      Opens a file and processes it. Extends the behavior of AlchemicalOptions.openFile by permitting use of a rank-dependent File.
      Parameters:
      algorithmFunctions - AlgorithmFunctions object.
      topologyOptions - Topology Options.
      threadsPer - Threads to use per system.
      toOpen - Filename to open.
      topNum - Number of the topology to open.
      alchemicalOptions - Alchemical Options.
      structureFile - a File object.
      rank - Rank in the world communicator.
      Returns:
      a MolecularAssembly object.
    • getDistributeWalkersString

      public String getDistributeWalkersString()
      Allows walkers to start from multiple conformations; AUTO picks up per-walker conformations as filename.pdb_(walker number), and specifying a residue starts a rotamer optimization to generate side-chain configurations to start from.
      Returns:
      Returns the Distribute Walkers string.
    • setDistributeWalkersString

      public void setDistributeWalkersString(String distributeWalkersString)
    • getFirstDir

      public int getFirstDir()
    • setFirstDir

      public void setFirstDir(int firstDir)