Commit 49e6e144 by Martin Schlipf

implement calculation of HSE enhancement factor (step 4)

implement integral in the limit of large arguments

git-svn-id: http://qboxcode.org/svn/qb/branches/hse-dev@1375 cba15fb0-1239-40c8-b417-11db7ca47a34
parent 0f029590
......@@ -277,6 +277,25 @@ void approximateIntegral(const double omega_kF, const double Hs2,
// large x limit
// inf
// / / 2 \ / 2 \
// | | A -Dy A | | / w 2\ 2 |
// | dy | --- e - -------------- | Exp| - ( 2 --2-- + H s ) y |
// | | y / 4 2\ | | \ k / |
// / \ y( 1 + - Ay ) / \ F /
// 0 \ 9 /
const double r2w2 = 2.0 * w2;
const double r4w2 = 4.0 * w2;
const double r2w2_Hs2 = r2w2 + Hs2;
const double r2w2_D_term = r2w2 + D_term;
const double arg = r9_4A * r2w2_Hs2;
const double exp_e1 = util::gauss_laguerre(arg);
*appInt = A_2 * (log(r2w2_Hs2 / r2w2_D_term) + exp_e1);
const double dAppInt_dh = -A_2 / r2w2_D_term + 1.125 * exp_e1;
*dAppInt_ds = dAppInt_dh * dHs2_ds;
*dAppInt_dkF = -dAppInt_dh * r4w2;
}
}
......@@ -439,7 +458,6 @@ void HSE_enhance(const double s, const double kF, const double w, double *fx,
}
void HSEFunctional::setxc(void) {
// dummy
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment