74 lines
1.8 KiB
Fortran
74 lines
1.8 KiB
Fortran
! Read optimised norm-conserving Vanderbilt pseudopotentials from Don Hamann's code
|
|
! as provided by PseudoDojo and SG15 libraries (Abinit and QuantumEspresso compatible)
|
|
! and write out as Conquest .ion files. Also generate PAOs for the atoms.
|
|
program MakeIonFiles
|
|
|
|
! Conquest modules
|
|
! Also used in other modules: global, timer, mpi, units, pao_format, spline, functions, input
|
|
use datatypes
|
|
use numbers
|
|
use GenComms, ONLY: myid, numprocs, init_comms, cq_abort
|
|
use memory_module, only: init_reg_mem
|
|
use species_module, ONLY: n_species
|
|
! Slightly changed Conquest modules
|
|
! Removed gcopy statements
|
|
use pseudo_tm_info
|
|
! UPF and pseudo_file_format_oncv are new - are they needed ?
|
|
use pseudopotential_common, ONLY: ABINIT, UPF, pseudo_file_format_oncv
|
|
! Local modules
|
|
use pseudo_atom_info
|
|
use read
|
|
use write
|
|
use schro
|
|
use mesh
|
|
use input_module, ONLY: input_lines
|
|
|
|
implicit none
|
|
|
|
integer :: i_species
|
|
|
|
!
|
|
! Initialise
|
|
!
|
|
call init_comms(myid,numprocs)
|
|
call init_reg_mem
|
|
!
|
|
! Output initial information
|
|
!
|
|
call write_banner
|
|
!
|
|
! Load Conquest_ion_input, read general parameters
|
|
!
|
|
call read_general_input
|
|
!
|
|
! Loop over species, read appropriate data and generate PAOs
|
|
!
|
|
do i_species = 1, n_species
|
|
!
|
|
! Inputs
|
|
!
|
|
call read_species_input(i_species)
|
|
!
|
|
! Setup
|
|
!
|
|
call set_pao_initial(i_species)
|
|
!
|
|
! Make PAOs
|
|
!
|
|
call make_paos(i_species)
|
|
!
|
|
! Output
|
|
!
|
|
call write_header(i_species)
|
|
call write_paos(i_species)
|
|
call write_pseudopotential(i_species)
|
|
call write_footer(i_species)
|
|
!
|
|
! Deallocate by species
|
|
!
|
|
call deallocate_val
|
|
call deallocate_pao
|
|
call deallocate_vkb(i_species)
|
|
end do
|
|
end program MakeIonFiles
|