1 #ifndef VDW_Q0_H 2 #define VDW_Q0_H 3 void vdwxc_G_zeta0(double rs, double *e, double *dedn); 4 void vdwxc_compute_lda(double n, double* e, double* v); 5 void vdwxc_compute_lda_spin(double n_up, double n_dn, 6 double *e, double *v_up, double *v_dn); 7 void vdwxc_compute_lda_spin_zeta(double n, double zeta, 8 double *e, double *v_up, double *v_dn); 9 void vdwxc_compute_q0x(double Z_ab, double rho, double sigma, double *q0x, 10 double *dq0x_drho, double *dq0x_dsigma); 11 void vdwxc_compute_q0x_spin(double Z_ab, double rho_up, double rho_dn, 12 double sigma_up, double sigma_dn, 13 double *q0xt, 14 double *dq0xt_drho_up, double *dq0xt_drho_dn, 15 double *dq0xt_dsigma_up, double *d0xt_dsigma_dn); 16 void vdwxc_compute_q0_spin(double Z_ab, 17 double rho_up, double rho_dn, 18 double sigma_up, double sigma_dn, 19 double* q0, 20 double* dq0drho_up, double* dq0drho_dn, 21 double* dq0dsigma_up, double* dq0dsigma_dn); 22 void vdwxc_hfilter(double q0, double q0cut, double *hq0, double *dhq0dq0); 23 24 void vdwxc_calculate_q0(int N, double Z_ab, double q_cut, 25 double* rho, double* sigma, 26 double* q0, double* dq0_drho, 27 double* dq0_dsigma); 28 29 // Now does the same as vdwxc_calculate_q0. What to do? 30 void vdwxc_calculate_q0_nospin(int N, double Z_ab, 31 double *rho_g, 32 double *sigma_g, 33 double *q0_g, 34 double *rho_dq0drho_g, 35 double *rho_dq0dsigma_g); 36 37 // XXX q_cut 38 void vdwxc_calculate_q0_spin(int N, double Z_ab, //double q_cut, 39 double* rho_up_g, double* rho_dn_g, 40 double* sigma_up_g, double* sigma_dn_g, 41 double* q0_g, 42 double* dq0drho_gs, 43 double* dq0dsigma_gs); 44 #endif 45