Program Listing for File HelicalGridTurbulence.h
↰ Return to documentation for file (include/crpropa/magneticField/turbulentField/HelicalGridTurbulence.h
)
#ifndef CRPROPA_HELICALGRIDTURBULENCE_H
#define CRPROPA_HELICALGRIDTURBULENCE_H
#ifdef CRPROPA_HAVE_FFTW3F
#include "crpropa/Grid.h"
#include "crpropa/magneticField/turbulentField/SimpleGridTurbulence.h"
#include "kiss/logger.h"
#include "kiss/string.h"
namespace crpropa {
class HelicalGridTurbulence : public SimpleGridTurbulence {
private:
double H;
public:
HelicalGridTurbulence(const SimpleTurbulenceSpectrum &spectrum,
const GridProperties &gridProp, double H,
unsigned int seed = 0);
static void initTurbulence(ref_ptr<Grid3f> grid, double Brms, double lMin,
double lMax, double alpha, int seed, double H);
};
// Compatibility with old functions from GridTurbulence:
void initHelicalTurbulence(ref_ptr<Grid3f> grid, double Brms, double lMin,
double lMax, double alpha = -11 / 3., int seed = 0,
double H = 0) {
KISS_LOG_WARNING
<< "initTurbulence is deprecated and will be removed in the future. "
"Replace it with a more appropriate turbulent field model instance.";
HelicalGridTurbulence::initTurbulence(grid, Brms, lMin, lMax, alpha, seed,
H);
}
} // namespace crpropa
#endif // CRPROPA_HAVE_FFTW3F
#endif // CRPROPA_HELICALGRIDTURBULENCE_H