Transferring a simulation to a different machine

General discussion of the Cambridge quantum Monte Carlo code CASINO; how to install and setup; how to use it; what it does; applications.
Post Reply
Philip_Hoggan
Posts: 17
Joined: Thu Sep 05, 2013 2:09 pm

Transferring a simulation to a different machine

Post by Philip_Hoggan »

After a series of runs on the IBM cluster MareNostrum, I transferred the data, including formatted config files, to Cartesius, which is a Bullx cluster. There are a number of associated chages, including from intel fortran to gfortran. Cartesius has nodes with 24 cores but I decided it would be more prudent to continue using 16 out of the 24. For one thing, the total 2048 does not divide by 24 and neither does the target weight of 16384. The RAM is larger too 64 GB/node instead of 28. I have two structures. They are both H2 on Cu(111) in two geometries. The asymptote, where the hydrogen is in its equilibrium geometry far from the surface behaved more-or-less as I guessed: there was a little increase in population and subsequently, things seemed to get back to normal. The stetched one close to the surface shed lots of configs, going down to about half the target weight before recovering. I would like to know if:

1-I should be comparing these results at all (subject to waiting for equilibrium) i.e. can you continue such runs on different cores etc reliably?

2-how does CASINO decide whether a ground-state is 'metallic' or 'insulating'

Best,

Philip
Philip_Hoggan
Posts: 17
Joined: Thu Sep 05, 2013 2:09 pm

Re: Transferring a simulation to a different machine

Post by Philip_Hoggan »

What I need to know is whether the runs on the Bullx can be compared to those on the previous IBM cluster and whether I should treat the dmc.hist files seperately or as one (to discard initial lines and reblock).

I am also rather worried that the ground state is sometimes described by CASINO as INSULATING
Mike Towler
Posts: 239
Joined: Thu May 30, 2013 11:03 pm
Location: Florence
Contact:

Re: Transferring a simulation to a different machine

Post by Mike Towler »

Hi Philip,

Sorry for the delay in responding. I write this from my sick bed where I am suffering from gastroenteritis or something like that, and I'm so bored with lying here that I thought it was time to answer some Forum questions.. :D
1-I should be comparing these results at all (subject to waiting for equilibrium) i.e. can you continue such runs on different cores etc reliably?
That should be no problem. You just change the input keyword dmc_target_weight to be something else for the continued run. If CASINO finds - for example - that it has too few configs after the read of the config.in file, it will temporarily increase the reference energy (the red line in the picture below) to increase the likelihood of existing configs duplicating themselves until the target weight is acquired. The figure shows an example on my 12 cores per node machine where I want to use 100 configs per core. For the first 10000 steps I run with runqmc --ppn=6 (i.e. 6 cores per node) and dmc_target_weight=600, then I restart with runqmc --ppn=12 having changed dmc_target_weight to 1200.

Image

The configs are already equilibrated at the restart point, and in effect this is just an increase in the density of sampling of the configuration space.
2-how does CASINO decide whether a ground-state is 'metallic' or 'insulating'
OK, in DFT 'band theory' calculations the answer to this question is obvious. We look at the energy of the highest occupied single-particle state. If that energy lies in the middle of a band (i.e. we have at least one partially full band) then the system is metallic. If the highest-occupied level is at the top of a completely full band with a gap above it the system is insulating.

However, in QMC we only have a many-electron wave function; there is no 'single particle band structure' as such. So how do we answer this question? The true answer is to do something like calculate the 'localization tensor' (this is an expectation value that CASINO can calculate - keyword loctensor) however, in practice this turns out to be a bit problematic see e.g. Hine and Foulkes, J. Phys.: Cond. Mat. 19, 506212 (2007). One can also look at the covariances of inter-site charge fluctuations (which CASINO won't yet do, though it will soon). This requires you to believe that electrons exist when you don't look at them, of course - a pet hobby of mine - but it shouldn't be too much of a stretch.

So what is CASINO printing in its output about metal/insulator? It does have some information about single particle energies, because it gets fed - effectively - the states at a small subset of k points along with the associated orbital energies as computed by the DFT code. In the setup phase it ranks these into order and, given that it has N electrons, occupies the N states with the lowest energy. If the number of occupied orbitals at each k point is the same, then it says the system is an insulator, otherwise it claims it to be metallic. Because of the limited resolution in reciprocal space (small number of k points) a claim of insulating behaviour isn't necessarily true, though it probably is, and that probability increases with system size.
Post Reply