[ghemical-devel] molecular surface

Tommi Hassinen thassine@messi.uku.fi
Mon, 30 Jun 2003 12:39:34 +0300 (WET)


On Fri, 27 Jun 2003, Joerg K. Wegner wrote:

> The first thing i need, is to understand how surfaces are stored and
> what the return value means exactly to be able to describe what is needed.
>
> what exactly is the interpretation of:
> fGL eng1_mm::GetVDWSurf(fGL * pp, fGL * dd)

This is the "starting point" I think and I'll explain it shortly.

> what are f, r, a, l2g_mm, cdata, ...

Humm.. Where do these come from? From the surface plotting code?

The surface plotting itself is quite complicated, and is only needed for
graphics (that is, how to split the surface into triangles and how to
choose the colours for triangle vertices and normals for the triangles
etc... I don't think you need all that, but instead you should just call
GetVDWSurf() etc functions to get the values you really need in your
application.

> OR: If i use 'fGL GetVDWSurf(fGL *p1, fGL *)'what should i use for p1 ?
> Can this be values of a grid box around the molecule and what is the
> interpretation of the return value?

	fGL p1[3];
	p1[0] = 0.1;
	p1[1] = 0.2;
	p1[2] = 0.3;

	fGL * p2 = NULL;

	fGL retval = GetVDWSurf(p1, p2);

in the above example, "p1" is an array of coordinates x, y, z. The
"retval", the return value of VDW function, is calculated using these
coordinates. Usually you don't need "p2" and above it is "switched off".

The van der Waals function itself is sum (r/R)^-12 over all atoms, where r
is distance from point p1 to center of atom X, and R is vdW radius of atom
X. As you can see, the values get very large if the point is "inside" of
any atom, and vice versa get very small if the point is "outside" the
molecule. A good "trigger" value might be 1.0 where r=R.

> Are x,y,z in units of 10^-10 m ?

No, the unit of dimension is always nm (10^-9 m). Just preferred SI
units...  :)

In the above example, x=0.1 nm, y=0.2 nm, z=0.3 nm from "origo", whatever
it is. After a geometry optimization, the molecule is centered into
origo { 0.0, 0.0, 0.0 } but is not oriented in any way.

>
> 2222.
> what are:
> GetESP(fGL * p1, fGL *);

ESP = ElectroStatic Potential. You can think it (if I remember correctly)
as electrostatic energy of an +1.0 "test charge" centered at point "p1".

> and
> GetElDens(fGL * p1, fGL *)
> and means electron density the 95% percent cutoff ?

This is only for QM methods (MOPAC/MPQC) and give the electron density at
point "p1". I'm not sure about this, but I think that it is normalized so
that 3-dimensional integral of ElDens() over x,y,z axis should give the
count of electrons in the system (or count of valence electrons in semi-
empirical methods). I haven't much used this myself.

> and are directional densities densities caused by free electrons
> included, or must i use GetRedColor, ... to get the density ?

Do you mean "open shell" systems, like radicals etc? Sorry, I haven't yet
gone so far at all... But since MOPAC and MPQC can handle them, it
certainly is possible to study them as well.

Regards,

	Tommi