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.HydrogenDataionizerATOM, 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, standardizearrangeHydrogenIncerments, 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, standardizeNeutralGroupspublic 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.LicensableisLicensed in class MajorMicrospeciesAccessorPlugintrue if the plugin is licensedpublic String getProductName()
LicenseManager.getProductName in class CalculatorPluginLicenseManager.CHARGE_PLUGIN_GROUPpublic void setParameters(Properties params) throws PluginException
setParameters in class MajorMicrospeciesAccessorPluginparams - 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 MajorMicrospeciesAccessorPluginmol - is the input moleculePluginException - with error message for the user if the molecule is refusedprotected void setInputMolecule(Molecule mol) throws PluginException
setInputMolecule in class CalculatorPluginmol - is the input moleculePluginException - on errorpublic boolean run()
throws PluginException
run in class CalculatorPluginPluginException - on errorCalculatorPlugin.getErrorMessage()public String getErrorMessage()
run()
returned false (calculation error): hydrogen valence error.getErrorMessage in class MajorMicrospeciesAccessorPluginpublic 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 CalculatorPluginpublic int getResultDomain(Object type)
CalculatorPlugin.ATOM or
CalculatorPlugin.MOLECULE.getResultDomain in class CalculatorPlugintype - is the result typeCalculatorPlugin.ATOMgetResultTypes()public int getResultCount(Object type)
1 for type "molecular".getResultCount in class CalculatorPlugintype - is the result typegetResultTypes()public Object getResult(Object type, int index) throws PluginException
getResult in class CalculatorPlugintype - 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 CalculatorPlugintype - 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 CalculatorPluginPluginException - on error