public class PolarizabilityPlugin extends MajorMicrospeciesAccessorPlugin
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.
CalculatorPlugin.HydrogenData
ionizer
ATOM, BLUE, CALCRGB_OFF, COVALENT_HYDRATION_ERROR_REMARK, CRITICAL_ERROR_MSG, EPSILON, explicitHydrogens, INCORRECT_AROMATIC_NITROGEN_REMARK, INSTABLE_TAUTOMERIC_FORM_REMARK, KEEP_HYDROGENS, keepHydrogens, licenseEnvironment, MOLECULE, MOLECULES, NAN, PLUGIN_CLASS_KEY, PLUGIN_DIR, RED, TRUE
Constructor and Description |
---|
PolarizabilityPlugin()
Constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
checkMolecule(Molecule mol)
Checks the input molecule.
|
double |
getAveragePolarizabilityComponent()
Returns the average polarizability component
(for
geom3D=true , see setGeom3D(boolean) ). |
String |
getErrorMessage()
Returns the calculation error information message if
run()
returned false (calculation error): hydrogen valence error. |
double |
getHPolarizability(int index)
Returns the sum of the implicit H atom polarizability values
around the given heavy atom.
|
double |
getMolPolarizability()
Returns the molecular polarizability value.
|
double |
getPolarizability(int index)
Returns the atom polarizability value.
|
double[] |
getPrincipalPolarizabilityComponents()
Returns the principal components
a(xx), a(yy), a(zz)
of polarizability tensor
(for geom3D=true , see setGeom3D(boolean) ). |
String |
getProductName()
Returns the product identifier of the plugin as given by
LicenseManager . |
Object |
getResult(Object type,
int index)
Returns the result item for the specified type and index.
|
String |
getResultAsString(Object type,
int index,
Object result)
Returns the specified result in String format.
|
int |
getResultCount(Object type)
Returns the number of result items for the given result key.
|
int |
getResultDomain(Object type)
Returns the calculation domain
CalculatorPlugin.ATOM or
CalculatorPlugin.MOLECULE . |
Molecule |
getResultMolecule()
Returns the result molecule for display.
|
Object[] |
getResultTypes()
Returns the result types (possible types: sigma, pi, total).
|
boolean |
isLicensed()
Returns
true if the plugin is licensed. |
boolean |
run()
Runs the charge calculation.
|
void |
setGeom3D(boolean geom3D)
Sets 3D geometry consideration.
|
protected void |
setInputMolecule(Molecule mol)
Sets the input molecule.
|
void |
setParameters(Properties params)
Sets the input parameters for the plugin.
|
createModifiedInputMolecule, getIonizerErrorMessage, getpH, setpH, standardize
arrangeHydrogenIncerments, canRepeat, checkLicense, checkType, containsCoordinateBond, containsMulticenterSgroup, containsPseudoAtom, containsSRUSgroup, create, createStandardizedMolecule, createStandardizedMolecule, dehydrogenize, format, format, format, format, getAtomCount, getAtomIndex, getAtomIndexMap, getCalcMolecule, getDisplayMolecule, getDocument, getDoublePrecision, getExplicitHydrogenData, getInputMolDim, getMainMolecule, getOriginalMolecule, getPluginResource, getQueryMoleculeErrorMessage, getRemark, getResult, getResult, getResult, getResultAsRGB, getResultAsRGB, getResultAsString, getResultCount, getResultDomain, getResultMessage, getResultMolecules, getResultsAsRGB, getResultsAsRGB, getResultsAsString, getResultsAsString, getResultSource, getTypeString, getWarningMessage, handlesMultiFragmentMolecules, isInputMoleculeAromatized, isMsCalc, isMultiThreadedRunEnabled, isNegligibleResult, isOK, isRgrouped, loadClass, readAttribute, removeWhitespace, restoreExplicitHydrogens, setAtomIndexMap, setDoublePrecision, setDoublePrecision, setDoublePrecision, setKeepHydrogens, setLicenseEnvironment, setMolecule, setMolecule, setMolecule, setMolecule, setProgressMonitor, standardizeIonicGroups, standardizeNeutralGroups
public boolean isLicensed()
true
if the plugin is licensed. The license checking
is based on the product name, returned by getProductName()
.isLicensed
in interface chemaxon.license.Licensable
isLicensed
in class MajorMicrospeciesAccessorPlugin
true
if the plugin is licensedpublic String getProductName()
LicenseManager
.getProductName
in class CalculatorPlugin
LicenseManager.CHARGE_PLUGIN_GROUP
public void setParameters(Properties params) throws PluginException
setParameters
in class MajorMicrospeciesAccessorPlugin
params
- is the parameter tablePluginException
- on errorpublic void setGeom3D(boolean geom3D)
CalculatorPlugin.setMolecule(Molecule)
.geom3D
- if true
, molecular polarizability and
principal components of polarizability tensor are computed
(default: false
)public void checkMolecule(Molecule mol) throws PluginException
checkMolecule
in class MajorMicrospeciesAccessorPlugin
mol
- is the input moleculePluginException
- with error message for the user if the molecule is refusedprotected void setInputMolecule(Molecule mol) throws PluginException
setInputMolecule
in class CalculatorPlugin
mol
- is the input moleculePluginException
- on errorpublic boolean run() throws PluginException
run
in class CalculatorPlugin
PluginException
- on errorCalculatorPlugin.getErrorMessage()
public String getErrorMessage()
run()
returned false (calculation error): hydrogen valence error.getErrorMessage
in class MajorMicrospeciesAccessorPlugin
public double getPolarizability(int index)
index
- is the atom indexpublic double getHPolarizability(int index)
index
- is the heavy atom indexpublic double getMolPolarizability()
public double getAveragePolarizabilityComponent()
geom3D=true
, see setGeom3D(boolean)
).public double[] getPrincipalPolarizabilityComponents()
a(xx), a(yy), a(zz)
of polarizability tensor
(for geom3D=true
, see setGeom3D(boolean)
).public Object[] getResultTypes()
getResultTypes
in class CalculatorPlugin
public int getResultDomain(Object type)
CalculatorPlugin.ATOM
or
CalculatorPlugin.MOLECULE
.getResultDomain
in class CalculatorPlugin
type
- is the result typeCalculatorPlugin.ATOM
getResultTypes()
public int getResultCount(Object type)
1
for type "molecular".getResultCount
in class CalculatorPlugin
type
- is the result typegetResultTypes()
public Object getResult(Object type, int index) throws PluginException
getResult
in class CalculatorPlugin
type
- is the result type (not used)index
- is the atom indexPluginException
- if the result cannot be returnedgetResultTypes()
public String getResultAsString(Object type, int index, Object result) throws PluginException
getResultAsString
in class CalculatorPlugin
type
- is the result typeindex
- is the result indexresult
- is the result itemPluginException
- if an invalid result item is givenpublic Molecule getResultMolecule() throws PluginException
MolAtom.getExtraLabel()
).
Molecular results are stored in molecule properties
with keys being the result types
(Molecule.getProperty(String)
).getResultMolecule
in class CalculatorPlugin
PluginException
- on error