Process of performing calculation in split mode.

83 views
Skip to first unread message

MUKESH SINGH

unread,
Feb 7, 2025, 12:52:02 PMFeb 7
to CALYPSO
Dear Calypso user,

I am new to calypso and trying to test. I have started with cBN. I have tried three different methods. All the question are highlighted in red.

A) Actually, one my calculation run after submitting to my cluster development node.

calypso.x > caly.log

I ran it couple of times. So, I got results, results1, results2, results3... results7.

For me files in result1/*  are matching with Test/results/pso_ini_* and pso_opt_* files.

Since, I submitted these jobs on development node, it will be last much longer, I need to submit them using nodes.

Q. what are criteria to know when my jobs finished?

Q. why are multiple results, results1, .. are being created?


B) Submitting with nodes are not working for me.

I have used the following script for submitting on node:

#!/bin/bash --login
#SBATCH --time=08:00:00
#SBATCH --job-name caly
#SBATCH --output=%x.o%j


/mnt/home/k0122399/codes/CALYPSO_x64_python3/bin/calypso.x  > caly.log


and replaced the sh submit.sh with sbatch submit.sh

and submit.sh is same as my vasp_submission script.

On submitting this, core.297738 like multiples files are being created.
Also, during each run my VASP.o* has the following error:

forrtl: Stale file handle
forrtl: severe (38): error during write, unit 13, file /mnt/ffs24/home/k0122399/codes/CALYPSO_x64_python3/test0_3/CONTCAR
Image              PC                Routine            Line        Source            
vasp_std           0000000001D671B1  Unknown               Unknown  Unknown
vasp_std           0000000001D64E36  Unknown               Unknown  Unknown
vasp_std           00000000005166E0  Unknown               Unknown  Unknown
vasp_std           0000000001CF74EE  Unknown               Unknown  Unknown
vasp_std           000000000040958D  Unknown               Unknown  Unknown
libc.so.6          0000154A96E00D90  Unknown               Unknown  Unknown
libc.so.6          0000154A96E00E40  __libc_start_main     Unknown  Unknown
vasp_std           00000000004094B6  Unknown               Unknown  Unknown


Q. what are resons for creating the core.* files?
Q. what are resons of having the above error in VASP.o* files?


C) Using split mode:

On running with split=T in the input.dat file, I am getting the multiples POSCAR_* files, which I am supposed to run cluster. But, I have four INCAR_1, INCAR_2, INCAR_3, and INCAR_4 files.

lets say that popsize is 30 then it will create POSCAR_1 to POSCAR_30.

Q. Do, I need to run each 30 (popsize) of POSCAR with first, with INCAR_1, then INCAR_2, INCAR_3 and INCAR_4? then final CONTCAR_* and OUTCAR_* should be copied to the place where calypso.x was run. this will be one generation.

Manual say that I need to repeat this step until halting criterion is reached. (latest manual from the website at page 94)
Q. What do you mean by halting criteria here? How to know when to stop?


Your help will be highly appreciable. Looking forward to listen suggestion of running the calypso. 

Thanks and regards
Mukesh Singh




296389682

unread,
Feb 7, 2025, 12:52:19 PMFeb 7
to MUKESH SINGH

您的邮件已收到,我会尽快处理!

This is an automatic reply, confirming that your email was received. I will reply as soon as possible. Thank you!

Pengyue gao

unread,
Feb 7, 2025, 9:43:09 PMFeb 7
to CALYPSO
A:
1. If you find the lowest energy structures do not change during the structure search, you can stop CALYPSO.
2. When you run calypso.x for the example of BN, CALYPSO will restart. So, it will generate a new "results".  
B:
1. You needn't use the sbatch submit.sh, just change the path of vasp in the origin submit.sh file.
2. Maybe some generated structure are not good. It's OK, if CALYPSO not stop. 
C:
1. What you think is right for the understanding of one generation. The process can be controlled by the script. Please see the attachment. 
   (1) run "./caly_auto_split.py slurm" to generate the submit.sh file, if you don't have it.
   (2) run "nohup ./caly_auto_split.py slurm > caly.log 2>&1 &" to run CALYPSO with split model. Model details can be found in the manual.
2. The halting criteria is the same as the answer of the first question.  

Best Wishes,
Pengyue Gao
caly_auto_split.py

MUKESH SINGH

unread,
Feb 9, 2025, 5:52:14 PMFeb 9
to CALYPSO
Dear Pengyue Gao,


Thanks a lot for the help and sharing the caly_auto_split.py file. Yes, it is present in Tools_py3/Split_parallel. I was not familar with it.

Everything is working as your suggestion.

Just a small clarification, when you are saying that "If you find the lowest energy structures do not change during the structure search, you can stop CALYPSO."  I just need to plot enthalpy (ev/atom) [written in plot.dat file after running cak.py -p] as mention in Figs 3-5 of Crystal Structure Prediction via Particle Swarm Optimization
Phys. Rev. B 82, 094116 (2010) . Right?


However, I would like to ask the following?

1- On running calypso.x > caly.log with or without split mode, a lot of *.py files are copied to working directory. Are there some way to avoid copying these python files into working directory?

2- Also, I noticed that in Examples/*_Examples/results, there is CALYPSO_input.dat file.  However, while, I am running,  CALYPSO_input.dat is not being generated. Note Examples folder is download from calypso website itself.

3- I was trying to explore more about the cak.py, I found the following error while running cak.py --plotch. Do I need to do something to create convexhull.csv file?

Traceback (most recent call last):

File "/home/mukesh/CALYPSO_x64_python3/CALYPSO_ANALYSIS_KIT/cak.py", line 2148, in <module>

run()

File "/home/mukesh/CALYPSO_x64_python3/CALYPSO_ANALYSIS_KIT/cak.py", line 1887, in run

convexhull_data = pd.read_csv('./convexhull.csv', header=0, sep=r',')

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/home/mukesh/python3.11.3/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 1026, in read_csv

return _read(filepath_or_buffer, kwds)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/home/mukesh/python3.11.3/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 620, in _read

parser = TextFileReader(filepath_or_buffer, **kwds)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/home/mukesh/python3.11.3/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 1620, in __init__

self._engine = self._make_engine(f, self.engine)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "/home/mukesh/python3.11.3/lib/python3.11/site-packages/pandas/io/parsers/readers.py", line 1880, in _make_engine

self.handles = get_handle(

^^^^^^^^^^^

File "/home/mukesh/python3.11.3/lib/python3.11/site-packages/pandas/io/common.py", line 873, in get_handle

handle = open(

^^^^^

FileNotFoundError: [Errno 2] No such file or directory: './convexhull.csv'



4- On running cak.py -p, it generate plot.dat. Could you please explain from where it generate the generation number and enthalpy.
I am thinking, it should be lowest energy of each iteration, so it should be first line of each pso_sor_* files. but they differ a lot.

here is what I have found:

Examples/1_example/results$ cat plot.dat
   1         0.14206
   2         0.14197
   3         0.14197
   4         0.14197
   5         0.14197

and

Examples/1_example/results$ bash 2.sh   # Note 2.sh is my script which just copy first line of each pso_sor_1, pso_sor_2 etc.
  0.142058420000000    
  0.141967025000000    
  0.142612100000000    
  0.142019915000000    
  0.142261630000000


Your suggestion/help will be highly appreciated.


Thanks and regards
Mukesh Singh

Reply all
Reply to author
Forward
0 new messages