04NaCl with finite-size extrapolation

00 Introduction

From this tutorial, you can learn how to calculate NaCl (finite-size extrapolation, with k=pi,pi,pi) with JDFT ansatz, starting from PySCF calculations. You can download all the input and output files from here.

01 From TREXIO file to TurboRVB WF

# for all s_X_X_X
cd s_X_X_X/01trexio_to_turborvbwf
cp ../../../1000041.cif .
cp ../00pyscf_to_trexio/pyscf_NaCl_s_X_X_X.py

trexio-to-turborvb NaCl.hdf5 -jasbasis cc-pVDZ -jascutbasis

02 JDFT ansatz - Jastrow optimization

cd ../02optimization/
cp ../01trexio_to_turborvbwf/fort.10 fort.10
cp ../01trexio_to_turborvbwf/pseudo.dat ./
cp fort.10 fort.10_pyscf
turbogenius vmcopt -g -opt_onebody -opt_twobody -opt_jas_mat -optimizer lr  -steps 500 -nw 480

# on a local machine (serial version)
turborvb-serial.x < datasmin.input > out_min
# on a local machine (parallel version)
mpirun -np XX turborvb-mpi.x < datasmin.input > out_min
# on a cluster machine (PBS)
qsub submit.sh
# on a cluster machine (Slurm)
sbatch submit.sh

turbogenius vmcopt -post -optwarmup 450 -plot

03 JDFT ansatz - VMC

cd ../03vmc/
cp ../02optimization/fort.10 fort.10
cp ../02optimization/pseudo.dat .
turbogenius vmc -g -steps 500 -nw 480

# on a local machine (serial version)
turborvb-serial.x < datasvmc.input > out_vmc
# on a local machine (parallel version)
mpirun -np XX turborvb-mpi.x < datasvmc.input > out_vmc
# on a cluster machine (PBS)
qsub submit.sh
# on a cluster machine (Slurm)
sbatch submit.sh

turbogenius vmc -post -bin 10 -warmup 5

04 Summary

Try to plot the obtained energies per formula unit. v.s. 1/N, where N is the number of atoms in the simulation cell.