2014-05-27 17:30:44 +02:00
|
|
|
use bitmasks
|
|
|
|
BEGIN_SHELL [ /usr/bin/env python ]
|
|
|
|
from generate_h_apply import *
|
|
|
|
from perturbation import perturbations
|
|
|
|
|
|
|
|
for perturbation in perturbations:
|
2014-06-06 16:19:14 +02:00
|
|
|
s = H_apply("cisd_selection_"+perturbation)
|
2014-05-27 17:30:44 +02:00
|
|
|
s.set_selection_pt2(perturbation)
|
|
|
|
print s
|
|
|
|
END_SHELL
|
|
|
|
|
|
|
|
|
|
|
|
subroutine H_apply_cisd_selection(perturbation,pt2, norm_pert, H_pert_diag, N_st)
|
|
|
|
implicit none
|
|
|
|
character*(64), intent(in) :: perturbation
|
|
|
|
integer, intent(in) :: N_st
|
2014-05-28 23:12:00 +02:00
|
|
|
double precision, intent(inout):: pt2(N_st), norm_pert(N_st), H_pert_diag(N_st)
|
2014-05-27 17:30:44 +02:00
|
|
|
|
|
|
|
BEGIN_SHELL [ /usr/bin/env python ]
|
|
|
|
from perturbation import perturbations
|
|
|
|
|
|
|
|
for perturbation in perturbations:
|
|
|
|
print """
|
|
|
|
if (perturbation == '%s') then
|
|
|
|
call H_apply_cisd_selection_%s(pt2, norm_pert, H_pert_diag, N_st)
|
|
|
|
endif
|
|
|
|
"""%(perturbation,perturbation)
|
|
|
|
END_SHELL
|
|
|
|
|
|
|
|
|
|
|
|
end
|