From ae3e15770ee4c830ceace7abb3b64c238f11a00e Mon Sep 17 00:00:00 2001 From: Thorsten Liebig Date: Thu, 20 Jan 2011 14:37:35 +0100 Subject: [PATCH] ProcessFields fix: hdf5 dumps need dynamic memory allocation --- Common/processfields.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Common/processfields.cpp b/Common/processfields.cpp index 1c6c295..b3194c9 100644 --- a/Common/processfields.cpp +++ b/Common/processfields.cpp @@ -449,7 +449,8 @@ bool ProcessFields::DumpVectorArray2HDF5(string filename, string groupName, stri // I have not the slightest idea why this array-copy action is necessary... but it's the only way hdf5 does what it is supposed to do anyway!! // at least it is save in case FDTD_FLOAT was defined as double... // why does hdf5 write the dimensions backwards??? or matlab??? - float hdf5array[3][numLines[2]][numLines[1]][numLines[0]]; + unsigned int reverse_numLines[] = {numLines[2], numLines[1], numLines[0]}; + float ****hdf5array = Create_N_3DArray(reverse_numLines); for (int n=0; n<3; ++n) { for (unsigned int i=0; i(reverse_numLines); for (int n=0; n<3; ++n) { for (unsigned int i=0; i