+ /* zeta derivatives */
+ dzeta=exchange->dzeta;
+ v3_scale(&tmp,&dcosdrj,exchange->f_c[k]*dgk);
+ v3_add(&dzeta[j][j],&dzeta[j][j],&tmp); // j j
+ v3_scale(&tmp,&dcosdrk,exchange->f_c[j]*dgj);
+ v3_add(&dzeta[k][k],&dzeta[k][k],&tmp); // k k
+ v3_scale(&tmp,&distk,exchange->df_c[k]*gk/dk);
+ v3_add(&dzeta[j][k],&dzeta[j][k],&tmp);
+ v3_scale(&tmp,&dcosdrk,exchange->f_c[k]*dgk);
+ v3_add(&dzeta[j][k],&dzeta[j][k],&tmp); // j k
+ v3_scale(&tmp,&distj,exchange->df_c[j]*gj/dj);
+ v3_add(&dzeta[k][j],&dzeta[k][j],&tmp);
+ v3_scale(&tmp,&dcosdrj,exchange->f_c[j]*dgj);
+ v3_add(&dzeta[k][j],&dzeta[k][j],&tmp); // k j