Having fun with my xmgrace-fortran library and fractal code!
One of the new features provided by Elsevier upon publication is the creation of audioslides. This is a kind of short presentation of the publication by one of the authors. I have been itching to try this since our publication on the neutral C-vancancy was published. The interface is quite intuitive, although the adobe flash tend to have a hard time finding the microphone. However, once it succeeds, things go quite smoothly. The resolution of the slides is a bit low, which is unfortunate (but this is only for the small-scale version, the large-scale version is quite nice as you can see in the link below). Maybe I’ll make a high resolution version video and put it on Youtube, later.
The result is available here (since the embedding doesn’t play nicely with WP).
And a video version can be found here.
2, 3, 5, 7, 11, 13, 17, 19, 23, …and on toward infinity. Prime numbers are a part of mathematics which seduce most of us at some point in our lives to try and “solve them”. There is structure in them, but too little to be easily understandable, and too much to let go and consider them chaos.
Recently, my girlfriend got sucked into this madness. Luckily she is not trying to generate the next largest prime (which would need to have more than 22 Million digits, although I might have jinxed it now). Instead she is looking for order into chaos; leading to pen and paper graphs, evolving into excel worksheets being abused as ordinary bitmap pictures and finally mathematica applications for even more heavy lifting.
These last exercises came to a somewhat grinding halt when mathematica refused to generate a gif-animation (it just failed to do the job without providing any warning that something might have gone awry). However, because it could generate the separate frames without any issues, I was tempted to dig up an old fortran module which allowed me to generate gif images and animations. I remembered correctly that it was able to both read and write gif-images, and so, after 10 minutes of writing a small program (9 minutes remembering how things worked) and another 10 linking in all dependencies and fixing some inconsistencies, I had a working program for generating a gif animation from separate gif images.
program GifCombo use GIFImageModule; use typesmodule; implicit none character(len=255):: filename,basename integer :: imin, imax, nr, ios type(TGif):: AniGif, StatGif write(*,*) "Small program to combine a set of GIFs to make one animated gif." write(*,*) "Gif-filenames should be structured as GIFNAME_XX.gif ," write(*,*) "With GIFNAME the basename, and XX an integer number (without preceding zero's)." write(*,*) " > Provide the basename:" read(*,*) basename write(*,*) " > Provide the lower index:" read(*,*) imin write(*,*) " > Provide the higher index:" read(*,*) imax !The actual work call AniGif%initialize() do nr=imin,imax write(filename,'(I0)') nr filename=trim(basename)//"_"//trim(filename)//".gif" if (nr>imin) then call StatGif%initialize() call StatGif%read(filename,1,ios,.true.) call AniGif%addImage(int(StatGif%image(:,:,1),I_int)) call StatGif%free() else call AniGif%read(filename,1,ios,.true.) end if end do call AniGif%setGlobalDelayTime(30) !writing the result filename=trim(basename)//"_Animated.gif" call AniGif%write(filename) write(*,*) "This should have written an animated Gif to:",trim(filename) end program GifCombo
The initial test went smoothly. Using some simple gif images I created in paint, the resulting 4 frame animation is the one on the left (which is probably giving you a headache as you read this ;-).
The real test, with the single frame gifs Sylvia had prepared, was rather interesting: It failed miserably. Fortunately it also taught us the origin of the problem: mathematica was generating frames of different dimensions. And although this does not give rise to problems in the workbook or generated avi, it does kill an animated gif. After fixing this, also mathematica successfully generated the animated gif Sylvia wanted to see. Also my own small program was now able to perform the intended trick, although it showed that a different color-map was created for each frame by mathematica, something my own implementation did not handle well (we’ll fix that somewhere in the future).
The executable (including prerequisite dll’s) can be downloaded here.
If you do not suffer from epileptic seizures (or not yet), you could check out the results in the spoiler below.
In just an hour, I’ll be presenting my talk at the virtual winterschool 2016. In an attempt to tempt fate as much as possible I will try to give/run real-time examples on our HPC in Gent, however at this moment no nodes are available yet to do so. Let’s keep our fingers crossed and see if it all works out.
Modern materials research has evolved to the point where it is now common practice to manipulate materials at nanometer scale or even at the atomic scale (e.g. Intel’s skylake architecture with 14nm features, atomic layer deposition and surface structure manipulations with an STM-tip). At these scales, quantum mechanical effects become ever more relevant, making their prediction important for the field of materials science.
In this session, we will discuss how advanced quantum mechanical calculations can be performed for solids and indicate some differences with standard quantum chemical approaches. We will touch upon the relevant concepts for performing such calculations (plane-wave basis-sets, pseudo-potentials, periodic boundary conditions,…) and show how the basic calculations are performed with the VASP-code. You will familiarize yourself with the required input files and we will discuss several of the most important output-files and the data they contain.
At the end of this session you should be able to set up a single-point calculation, a structure optimization, a density of states and band structure calculation.
While I was working on my PhD-thesis on Pt nanowires at the university of Twente, one of the things I needed was a method for simulating scanning-tunneling microscopy (STM) images in a quick and easy way. This was because the main experimental information on on these nanowires was contained in STM-images.
Because I love programming, I ended up writing a Delphi-program for this task. Delphi, being an Object Oriented version of the Pascal-programming language containing a Visual Components Library, was ideally suited for writing an easy to use program with a graphical user interface (GUI). The resulting STM-program was specifically designed for my personal needs and the system I was working on at that time.
In August 2008, I was contacted by two German PhD students, with the request if it would be possible for them to use my STM program. In October, an American post-doc and a South-Korean graduate student followed with similar requests, from which point onward I started getting more and more requests from researchers from all over the world. Now, seven years later, I decided to put all “HIVE-users” in a small data-base just to keep track of their number and their affiliation. I already knew I send the program to quite a lot of people, but I was still amazed to discover that it were 225 people from 34 countries.
There is a slow but steady increase in requests over the years, with currently on average about one request every week. It is also funny to see there was a slight setback in requests both times I started in a new research-group. For 2015, the data is incomplete, as it does not include all requests of the month December. Another way to distribute the requests is by the month of the year. This is a very interesting graph, since it clearly shows the start of the academic year (October). There are two clear minima (March and September), for which the later is probably related due to the fact that it is the last month of before the start of the academic year (much preparation for new courses) and, in case of the solid state community, this month is also filled with conferences. The reason why there is a minimum in March, however, escapes me ( 💡 all suggestions are welcome 💡 ).
The geographic distribution of affiliations of those requesting the STM-program shows Europe, Azia and America to take roughly equal shares, while African affiliations are missing entirety. Hopefully this will change after the workshop on visualization and analysis of VASP outputs delivered at the Center for High Performance Computing‘s 9th National Meeting in South Africa by Dr. David Carballal. By far the most requests come from the USA (57), followed by China(23) and then Germany(15). South-Korea(14) unexpectedly takes the fourth place, while the fifth place is a tie between the UK, Spain and India(12 each).
All in all, the STM program seems to be of interest to many more researchers than I would have ever expected, and has currently been cited about 25 times,
so it is time to add a page listing these papers as examples of what can be done with HIVE(which has in the mean time been done, check out useful link n°2).
Happy Hiving to all of you, and thank you for your trust.
 More information on the HIVE-STM program and how to acquire it.
3D gnuplot-gif-animations of the f-orbitals S03(θ,φ), S23(θ,φ) and
S33(θ,φ). In the images presented, the blue part represents the positive phase, and the red part the negative phase. Note that in gnuplot, the spherical coordinate θ is defined as π/2 – θ. Other than that the definitions of φ and θ coincide with those used in Griffiths’ Introduction to Quantum Mechanics.
For those interested: animations in gnuplot are only available for gnuplot versions > 4.0 (which at the moment of making these animations, was still in beta version).
3D Maple-images of the d-orbitals S02(θ,φ), S12(θ,φ) en S22(θ,φ). Note that the spherical coordinates (θ and φ) used by Maple are reversed compared to the definitions used in Griffiths’ Introduction to Quantum Mechanics (the latter being the more standard definition in physics and mathematics courses).
Effect of exchanging θ and φ
are reversed: I.e. if we use the variable θ as the variable φ and vice versa, the resulting plots become something quite different. This goes for all available plotting programs (Maple, gnuplot…); make sure you certain that what you think you enter is also what the program thinks you have entered. If not you could end up with surprising results. The same images as above, but now with θ and φ exchanged: