GAMGI Changelog

New in version 0.17.1

August 27th, 2014
  • Fixed a bug just introduced: we cannot unref the GDK visual after removing a GL context. Just removed this code. Apparently GTK does this when the widget is destroyed.
  • Improved gamgi_gtk_area.c, used in the X version of GAMGI, that replaces the GTKGLExt library by our own GLX-based code. Javier Cabezas ported this code to GTK 3 and is working fine! Back ported changes so the differences between the code for GTK 2 and GTK 3 are absolutely minimal.
  • We cannot use r,g,b colors because of a,b,c cell axes.
  • Improved Axes layout in Orbital->Create and Orbital->Modify dialogs.
  • Changed label Model to Scope in Orbital->Create and Orbital->Modify and changed Help interface accordingly.
  • Checked all Help Formats documentation pages.
  • Updated Help documentation for Cluster Formats.
  • cluster->paints arrays are no longer zero-terminated.
  • Synced gamgi and gamgi_exp branches.
  • In XML files, in group elements, replaced attribute type by reference.
  • Updated Help documentation for Plane and Direction Formats.
  • Updated Help documentation for Group Interfaces and Formats.
  • Renewed the EU trademark GAMGI until 2024.
  • Updated the source code and documentation license to GPL v3.
  • Started using sha256sum to checksum all distribution files.
  • Renewed the gamgi.org domain name registration until 2020.

New in version 0.17 (December 23rd, 2013)

  • Fixed a makefile bug (introduced in gamgi0.15.6) in the GAMGI branch that does not require the GtkGlExt library: the make_rules contained gtkglext dependencies that should not be there.
  • Planes, Directions can now be seleted by projection net: Wulff or Schmidt.
  • Synced code, documentation and data files between gamgi and gamgi_exp distribution trees.
  • Checked dat/orbital XML files to update orbital axes attributes.
  • Checked all dat/ XML files to replace attribute type by label, in atom elements.
  • Checked all dat/ XML files to replace attribute type by model, in plane, direction, cell elements.
  • For the sake of consistency, replaced globally the name projection by net in direction and plane code and XML elements.
  • For the sake of consistency, replaced globally the name type by model in cell, plane, direction code and XML elements.
  • Changed label Type to Model in Cell->Create and Cell->Modify.
  • Changed label Method to Type in Bond->Create.
  • Updated Help->Formats documentation for XML Plane and Direction objects.
  • Updated Help->Interfaces documentation for Type and Projection in Plane->Create, Plane->Modify, Direction->Create, Direction->Modify.
  • The Debye-Waller atomic temperature can now take values only between 0.0 (blue) and 100.0 (red) as is usual in this analysis.
  • Updated Interfaces and Formats documentation for Bond objects.
  • Fixed the default Debye-Waller atomic temperature: the new value is 0.0, corresponding to an atom with a well known position.
  • Updated Formats documentation for Atom and Cell objects.
  • Help->Current and Help->Topic can now read the documentation for Orbital->Modify.
  • Wrote documentation for Orbital->Modify.
  • Updated documentation for Orbital->Create.
  • Orbital axes are now handled in a much simpler way, in Orbital->Create, Orbital->Modify and XML native files.
  • Orbital->Select is now working fine for all options, including the many properties that can be used to select orbitals.
  • Simplified slightly the functions gamgi_gtk_select_*.c.
  • Fixed two bugs in the H orbitals code, introduced in GAMGI 0.16.6: 1) the terms rho**L (from Laguerre polynomials) and 1/r**L (from Legendre functions) cancel each other, apart from a constant that was missing. 2) the default radius calculation was missing the rho**L term.
  • Lists of Planes can now be selected by model: Polygon, Pole, Trace, Vector.
  • Lists of Directions can now be selected by model: Line, Pole, Trace.

