arohl / gdis

A visualization program for the display, manipulation, and analysis of isolated molecules and periodic structures
GNU General Public License v2.0
42 stars 17 forks source link

Adding plots functionality #7

Closed ovhpa closed 6 years ago

ovhpa commented 6 years ago

Dear Prof. Rohl,

How about this first implementation of simple graph plotting for gdis? The gui is located under Tools / Analysis menu.

gui

As you can see from attached pictures below, it's really just a plain display of 1/ {energy, force, volume, and pressure} for each frame 2/ {density of states (DOS),band diagram, and combination graph} for electronic structure 3/ {frequency, raman} for vibrational analysis (with a peak selection).

For now I tried to re-use the existing function (gl_graph.c) as much as possible so that the changes will be not so large.

electronics frequency energy

Ultimately I wish I could have a 4 quarters divided canvas where I can follow a calculation while looking at the same time at geometry, energy, forces, selected distances... If you have other ideas for gdis, please let me know ;)

Anyway, I think that would be a good start for now, what is your opinion?

Sincerely,

PS: I'm still having a little problem with the model file 1_C2H4_HOOH_Tifer.arc which is not displaying model properly (structure is scrambled) when gui for plots is launched, while this is fixed when a graph is performed. Since other arc model files, like gibb_opt_bulk.arc, are displayed properly I think this should not be too much of a problem. Additionally, I'm currently adding the possibility to read energy from arc files so maybe the problem will just disappear.

arohl commented 6 years ago

We have a small problem - I don't get any axis labels on my Mac :-(

arohl commented 6 years ago

screenshot

arohl commented 6 years ago

Also I get the structure going crazy when I read in either of those .arc files. However, when I select the model again, it all looks fine

ovhpa commented 6 years ago

Hello!

To get axis labels, you have to set y tics (and x tics) larger than 1. This is because the number of tics is also the number of labels in the gl_graph.c methods. Note that for electronic structure, if x tics > 2 for DOS plots or y tics > 2 for BAND or BAND+DOS plots, I had the origin included in the tics and labels explicitly (this is because I want to know values relative to the Fermi level origin).

About .arc files, I had the energy reading to file_arc.c (didn't commit yet). Unfortunately this didn't solve the issue :/ Now I'm thinking to rewrite file_arc.c a little more to fix the problem (by removing the calls to tokenize and g_strfreev, which seems to have some trouble with threads). Let's see if this fix the problem.