Patches item #2841139, was opened at 2009-08-20 09:41
Message generated for change (Comment added) made by hansonr
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=379135&aid=2841139&group_id=23629

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: File IO
Group: None
Status: Open
Priority: 5
Private: No
Submitted By: Joerg Meyer (j-meyer)
Assigned to: Bob Hanson (hansonr)
Summary: file reader for CASTEP and AIMS input files

Initial Comment:
I have added two readers for input files, which make use of the periodic 
boundary conditions (PBC) infrastructure of Jmol
- CASTEP: http://www.castep.org (.cell files - only PBC)
- FHI-aims: http://www.fhi-berlin.mpg.de/aims/ (geometry.in files - both 
cluster models and PBCs)
Using the signed applet, the readers can be tried here
http://w3.rz-berlin.mpg.de/~meyer/jmol-demo-20090819/

----------------------------------------------------------------------

>Comment By: Bob Hanson (hansonr)
Date: 2011-05-01 16:29

Message:
I wrote: "Let's discuss this some more, and get some more examples. Can you
send some less symmetric examples: hexagonal cells, triclinic, etc. These
are very limited that we have here. Or can we always assume an orthorhombic
system?"

But that's quite unnecessary. Of course, the lattice vector defs are
sufficient for any unit cell. So we should be all set there. 

Notice that now the AIMS reader is reading the defaults properly -- if no
lattice_vector records are present, and no unit cell information is present
in the LOAD command, then no unit cell is depicted. If unit cell
information is present in the file, then it is shown, even if the load
command does not include a lattice specification such as  {1 1 1}  or
PACKED. This is to be consistent with other unit-cell-based file loading. 

Note that now you can override or define explicitly the cell dimensions in
the LOAD command. For example:

load "f2.in" {1 2 1} unitcell [16.504 0 0   0 8.252 0   0 0 0]

will load an AIMS file that is really a slab in SLAB mode based on the
given lattice vectors instead of the z lattice vector defined in the file.
Of course, if this is done, then one needs to be sure to use all atom and
not atom_frac records, or the z component will be skewed.








----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2011-05-01 15:19

Message:
please check SVN -- atom/atom_frac should be working properly for AIMS
reader in both 12.1.45 and 12.0.42. I didn't implement it exactly this way,
and I brought the AIMS reader in line with other readers. 

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2011-05-01 13:30

Message:
Let's discuss this some more, and get some more examples. Can you send some
less symmetric examples: hexagonal cells, triclinic, etc. These are very
limited that we have here. Or can we always assume an orthorhombic system?

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2011-05-01 03:07

Message:
Sure - good point. I have uploaded two examples.

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2011-04-30 15:19

Message:
can we have a couple of example files? 

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2011-04-30 12:26

Message:
Bob, I apologize for having been so unclear. I was trying to refer to
jmol-AimsReader_fractional_coordinates.patch which I attached this morning.
It would be great if you could check that in. CASTEP/CML is still on my
longer term to do list, but unfortunately there are still other things with
higher priority.

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2011-04-30 07:10

Message:
I'm not sure that's a question or an answer. Please elaborate. 

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2011-04-30 03:33

Message:
Still haven't forgotten about the CASTEP/CML stuff. But at least fractional
coordinates in AimsReader for now ;-)

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-11-11 09:00

Message:
ok, that's in for Jmol 11.9.10 and 11.8.9 -- please check those. 
Additional features should be introduced to Jmol 11.9.10 only, not 11.8.9,
please.

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2009-11-07 10:59

Message:
I haven't given up on producing "CASTEP-CML", but the FoX libraries
(underlying XML engine) make some trouble with the available Fortran
compilers. Perhaps I need to start playing on another platform, but (again
and unfortunately) no time for that.
On the AIMS side I have added support for reading charges used for
electrostatic embedding 
as given in "multipole" lines - see latest attached patch. Hope adding
that keyword to Resolver.java does not break other readers again...

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2009-09-18 10:28

Message:
Sorry, still no time for wurtzite.cml. But at least AIMS and CASTEP readers
now correctly display the cell contents of cells which are not 'properly'
(i.e. the way Jmol expects that internally) aligned with the reference
coordinate system.

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-09-06 14:50

Message:
Joerg, I need some help. I've added a file wurtzite.cml that appears to
have been created using CASTEP. The problem is in the transform3 fields.
These are the symmetry operations. Except the matricies appear to be
operating on Cartesian coordinates, not unit cell fractional coordintates.
This is very odd! I can't directly use these matrices to build symmetry
operations.

Q: Is this a file format you can produce with CASTEP?
Q: If so, can you get me some examples from other space groups -- in
particular monclinic and orthorhombic/tetragonal. I need to see what the
matrix looks like in those cases. Best would be some examples both in CIF
format and this CML format to compare. 
Q: Do you know who knows how to properly work with these matrices?

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-09-03 18:48

Message:
Here is what I settled on:

  private static boolean checkAims(String[] lines) {

    // use same tokenizing mechanism as in AimsReader.java to also
recognize
    // AIMS geometry files with indented keywords
    // "atom" is a VERY generic term; just "atom" breaks HIN reader. 
    for (int i = 0; i < lines.length; i++) {
      String[] tokens = Parser.getTokens(lines[i]);
      if (tokens.length == 5 && tokens[0].startsWith("atom") 
          || tokens.length == 4 &&
tokens[0].startsWith("lattice_vector"))
        return true;
    }
    return false;
  }


----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-09-03 18:37

