Class GaussVol

java.lang.Object
ffx.potential.nonbonded.implicit.GaussVol

public class GaussVol extends Object
GaussVol implements a description molecular volume and surface area described by overlapping Gaussian spheres.

Ported from C++ code by Emilio Gallicchio. GaussVol is part of the AGBNP/OpenMM implicit solvent model.

Since:
1.0
Author:
Michael J. Schnieders
See Also:
  • Field Details

    • DEFAULT_GAUSSVOL_RADII_OFFSET

      public static final double DEFAULT_GAUSSVOL_RADII_OFFSET
      Default offset applied to radii for use with Gaussian Volumes to correct for not including hydrogen atoms.
      See Also:
    • DEFAULT_GAUSSVOL_RADII_SCALE

      public static final double DEFAULT_GAUSSVOL_RADII_SCALE
      Default scaling applied to radii for use with Gaussian Volumes to correct for not including hydrogen atoms and general underestimation of molecular volume

      Default set to 1.15 to match Corrigan et al. 2023 protein model Can be set to greater than 1.0 to increase the radii by a uniform percentage (ex: a radii scale of 1.25 increases all radii by 25%)

      See Also:
  • Constructor Details

    • GaussVol

      public GaussVol(Atom[] atoms, ForceField forceField, ParallelTeam parallelTeam)
      Creates/Initializes a GaussVol instance.
      Parameters:
      atoms - The atoms to examine.
      forceField - The ForceField in use.
      parallelTeam - ParallelTeam for Parallal jobs.
  • Method Details

    • getRadii

      public double[] getRadii()
      Get the radii.
      Returns:
      Returns the radii.
    • getSelfVolumeFractions

      public double[] getSelfVolumeFractions()
      Return the self volume fraction for each atom.
      Returns:
      The self-volume fractions.
    • computeVolumeAndSA

      public double computeVolumeAndSA(double[][] positions)
      Compute molecular volume and surface area.
      Parameters:
      positions - Atomic positions to use.
      Returns:
      The volume.
    • getMaximumDepth

      public int getMaximumDepth()
      Returns the maximum depth of the overlap tree
      Returns:
      maximumDepth
    • getSurfaceArea

      public double getSurfaceArea()
      Return Surface Area (A^2).
      Returns:
      Surface Area (A^2).
    • getSurfaceAreaGradient

      public double[] getSurfaceAreaGradient()
    • getTotalNumberOfOverlaps

      public int getTotalNumberOfOverlaps()
      Return the total number of overlaps in the tree
      Returns:
      totalNumberOfOverlaps
    • getVolume

      public double getVolume()
      Return Volume (A^3).
      Returns:
      Volume (A^3).
    • getVolumeGradient

      public double[] getVolumeGradient()
    • allocate

      public void allocate(Atom[] atoms) throws Exception
      Throws:
      Exception
    • updateAtom

      public void updateAtom(int i)