Line data Source code
1 0 : fsign = 1.d0
2 0 : t_val = time
3 : !sui!write(6,*) " getdetAdd t_val",t_val
4 0 : IF ( t_val .LT. 0.d0 ) THEN
5 : ! if t < 0 op%F(t,activeF,activeF) = -op%F(t+beta,activeF,activeF)
6 0 : t_val = t_val + op%beta
7 0 : fsign = -1.d0
8 : END IF
9 :
10 0 : ratioh = t_val * op%inv_dt + 1.d0 ! t / delta t
11 : !sui!write(6,*) " getdetAdd ratioh",ratioh
12 0 : index = INT(ratioh)
13 : !sui!write(6,*) " getdetAdd index",index
14 0 : ratioh = ratioh - DBLE(index)
15 : !sui!write(6,*) " getdetAdd ratioh",ratioh
16 :
17 : ! first order interpolation
18 : !sui!write(6,*) " getdetAdd fsign",fsign
19 : !sui!write(6,*) " getdetAdd Fs ",op%F(index,iflavora,iflavorb)
20 : !sui!write(6,*) " getdetAdd Fs ",op%F(index+1,iflavora,iflavorb)
21 : ! index + 1 can be sizeHybrid + 1 => value is 0 (cf. BathOperatoroffdiag_init routine)
22 : hybrid = fsign * (op%F(index,iflavora,iflavorb) + &
23 0 : ratioh * ( op%F(index+1,iflavora,iflavorb) - op%F(index,iflavora,iflavorb) ))
|