Hex  2.2
Hydrogen-electron collision solver
Macros
radial.cpp File Reference
#include <algorithm>
#include <complex>
#include <cmath>
#include <cstdio>
#include <cstring>
#include "hex-arrays.h"
#include "hex-csrmatrix.h"
#include "hex-hdffile.h"
#include "hex-special.h"
#include "hex-symbandmatrix.h"
#include "bspline.h"
#include "gauss.h"
#include "parallel.h"
#include "radial.h"
Include dependency graph for radial.cpp:

Macros

#define SetupOneElectronIntegrals(AXIS)
 

Macro Definition Documentation

◆ SetupOneElectronIntegrals

#define SetupOneElectronIntegrals (   AXIS)
Value:
std::size_t hash_##AXIS = bspline_##AXIS##_.hash(); \
\
D_##AXIS##_ .hdflink(format("rad-D-%.4lx.hdf", hash_##AXIS)); \
S_##AXIS##_ .hdflink(format("rad-S-%.4lx.hdf", hash_##AXIS)); \
Mm1_##AXIS##_ .hdflink(format("rad-Mm1-%.4lx.hdf", hash_##AXIS)); \
Mm2_##AXIS##_ .hdflink(format("rad-Mm2-%.4lx.hdf", hash_##AXIS)); \
\
D_##AXIS##_ .populate([=](int m, int n) -> Complex { return computeD(bspline_##AXIS##_, g_##AXIS##_, m, n); }); \
S_##AXIS##_ .populate([=](int m, int n) -> Complex { return computeM(bspline_##AXIS##_, g_##AXIS##_, 0, m, n, bspline_##AXIS##_.Rmin(), bspline_##AXIS##_.Rmax(), false); }); \
Mm1_##AXIS##_ .populate([=](int m, int n) -> Complex { return computeM(bspline_##AXIS##_, g_##AXIS##_, -1, m, n, r##AXIS##min_, r##AXIS##max_, false); }); \
Mm2_##AXIS##_ .populate([=](int m, int n) -> Complex { return computeM(bspline_##AXIS##_, g_##AXIS##_, -2, m, n, bspline_##AXIS##_.Rmin(), bspline_##AXIS##_.Rmax(), false); }); \
\
if (not shared_scratch or IamMaster) \
{ \
D_##AXIS##_ .hdfsave(); \
S_##AXIS##_ .hdfsave(); \
Mm1_##AXIS##_ .hdfsave(); \
Mm2_##AXIS##_ .hdfsave(); \
}