!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
!%%%%   Subroutine "help" is used to show the help message     %%%%
!%%%%   and exit.                                              %%%%
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
subroutine help

write(*,*) " options "
write(*,*) 
write(*,*) " -g, --generate: to generate the distorted POSCAR files of 3D materials for the  "
write(*,*) "      first-principles calculations.                                             "
write(*,*) " -g2d, --generate2d: to generate the distorted POSCAR files of 2D materials for  "
write(*,*) "      the first-principles calculations.                                         "
write(*,*) " -d, --derive: to derive the elastic constants for 3D materials by quadratic     "
write(*,*) "      polynomial fitting of the energy-strain relationships extracted from the   "
write(*,*) "      OSZICAR files.                                                             "
write(*,*) " -d2d, --derive2d: to derive the elastic constants for 2D materials by quadratic "
write(*,*) "      polynomial fitting of the energy-strain relationships extracted from the   "
write(*,*) "      OSZICAR files.                                                             "
write(*,*) " -e, --extract: to read the energies of distorted structures for 3D materials    "
write(*,*) "      from the OSZICAR files.                                                    "
write(*,*) " -e2d, --extract2d: to read the energies of distorted structures for 2D materials"
write(*,*) "      from the OSZICAR files.                                                    "
write(*,*) " -i [pressure], --incar [pressure]: to create INCAR file with PSTRESS=pressure   "
write(*,*) "      ([Integer], UNIT=GPa and =0000, if default).                               "
write(*,*) " -k [k1] [k2] [k3] [kscheme], --kmesh [k1] [k2] [k3] [kscheme]: to create the    "
write(*,*) "      NEWKPT file in KPOINTS format according to the user¡¯s input. k1, k2 and   "
write(*,*) "      k3 = [Integer] (no default value), kscheme=[ MP | Gamma ] (=Gamma, if      "
write(*,*) "      default).                                                                  "
write(*,*) " -ka [kppra] [kscheme], --kppra [kppra] [kscheme]: to create the NEWKPT file     "
write(*,*) "      in KPOINTS format according to the K-Point Per Reciprocal Atom,            "
write(*,*) "      kppra=[Integer] (=1000, if  default), kscheme=[ MP | Gamma ] (=Gamma, if   "
write(*,*) "      default).                                                                  "
write(*,*) " -kv [kspacing] [kscheme], --kspac [kspacing] [kscheme]: to create the NEWKPT    "
write(*,*) "      file in KPOINTS format according to the kspacing, kspacing=[Real] (=0.5    "
write(*,*) "      , if default), kscheme=[ MP | Gamma ] (=Gamma, if default).                "
write(*,*) " -v, --version: to show the version information.                                 "
write(*,*) " -h, --help: to show the help message.                                           "
write(*,*) " -c, --clean: to clean the structure and OSZICAR file.                           "
write(*,*) " -l, --license: to show the license information.                                 "
        

end
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
!%%%%                       end of help.f                      %%%%
!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