New in version 0.16.8 (November 1st, 2013)

  • In Stereographic Projections, raised slightly the z-height in pole bitmaps (GAMGI_MESA_OFFSET_BITMAP), so these always appear above traces. This fixes a visual glitch but also makes it much easier to select poles with traces around, as colors are now clearly separated.
  • Synced gamgi and gamgi_exp code branchs.
  • Updated static_press in Plane->Modify and Direcyion->Modify, so the object name is not overwritten by automatic name setting.
  • Automatic name changing in Plane->Modify and Direction->Modify is working fine now, for crystallographic planes,diretcions.
  • Found and removed a bug in Plane->Create and Direction->Create: in some cases, the object name indicated by the user was ignored.
  • Found and removed a serious bug in Plane->Create and Direction->Create: after creating planes/directions using lists previously created with the List second level dialog, these were not properly reset. In some circunstances this could crash GAMGI.
  • Found and removed a bug in Plane->Create and Direction->Create: Pole and Trace were not created simultaneosuly, when required, only one each time.
  • Orbital->Select is now working. Lists of Orbitals can be copied, linked, selected, modified, removed, as for other objects.
  • Synced gamgi and gamgi_exp code branchs.
  • Fixed Cell->Link: it is working (again) fine for lists of Cells, in Object (above and below), Crystal and Random modes.
  • Found and removed a simple but serious bug: when multiple windows were open and a list of objects was active and selected as the current object, Reset (but not Exit) would crash Gamgi.
  • Cell->Link Random (RCP) was not working: replaced by older code. Cell->Link needs more work.
  • Compiling again with -O3 flag.
  • Fixed a serious bug in all Object->Select dialogs, in the method Region: when the sampling rectangle was not fully inside the graphic area, some of the sampled colors would be undefined and GAMGI would crash when pressing Ok. The crashes were detected a long time ago, but the cause was unclear until now.

New in version 0.16.7 (September 4th, 2013)

  • Synced gamgi/dat and gamgi_exp/dat data trees.
  • Synced gamgi/doc and gamgi_exp/doc documentation trees.
  • Synced gamgi/src and gamgi_exp/src code trees.
  • Fixed more GUI glitches in Orbital->Modify.
  • Fixed Orbital->Modify crashes: orbital->dots must be reset to 0.
  • www.gamgi.org and ftp.gamgi.org are now served from a VM hosted at the IT center at the Lisboa University. Hopefully this means more reliable connections and less time down.
  • Automatic name changing in Orbital->Modify is working fine now.
  • Automatic name changing in Atom->Modify is working fine now.
  • Implemented automatic name changing in Atom->Modify.
  • Implemented automatic name changing in Orbital->Modify.
  • Orbital->Modify is now working for single orbitals. Lists of orbitals should be working in the next release.
  • Translation, Rotation, are now working fine for Orbital->Modify.
  • static_apply for Orbital->Modify is mostly done.
  • Completed static_grab for Orbital->Modify.
  • Added static_ok_global and static_ok_local for Orbital->Modify.
  • Completed static_press for Orbital->Modify.
  • The GUI behaviour for Orbital->Modify is almost completed.
  • Started working on Orbital->Modify and Orbital->Select.
  • Updated gamgi_mesa_pick.c and gamgi_mesa_grab.c to take into account solid representations of orbitals.
  • Fixed a little bug in the orbital axes mesa drawing code.
  • Laguerre polynomials have a factor r**L (L = angular quantum number) that cancels exactly with the factor 1/r**L of the Legendre functions, so the mathematical descriptions of the H orbitals become much simpler! Thanks to Jose Luis Martins for pointing me to this! For such low probability densities (1E-6), the numerical issues are so sensitive that the orbital visual representations come a bit different, even for L=1, after this simplification.

New in version 0.16.6 (June 22nd, 2013)

  • Synced gamgi/dat and gamgi_exp/dat source code trees.
  • Synced gamgi/src and gamgi_exp/src source code trees.
  • Added screenshots showing the new representations for orbitals.
  • Slightly increased theta, phi accuracy when determining the orbital default sampling radius: tested against (6,5,-5) orbital (6hy5).
  • Debugged code to perform signal interpolation in solid orbitals. Is working fine now! This was really the last obstacle to have a world class orbital representation in GAMGI! Time for screenshots! Futurely we will try to reduce the number of vertices, normals and triangles, and we might implement Gorauld shading, but none of this will change the scientific and visual capabilities of our current model. A glass of Port to celebrate!
  • Implemented a method to perform signal interpolation in solid orbitals, to solve the signal change innaccuracy problem found earlier.
  • Cleaned code in gamgi_chem_orbital.c and gamgi_chem_orbital.h.
  • Fixed a bug: the orbital probability density was not properly exported to XML files.
  • Orbital axes are now simpler to use and have more options.
  • The signal code is working now: 3D orbitals look really fantastic, but the signal code must refined, as the lack of interpolation results in too much visual noise when the signal changes.
  • Fixed the code to swap positive and negartive triangles.
  • Fixed the signal interpolation code in static_edge.
  • Solved an interpolation issue related with the orbital isosurface onion effect: force fraction to the [0,1] range.
  • Fixed orbital solid code edge orientation: this is needed for exact interpolation.
  • Fixed numerical inaccuries: just a bug splitting the cubes (as in a 3D chess board). Is looking great now!
  • Debugged the solid orbital 3D code, apparently is working fine, still with some numerical inaccuries in the surface.

