In order to calculate more complex charge densities, the optional function rocalc may be present in the module file *.so. If present, it will be used by programs chrgplt, charges:
extern "C" double ro_calc(double & teta,double & fi,double &R,Vector &aLlm, double *gJ,Vector &MODPAR,char **sipffilename);
Note for windows users with MINGW the declaration should be extern "C" __declspec(dllexport) double ro_calc(...).
The meaning of the symbols is as follows:
on input
teta, fi, R(Angsgtroem) .... spatial position in spherical coordinates
gJ Lande factor
MODPAR Vector with Parameters read in single ion property file
sipffilename file name of the single ion parameter file
aLlm single ion moments =expectation values of
coefficients of Zlm F(r) at a given temperature T and
effective field H
on output
double ro_rocalc ... the charge density
The module function must perform the following tasks: