Class PolarizabilityPlugin

  • All Implemented Interfaces:
    chemaxon.license.Licensable

    @PublicAPI
    public class PolarizabilityPlugin
    extends MajorMicrospeciesAccessorPlugin
    Plugin class for atom polarizability calculation.

    API usage example:

        // read input molecule
        MolImporter mi = new MolImporter("test.mol");
        Molecule mol = mi.read();
        mi.close();
    
        // create plugin
        PolarizabilityPlugin plugin = new PolarizabilityPlugin();
    
        // optional: take major microspecies at pH=7.4
        // skip this if you want to calculate polarizability for the input molecule as it is
        plugin.setpH(7.4);
    
        // set target molecule
        plugin.setMolecule(mol);
            
        // run the calculation
        plugin.run();
    
        // get molecular polarizability
        double molpol = plugin.getMolPolarizability();
        System.out.println("molecular polarizability: "+molpol);
    
        // get polarizability values for each atom
        int count = mol.getAtomCount();
        for (int i=0; i < count; ++i) {
              double pol = plugin.getPolarizability(i);
              if (!Double.isNaN(pol)) {
                  System.out.println("polarizability for atom "+(i+1)+": "+pol);
              }
        }
     

    For concurrent plugin example applications using ChemAxon's concurrent framework, refer to the Concurrent plugin examples.

    • Constructor Detail

      • PolarizabilityPlugin

        public PolarizabilityPlugin()
        Constructor.
    • Method Detail

      • isLicensed

        public boolean isLicensed()
        Returns true if the plugin is licensed. The license checking is based on the product name, returned by getProductName().
        Specified by:
        isLicensed in interface chemaxon.license.Licensable
        Overrides:
        isLicensed in class MajorMicrospeciesAccessorPlugin
        Returns:
        true if the plugin is licensed
      • setParameters

        public void setParameters​(Properties params)
                           throws PluginException
        Sets the input parameters for the plugin. Polarization parameters and value ranges:
        • precision: 0-8 or inf (number of displayed fractional digits, inf for unrounded value)
        • type:
          • molecular
          • atomic
          (default: all)
        • geom3D: "true" if 3D geometry should be considered (computes molecular polarizability and principal components of polarizability tensor) (default: "false")
        Overrides:
        setParameters in class MajorMicrospeciesAccessorPlugin
        Parameters:
        params - is the parameter table
        Throws:
        PluginException - on error
      • setGeom3D

        public void setGeom3D​(boolean geom3D)
        Sets 3D geometry consideration. Call this before setting the input molecule in CalculatorPlugin.setMolecule(Molecule).
        Parameters:
        geom3D - if true, molecular polarizability and principal components of polarizability tensor are computed (default: false)
      • getErrorMessage

        public String getErrorMessage()
        Returns the calculation error information message if run() returned false (calculation error): hydrogen valence error.
        Overrides:
        getErrorMessage in class MajorMicrospeciesAccessorPlugin
        Returns:
        the calculation error information message
      • getPolarizability

        public double getPolarizability​(int index)
        Returns the atom polarizability value.
        Parameters:
        index - is the atom index
        Returns:
        the atom polarizability value
        Since:
        Marvin 3.4.1
      • getHPolarizability

        public double getHPolarizability​(int index)
        Returns the sum of the implicit H atom polarizability values around the given heavy atom.
        Parameters:
        index - is the heavy atom index
        Returns:
        the sum of the implicit H atom polarizability values
        Since:
        Marvin 4.1
      • getMolPolarizability

        public double getMolPolarizability()
        Returns the molecular polarizability value.
        Returns:
        the molecular polarizability value
      • getAveragePolarizabilityComponent

        public double getAveragePolarizabilityComponent()
        Returns the average polarizability component (for geom3D=true, see setGeom3D(boolean)).
        Returns:
        the average polarizability component
      • getPrincipalPolarizabilityComponents

        public double[] getPrincipalPolarizabilityComponents()
        Returns the principal components a(xx), a(yy), a(zz) of polarizability tensor (for geom3D=true, see setGeom3D(boolean)).
        Returns:
        the principal polarizability component array
      • getResultTypes

        public Object[] getResultTypes()
        Returns the result types (possible types: sigma, pi, total).
        Overrides:
        getResultTypes in class CalculatorPlugin
        Returns:
        the result types
      • getResultCount

        public int getResultCount​(Object type)
        Returns the number of result items for the given result key. Polarizability returns the atom count for type "atomic", 1 for type "molecular".
        Overrides:
        getResultCount in class CalculatorPlugin
        Parameters:
        type - is the result type
        Returns:
        the number of result items
        See Also:
        getResultTypes()
      • getResult

        public Object getResult​(Object type,
                                int index)
                         throws PluginException
        Returns the result item for the specified type and index. Polarizability returns the atom polarizability value as a Double object.
        Overrides:
        getResult in class CalculatorPlugin
        Parameters:
        type - is the result type (not used)
        index - is the atom index
        Returns:
        the result item for the specified type and index
        Throws:
        PluginException - if the result cannot be returned
        See Also:
        getResultTypes()
      • getResultAsString

        public String getResultAsString​(Object type,
                                        int index,
                                        Object result)
                                 throws PluginException
        Returns the specified result in String format. Polarizability returns the rounded atom polarizability value in string format: the value is rounded using the 'precision' input parameter that determines the number of fractional digits displayed.
        Overrides:
        getResultAsString in class CalculatorPlugin
        Parameters:
        type - is the result type
        index - is the result index
        result - is the result item
        Returns:
        the specified result in String format
        Throws:
        PluginException - if an invalid result item is given