mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-09-01 21:53:40 +02:00
78 lines
1.6 KiB
Fortran
78 lines
1.6 KiB
Fortran
|
|
! ---
|
|
|
|
program tc_natorb_bi_ortho
|
|
|
|
BEGIN_DOC
|
|
! TODO : Put the documentation of the program here
|
|
END_DOC
|
|
|
|
implicit none
|
|
|
|
print *, 'Hello world'
|
|
|
|
my_grid_becke = .True.
|
|
PROVIDE tc_grid1_a tc_grid1_r
|
|
my_n_pt_r_grid = tc_grid1_r
|
|
my_n_pt_a_grid = tc_grid1_a
|
|
touch my_grid_becke my_n_pt_r_grid my_n_pt_a_grid
|
|
|
|
if(tc_integ_type .eq. "numeric") then
|
|
my_extra_grid_becke = .True.
|
|
PROVIDE tc_grid2_a tc_grid2_r
|
|
my_n_pt_r_extra_grid = tc_grid2_r
|
|
my_n_pt_a_extra_grid = tc_grid2_a
|
|
touch my_extra_grid_becke my_n_pt_r_extra_grid my_n_pt_a_extra_grid
|
|
|
|
call write_int(6, my_n_pt_r_extra_grid, 'radial internal grid over')
|
|
call write_int(6, my_n_pt_a_extra_grid, 'angular internal grid over')
|
|
endif
|
|
|
|
|
|
|
|
read_wf = .True.
|
|
touch read_wf
|
|
|
|
logical :: good_angles
|
|
call print_energy_and_mos(good_angles)
|
|
call save_tc_natorb()
|
|
call print_angles_tc()
|
|
!call minimize_tc_orb_angles()
|
|
|
|
end
|
|
|
|
! ---
|
|
|
|
subroutine save_tc_natorb()
|
|
|
|
implicit none
|
|
|
|
print*,'Saving the natorbs '
|
|
|
|
provide natorb_tc_leigvec_ao natorb_tc_reigvec_ao
|
|
mo_l_coef = natorb_tc_leigvec_ao
|
|
mo_r_coef = natorb_tc_reigvec_ao
|
|
touch mo_l_coef mo_r_coef
|
|
|
|
call ezfio_set_bi_ortho_mos_mo_l_coef(mo_l_coef)
|
|
call ezfio_set_bi_ortho_mos_mo_r_coef(mo_r_coef)
|
|
call save_ref_determinant_nstates_1()
|
|
call ezfio_set_determinants_read_wf(.False.)
|
|
|
|
end
|
|
|
|
! ---
|
|
|
|
subroutine save_ref_determinant_nstates_1()
|
|
|
|
use bitmasks
|
|
implicit none
|
|
double precision :: buffer(1,N_states)
|
|
|
|
buffer = 0.d0
|
|
buffer(1,1) = 1.d0
|
|
call save_wavefunction_general(1, 1, ref_bitmask, 1, buffer)
|
|
|
|
end
|
|
|