Frequently asked questions
Please submit questions or comments to support@lumo.kieber-emmons.com

  • General
  • What is the purpose of Lumo?
    Lumo was designed to speed up the slow part of looking at molecular orbitals and making molecular orbital diagrams. Lumo eliminates several steps along the process by reading in the output of programs like Gaussian, quickly visualizing the orbitals, and creating pictures of the essential orbitals in seconds. The end to end speed up saves considerable time and allows one to spend more time thinking about things rather than making pictures.
  • How should I cite Lumo?
    A citation would be nice, but of course is not necessary if you choose. Perhaps something like the following would work for ACS journals:

    Lumo, version 2.0.0; Matthew T. Kieber-Emmons: Salt Lake City, UT, 2020.
  • Importing Files
  • What file types does Lumo read?
    Lumo v2.0.0 opens the following file types:

    Gaussian03/09/16: formatted checkpoint files

    Support for Orca is returning soon. Please inquire for additional format support (support@lumo.kieber-emmons.com)
  • How do I import my calculation into Lumo?
    There are four ways to import files into Lumo: 1) Click "Create a new Lumo Project" on the Welcome window, 2) Drag an output file onto the Welcome window "Recent Projects" table, 3) select "Open Other…" on the Welcome window, or 4) Go to File -> Open.
  • How do I prepare files from Gaussian?
    Lumo can read both formatted checkpoint and output files from Gaussian 03, 09, and 16.

    Formatted checkpoint files:
    Gaussian formatted checkpoint files (*.fchk, *.fck, *.fch) contain everything needed by Lumo and can be generated from a checkpoint file (*.chk) by simply using the Gaussian utility formchk. To have Gaussian produce a checkpoint file, remember to include the following in your Link 0 Commands section:
    %chk=my_filename.chk

    Output files:
    Gaussian output files (*.log, *.out) do not contain the wavefunction and basis sets by default. To generate an output file that contains the information needed by Lumo, add the following to the Route section (# lines) of your calculation:
    IOp(3/33=1,6/7=3) gfinput

    Alternatively, since log files can get very large when the wavefunction is included by default, many researchers prefer to do a quick second run with something like the following:
    # other_keywords_here IOp(3/33=1,6/7=3) gfinput geom=allcheck guess=(read,only)

    Please see the Gaussian User's Reference or IOps Reference for more details.
  • How do I prepare files from Orca?
    Lumo can read the wavefunction from Orca output files. Lumo is not able to read *.gbw files at this time because the format of these binary files is not published. Orca output files do not contain the wavefunction and basis by default. To turn on printing, add the following blocks to your input file:
    %output 
    Print[p_mos] 1
    Print[p_basis] 2
    end
  • Exporting an image
  • What image types can Lumo create?
    Lumo Pro can export PNG, TIFF, BMP, JPEG, and GIF files.
  • Can Lumo export images with transparent backgrounds?
    Of course it does, if you want it to, and does by default. It also automatically crops the image to the smallest possible size, and compresses using lossless compression by default.
  • How do I create an image of an orbital?
    Manipulate the orbital view until you find an orientation that you like, then right click and select "Copy" from the context menu (or select "Edit"→"Copy" from the main menu). Alternatively, you may select the context menu item "Save As…" to save the image to a file.
  • Technical
  • How does Lumo make orbitals so quickly?
    Pretty simple question actually. To make an orbital picture, the slow step is creation of the orbital volumetric data (or the cube file in Gaussian parlance). We speed this process up by evaluating on the gpu rather than the cpu, which improves the process by 1) having many more cores to work with, and 2) evaluating exponentials in hardware, rather than software as the cpu does. Further speedups are achieved by just-in-time compiling code written by the volumetric data generator internally for each molecule on import which eliminates lots of loop indexing and branching. Surface generation is also done on the gpu, and the graphic postprocessing like determining the crop region and cropping itself is vectorized. Believe it or not, this speeds the process up by greater than 600X on my MacBook Pro. On the mac mini we have in the lab, its ridiculously faster, like 4000X, so fast that it takes more time to cache the volumetric data to disk then it takes to calculate it. Pretty easy, right!
  • Is a windows version available?
    No, but, it could easily be made to run on iOS if there is any interest.