Inorganic structures like zeolites have cavities that can be occupied by
ions and small molecules; Jmol isosurfaces can map the cavity volume
available eg
http://icsd.ill.eu/icsd/index.php?action=Search&mineral=zeolite+TS-1
(Click "Demo" then the formula Si0.9717 O2 then the "cavity" switch).

But isosurfaces are also a powerful way of investigating the volume
available to atoms of ordinary inorganic structures by first excluding
those atoms from the isosurface calculation. Thanks to Bob Hanson, we have
included some of these possibilities in ICSD, the Inorganic Crystal
Structure Database.

Hollandite can be regarded as a simple structure with channels occupied by
ions eg:
http://icsd.ill.eu/icsd/index.php?action=Search&mineral=hollandite

The ICSD "cavity" switch for (N H4) Mn8 O16 now produces nothing, since
the "cavities" are occupied. But if we first use the ICSD "select" switch
and click on the blue nitrogen atoms, the cavities will be drawn after
excluding those nitrogen, showing the volume available to them.

In practice it is a little more complex. Inorganic structures for ICSD are
drawn with surrounding invisible unit cells, needed to construct
coordination polyhedra. But since Jmol's "set picking SELECT SITE" selects
only visible sites, a custom function is required to pick the invisible
sites as well, otherwise the isosurfaces are truncated;

function mypick (){
    var s = {atomindex=_atomPicked}.site;
    select selected or site=s;
}

Then we use the ICSD "select" switch to call this function for site picking:
SelectionHalos ON;set picking IDENT; set pickcallback "jmolscript:mypick"

Clicking on atoms adds them to the selection, even if some of their sites
are invisible. The "cavities" switch then draws the isosurface excluding
the selected atoms according to:
isosurface select(visible) ignore(selected) resolution 2.0 minset 5 pocket
cavity 0.4 sasurface 0.1;color isosurface blue fullylit;

Actually we would like to label the atoms to be excluded, and we do that
by first setting some "property_hide=1"
if(selectionHalos){{selected}.property_hide=1};

And then the isosurface switch becomes:
isosurface select(visible) ignore(property_hide=1) etc

In fact, we can use these methods to explore the volume available to any
ions or groups of atoms in any structures, even simple close packed
structures like perovskites; eg try excluding the K atom in KCaF3
http://icsd.ill.eu/icsd/cifdraw.php?filen=help/kcaf3.cif

It seems that even if vanilla Jmol doesn't do quite what you want, the
scripting language is now so powerful that you can modify the behavior as
required.

Thanks again Bob.
______________________________________________
Dr Alan Hewat, NeutronOptics, Grenoble, FRANCE
<[email protected]> +33.476.98.41.68
      http://www.NeutronOptics.com/hewat
______________________________________________


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Jmol-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-users

Reply via email to