New in version 0.16.5 (May 27th, 2013)

  • Orbital objects can now be exported, imported to GAMGI native XML files. Replaced the recursive static_outside routine by a loop and stack version, thus removing a critical bottleneck in the solid orbital code. Fixed mem leaks in GTK code, sintax bugs in object selection by color, warnings due to unnused variables, etc.

New in version 0.16.4 (April 29th, 2013)

  • Synced gamgi and gamgi_exp source branches.
  • Updated make_local, to include the paths: -I/usr/lib/i386-linux-gnu/glib-2.0/include, -I/usr/lib/i386-linux-gnu/gtk-2.0/include, used by Ubuntu.
  • Fixed a bug in the new solid orbital code: the r length test makes sense in the wired representation but not in the solid one!
  • The new recursive code works for bit arrays as large as 160x160x160, in the worst case.
  • The recursive code to find outer surfaces is crashing for bit arrays larger than 50x50x50. Looking for a loop alternative.
  • Orbital code: wavefunction interpolation to produce the triangle-based representation is working really well.
  • The triangle-based 2D solid rendering of planar surfaces in H-based orbitals is now well tested and working fine! This is crucial to build a octant-based representation of these orbitals, where users can choose which octants to show.
  • Added new mirrors, http://atom.ist.utl.pt and ftp://atom.ist.utl.pt, to futurely host gamgi.org.
  • Added nice structure and info files for high-temperature beta-quartz, beta-cristobalite and beta-trydimite.
  • Implemented a new mirror: http://gamgi.ist.utl.pt/ or http://www.gamgi.ist.utl.pt/.
  • Simplified the way H-Orbital octants are selected in Wired mode.
  • For each H orbital octant, wrote the topological code to build all the triangles needed to describe the outer 3D isosurface (tetra-cubes algorithm), plus the internal 2D octant boundaries.
  • For each H orbital octant, wrote and tested the bit array code needed to eliminate the inner isofurfaces and show only the outer one.
  • Simplified the octant binary code in gamgi_chem_orbital.c.

New in version 0.16.3 (January 15th, 2013)

  • Improved readability in all Object->Copy dialogs.
  • Added documentation for Orbital->Create, Orbital->Copy, Orbital->Link and Orbital->Remove.
  • Upgraded Help->Current and Help->Topic to allocate Orbital->Create, Orbital->Copy, Orbital->Link, Orbital->Remove.
  • Synced gamgi and gamgi_exp trees.
  • Orbital->Link is now working fine (lists of orbitals not implemented yet).
  • Fixed a glitch in all link_object.html files, resulting in a GAMGI error message when the Help sub-system tried to open one of these files.
  • Orbital->Copy is now working fine (lists of orbitals not implemented yet).
  • Orbital->Remove is now working fine (lists of orbitals not implemented yet).
  • Started building the dialogs Orbital->Copy, Orbital->Link, and Orbital->Remove.
  • The Octants layout, in the Orbital->Create dialog, is much more intuitive now.

New in version 0.16.2 (November 3rd, 2012)

  • Synced gamgi/ (with GtkGLExt) and gamgi_exp/ (with GLX) versions.
  • Filtering volume octants are now working fine for H orbitals.
  • Completed search for best default values for H based orbitals. Default density is 1E-6, which is needed to show all regions in 6s orbitals. Points is 50000 x n, which is a reasonable compromise. Default radius is calculated scanning from the last maximum in f2r2 radial density, plus a 2.0 minimum length, until the maximum density (searching on theta, phi) becomes lower than the default density.
  • Improved, redesigned the Orbital->Create dialog.
  • H orbitals are now working fine in Gamgi. Looking now for the best default values.
  • Added all the code needed to build and render H orbitals.
  • Optimized H orbital code for speed.
  • For all Hydrogen based orbitals from n = 1 to 6, calculated the distances for radial polinomia maxima.
  • For all Hydrogen based orbitals from n = 1 to 6, calculated the distances for radial polinomia zeros.
  • Orbital objects can now be created, scaled (around the current center), moved, rotated, as any other Gamgi object.
  • Completed the dialog Orbital->Create to build Hydrogen based orbitals.
  • Wrote the graphic engine code to render Hydrogen based orbitals in dotted mode.
  • Added and tested the s, p, d, f, g, h Hydrogen based orbitals for n = 6, in cartesian x,y,z coordinates.