Mc

Axel,
I have a few trivial, if not silly, questions about MC you have implemented in ATAT:
(i) When we run emc2, is it canonical or grand canonical type MC?
(ii) During MC, is it necessary (do we?) to sample the entire potential energy landscape? If so or if not, why?
(iii) What is the difference, if any, between MC for thermodynamic integration (as in emc2) and AIMD as far as sampling the potential energy landscape?

Gautam :slight_smile:

by default grandcanonical, but you can do canonical with the -cm option (emc2) or a conccons.in file (memc2).

"Sampling" means "not visit all states". The point of MC (and all of statistics) is to estimate averages without sampling the whole population.

If you have temperature-dependent ECI (to include lattice vibrations), then the two methods include similar physical effects (except MC (as in emc2) assumes a harmonic model and run much faster).
AIMD is more general but much slower. MC on a lattice is best for crystals with point defects and no significant anharmonic effects.

Hi Axel,
I have done sub-lattice CE of L12, DO22 and DO23, and have corresponding ECIs. Now, my questions are how do I get mixing energy in per/atom? Because, here sub-lattice corresponds to only 1 atom in the sub-lattice (in case of 1a site in L12) or more than one atom in the sub-lattice (3 at 3c in L12; 6 at 2b, 4d in DO22; 12 in 4c, 4d, 4e in DO23). In other words, depending on the sub-laticce(s) I have defined as the active (i.e., allowed mixing of two specie) sub-lattice, and spectator (passive) sub-lattice!

(i) If I multiply ECIs with (conc)^n, then what is the unit of energy of mixing? Is it per atom in sublattice or the per atom in unit cell? I am a bit confused. Please, clarify this point. I want the energy of mixing per atom in unit cell, and NOT per atom in spectator sub-lattice!

(ii) While running emc2 in DO22, I got an error message "unit cell is not primitive". Is it a serious message. My lat.in is conventional unit cell! Is it the reason I got the warning? Also, does it mean that in the case of DO23, I should define define lat.in as the primitive one. Am I correct?

Thanks,
Gautam :slight_smile:

Hi Axel,
A silly question! How do I run emc2 using script file in a SGI cluster?

Specifically, the script file for running maps looks like

#!/bin/csh
#PBS -N AL_BCC-CE
#PBS -l ncpus=32
#PBS -l walltime=48:00:00
#PBS -j eo
#PBS -q batch
#PBS -o alli-bcc-CE.out
#PBS -e alli-bcc-CE.err

set echo

change to appropriate directory

cd /usr/users/3/gghosh/alli-bcc
maps -d &
pollmach -f runstruct_vasp "mpirun -np 32" >& pollmach.log

ja -chlst

Should I just replace maps with emc2 and use 16 procs?

Thanks,
Gautam :slight_smile:

Sorry, emc2 is not automatically parallelized.
You can run multiple copies of emc2 with different arguments (e.g. to scan different temperatures).
Typically, you can just run a bunch of copies in the background, e.g.

emc2 [options] &
emc2 [options] &
etc.
wait

Up to the number of cores per nodes.
If your sysadmin insists that you use MPI, then the embpar or splitjob utilities provided with atat can help (then run multiple shell commands as different threads of a single MPI run.

Axel,
A job in blacklight cluster may run only for less than an hour, while a MC run may require more than 24 hours. So, I have no other option but to use a script file and qsub option.

That’s why I need to know how the script should be. I know how to run maps, but do not have an example of running emc2.

Earlier, I had ran emc2 in our Charm cluster which had far fewer restrictions than blacklight. I could simply typed all arguments in a command line and the job would have ran. Not so in blacklight, it would stop after 30 min or so.

First few lines of script file are obvious. Even if I use only one node (16 procs), let me know how to run emc2.

Gautam

Sorry, but I don’t know the specifics on the queueing system on Blacklight…
You might want to ask the sysadmin of that machine explaining that you want to run multiple serial jobs for a long time. Now, perhaps that SGI is reserved for large parallel jobs and they won’t like what you ask… Maybe first ask what is the longest parallel job you can run.

Axel,
I posted questions regarding emc2 associated with sub-lattice cluster expansion on Aug, 2, but perhaps you overlooked them by mistake.

I am still waiting for suitable replies.
Thanks,
Gautam

Hi Axel,
I have a question regarding MC simulation.

Lately, I have been interested in calculating Curie temperature of bcc and fcc solid solutions. I will use SPR-KKR code to calculate Heisenberg’s Exchange Parameters J_ij’s which are only pairs i.e., no three-body and four-body terms. Once J_ijs are established for the ordered phases in the system of interest, I need to do MC followed by specific heat and/or susceptibility to define Curie temperature!
A related question is how do I define specific heat and susceptibility?

I am not an expert on MC simulation, but naively speaking for a given set of J_ij will allow me to do MC using your existing code i.e., without any modification or any code re-writing. I am right or wrong?

If so, can you tell me how to prepare an input file of J_ij (in eV or meV) for pair interaction parameters as a function distance (what unit?).

Please, let me if this is a possibility. Otherwise, I will look for a suitable code.

Thanks,
Gautam

Caution: although it is tempting to use an Ising model (as implemented in emc2) to model magnetism, it is not very appropriate!
A better way would be to use a classical Heisenberg model (where the magnetic spin is treated as a vector, not a scalar) if the moments are large. This has not been implemented in ATAT.
An even better way would be to use a quantum Heisenberg model (especially if the moments are small in magnitude), but this is quite difficult to do - I am no expert in this.

Hi Axel,
Sorry, I had to bother you again on Tc calculation but not the calculation per se.

For a given system, to distinguish between isotropic vs anisotropic Heisenberg exchange it may be necessary: (a) to compute the spin-orbit contribution and/or (b) comparing energies of different magnetization axis.

Do you know: (a) how to compute S-O contribution in VASP? (b) I suppose, computing energies of different magnetization axis is an easier route for the problem!

Thanks,
Gautam

All I know about this topic is at:
https://cms.mpi.univie.ac.at/vasp/vasp/LSORBIT_tag.html

LS coupling is a relativistic all-electron effect, so it may be safe to double check PAW results with a "true" all-electron code… but I am no expert on this.