Message:
If the AIMS format is not finalized, I would like to suggest that it be
modified (I realize that could be a big deal) to 
a) allow for comments in the form
#....
b) have a unique identifier such as 

# FHI-AIMS (http://www.fhi-berlin.mpg.de/aims)

at the top. 
 

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2009-08-25 12:07

Message:
Just noticed that revision 11359 compiles nicely with sun-jdk-1.6.0_15-b03
(64bit)
including changes below, but crashes even without changes below (!) when
trying
to run java -jar Jmol.jar:

uncaught exception: java.lang.ExceptionInInitializerError
java.lang.ExceptionInInitializerError
        at org.jmol.viewer.StateManager.<clinit>(StateManager.java:487)
        at org.jmol.viewer.Viewer.<init>(Viewer.java:248)
        at org.jmol.viewer.Viewer.allocateViewer(Viewer.java:310)
        at org.jmol.api.JmolViewer.allocateViewer(JmolViewer.java:90)
        at
org.openscience.jmol.app.jmolpanel.JmolPanel.<init>(JmolPanel.java:150)
        at org.openscience.jmol.app.Jmol.<init>(Jmol.java:36)
        at
org.openscience.jmol.app.jmolpanel.JmolPanel.getJmol(JmolPanel.java:358)
        at
org.openscience.jmol.app.jmolpanel.JmolPanel.startJmol(JmolPanel.java:293)
        at org.openscience.jmol.app.Jmol.main(Jmol.java:41)
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of
range: 23
        at java.lang.String.substring(String.java:1934)
        at org.jmol.viewer.JmolConstants.<clinit>(JmolConstants.java:80)
        ... 9 more
Exception in thread "main" java.lang.NullPointerException
        at
org.openscience.jmol.app.jmolpanel.JmolPanel.startJmol(JmolPanel.java:304)
        at org.openscience.jmol.app.Jmol.main(Jmol.java:41)

Hence changes are untested!

----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2009-08-25 12:00

Message:
1.) Based on the files you checked into 11.8, I added some comments at the
top
as requested and did some further changes as detailed in the following.
Resulting files
   CastepReader.20090825.java 
   AimsReader.20090825.java 
are attached.

2.) Strange - for some reason it seemed to work in 11.6.
Looking at your change (which makes perfect sense to avoid the warning)
I wonder why it actually does...

3.) I see your point. There are no official specs (yet) for FHI-aims
geometry.in files.
The code is written in Fortran, and hence you can easily exchange the tabs
for spaces
without the Fortran IO system (in list mode) bothering. In fact I just
convinced myself
that both "atom" and "lattice_vector" keywords must be lower case to be
accepted by
aims. To eliminate the collision with PBD, could you please change the
checkAims 
method in Resolver.java accordingly, to e.g.

      // FHI-aims only accepts keywords which are lower case - 
      // hence no conflict with PDB reader (which require upper case
"ATOM")
      if ( tokens[0].startsWith("atom") ) return true;
      if ( tokens[0].startsWith("lattice_vector") ) return true;


----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-08-25 09:05

Message:
The proposed AIMS reader breaks PDB format. We can't allow "atom" to be a
marker, because "ATOM" is a marker for PDB files. So, if you want to read
these files, you must force the filetype using

load "aims::xxxx.in"

I can't find specs for that file type. Why are there tabs in the line? Can
we specify that "atom" must be lower case? (PDB must be upper case ATOM)

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-08-24 11:11

Message:
%BLOCK POSITIONS_ABS
ang

was causing a warning  -- I've changed that. Please check out the 11.8.RC6
code that I have just checked in and work from that if you can now.

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-08-24 10:36

Message:
OK, I'm onto this. Please provide some comment text with http references,
for example:

/**
 * Gaussian cube file format
 * 
 * http://www.cup.uni-muenchen.de/oc/zipse/lv18099/orb_MOLDEN.html
 * this is good because it is source code
 * http://ftp.ccl.net/cca/software/SOURCES/C/scarecrow/gcube2plt.c
 *
 *
http://www.nersc.gov/nusers/resources/software/apps/chemistry/gaussian/g98/00000430.htm
 *
 * distances are in Bohrs because we are reading Gaussian cube OUTPUT
files
 * not Gaussian cube INPUT files. 
 *
 * Miguel 2005 07 17
 * a negative atom count means
 * that it is molecular orbital (MO) data
 * with MO data, the extra line contains the number
 * of orbitals and the orbital number
 * 
 * these orbitals are interspersed -- all orbital values are
 * given together for each coordinate point.
 * 
 * also used for JVXL and JVXL+ file format
 * 
 */


----------------------------------------------------------------------

Comment By: Joerg Meyer (j-meyer)
Date: 2009-08-24 06:59

Message:
Sorry - haven't thought about the fact that patch components 
against empty files cannot be conveniently extracted when 
trying to modify your current development version - I just 
wanted to have the functionality added to a stable release
(which will be available from the AIMS web page quite soon).

----------------------------------------------------------------------

Comment By: Bob Hanson (hansonr)
Date: 2009-08-23 00:51

Message:
Please send the .java files; I have to patch these into 11.8, not 11.6.
Thanks.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=379135&aid=2841139&group_id=23629

------------------------------------------------------------------------------
WhatsUp Gold - Download Free Network Management Software
The most intuitive, comprehensive, and cost-effective network 
management toolset available today.  Delivers lowest initial 
acquisition cost and overall TCO of any competing solution.
http://p.sf.net/sfu/whatsupgold-sd
_______________________________________________
Jmol-developers mailing list
Jmol-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to