10
0
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-06-22 21:22:25 +02:00
QuantumPackage/plugins/local/tc_progs/save_tc_bi_ortho_nat.irp.f

78 lines
1.6 KiB
Fortran
Raw Normal View History

2023-07-02 21:49:25 +02:00
! ---
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
2024-01-15 12:02:38 +01:00
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
2023-07-02 21:49:25 +02:00
read_wf = .True.
touch read_wf
2024-03-08 17:25:48 +01:00
logical :: good_angles
call print_energy_and_mos(good_angles)
2023-07-02 21:49:25 +02:00
call save_tc_natorb()
2023-10-11 15:45:51 +02:00
call print_angles_tc()
2023-07-02 21:49:25 +02:00
!call minimize_tc_orb_angles()
end
! ---
2023-02-07 17:07:49 +01:00
2023-07-02 21:49:25 +02:00
subroutine save_tc_natorb()
2023-02-07 17:07:49 +01:00
implicit none
2023-07-02 21:49:25 +02:00
2023-02-07 17:07:49 +01:00
print*,'Saving the natorbs '
2023-07-02 21:49:25 +02:00
2023-02-07 17:07:49 +01:00
provide natorb_tc_leigvec_ao natorb_tc_reigvec_ao
2023-10-11 15:45:51 +02:00
mo_l_coef = natorb_tc_leigvec_ao
mo_r_coef = natorb_tc_reigvec_ao
touch mo_l_coef mo_r_coef
2023-07-02 21:49:25 +02:00
2023-10-11 15:45:51 +02:00
call ezfio_set_bi_ortho_mos_mo_l_coef(mo_l_coef)
call ezfio_set_bi_ortho_mos_mo_r_coef(mo_r_coef)
2023-07-02 21:49:25 +02:00
call save_ref_determinant_nstates_1()
2023-02-07 17:07:49 +01:00
call ezfio_set_determinants_read_wf(.False.)
2023-07-02 21:49:25 +02:00
end
! ---
2023-02-07 17:07:49 +01:00
2023-07-02 21:49:25 +02:00
subroutine save_ref_determinant_nstates_1()
2023-02-07 17:07:49 +01:00
use bitmasks
2023-07-02 21:49:25 +02:00
implicit none
double precision :: buffer(1,N_states)
2023-02-07 17:07:49 +01:00
buffer = 0.d0
buffer(1,1) = 1.d0
2023-07-02 21:49:25 +02:00
call save_wavefunction_general(1, 1, ref_bitmask, 1, buffer)
end