From bcf4ae2deb35502e2932363721fa9737135e2e48 Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Wed, 28 Nov 2012 17:49:58 -0500 Subject: [PATCH] Added a specific function for computing \vec{k} --- src/fourier/details/euclidian_maps.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/fourier/details/euclidian_maps.hpp b/src/fourier/details/euclidian_maps.hpp index c890471..e0bd939 100644 --- a/src/fourier/details/euclidian_maps.hpp +++ b/src/fourier/details/euclidian_maps.hpp @@ -113,6 +113,24 @@ namespace CosmoTool this->delta_k); } + template + void get_Kvec(const Array& ik, Array& kvec) + { + const DimArray& dims = this->getDims(); + assert(ik.size() == dims.size()); + assert(kvec.size() == dims.size()); + + kvec[0] = ik[0] * delta_k[0]; + for (int q = 1; q < ik.size(); q++) + { + int dk = ik[q]; + if (dk > dims[q]/2) + dk = dk - dims[q]; + + kvec[q] = dk*delta_k[q]; + } + } + template double get_K(const Array& ik) {