I'm forwarding this from Jiahao Chen, who contributed the QEq and QTPIE charge 
models to Open Babel. I'll reply in a second.

Begin forwarded message:

> From: Jiahao Chen <[email protected]>
> Date: July 2, 2010 6:30:51 PM EDT
> To: Geoffrey Hutchison <[email protected]>
> Subject: Properties derived from charge models - code structure?
> 
> Hi Geoff,
> 
> I was thinking of adding some code to OpenBabel to compute electrostatic 
> properties and I would appreciate your input on how such code should be 
> structured.
> 
> The properties I am thinking of are:
> 
> 1. Dipole moments and higher order multipole moments. It is straightforward 
> to compute these once a molecule is assigned a charge distribution using any 
> method.
> 
> 2. Dipole polarizabilities, which can be computed with QEq and QTPIE. In 
> principle this is also computable with Gasteiger charges, but would require 
> writing code that I do not have right now.
> 
> 3. Condensed Fukui functions, which are the probabilities that charge sites 
> will build up charge when the total charge on the system is changed. These 
> can be computed using an analogous equation to the charge response equations 
> of QEq and QTPIE, but with a different vector on the right hand side.
> 
> 4. Molecular electronegativities and molecular hardnesses. The molecular 
> electronegativity is a byproduct of solving the QEq or QTPIE equations, and 
> the molecular hardness is a byproduct of solving the corresponding equations 
> for the condensed Fukui functions.
> 
> 5. Further reactivity indices such as those proposed by Geerlings, de Proft 
> and Langenaeker (Chem Rev 103, 2003, 1793) which can be computed without too 
> much additional effort given charge and charge response data.
> 
> It is clear that class members implementing the appropriate calculations for 
> all but (1) should be placed within charges/qeq.cpp and ~/qtpie.cpp. However 
> I am not sure as to where to place code to call and output these quantities.
> 
> Based on my understanding of the OpenBabel code structure, it seems that some 
> kind of corresponding OBDescriptors would be appropriate for doing the 
> bookkeeping of figuring out if the charge model requested is
> capable of producing the respective quantities and making the appropriate 
> OBChargeModel::ComputeProperty() calls and assigning them to appropriate 
> OBVectorData or OBMatrixData containers under OBMol. Alternatively, the code 
> in qeq.cpp or qtpie.cpp could assign such data directly. This seems 
> appropriate for molecular electronegativities and hardnesses, which are 
> byproducts of solving the equations and are currently being thrown away. For 
> other properties like the polarizabilities, extra calculations are needed, 
> and for some, the time taken to compute them is comparable to the time taken 
> to solve for the charges in the first place.
> 
> Also, one minor thing: it would seem useful to expose these properties (if 
> requested using "-add" or already read in from an input file) to the report 
> format, which currently does not output any perceived or read-from-input 
> properties data. This seems like an omission that runs counter to the spirit 
> of making as complete of a report as possible.
> 
> Thanks,
> 
> Jiahao Chen
> MIT Chemistry
> http://theochem.mit.edu
> 

---
Prof. Geoffrey Hutchison
Assistant Professor, Department of Chemistry
University of Pittsburgh
http://hutchison.chem.pitt.edu/
Office: (412) 648-0492


------------------------------------------------------------------------------
This SF.net email is sponsored by Sprint
What will you do first with EVO, the first 4G phone?
Visit sprint.com/first -- http://p.sf.net/sfu/sprint-com-first
_______________________________________________
OpenBabel-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to