diff --git a/src/Classic/Fields/FM3DH5Block.cpp b/src/Classic/Fields/FM3DH5Block.cpp index 173f59581451484a8fc96276ffecf6a6655a2d6b..640d24c8e7ad47946ec45ddd0570703bb5310cfe 100644 --- a/src/Classic/Fields/FM3DH5Block.cpp +++ b/src/Classic/Fields/FM3DH5Block.cpp @@ -65,7 +65,9 @@ void FM3DH5Block::readMap ( &(FieldstrengthHz_m[0])); closeFile (); - INFOMSG (level3 << typeset_msg("fieldmap '" + Filename_m + "' read", "info") + INFOMSG (level3 + << typeset_msg("3d dynamic fieldmap '" + + Filename_m + "' (H5hut format) read", "info") << endl); } @@ -81,8 +83,9 @@ void FM3DH5Block::freeMap ( FieldstrengthHy_m.clear (); FieldstrengthHz_m.clear (); - INFOMSG(level3 << typeset_msg("freed fieldmap '" + Filename_m + "'", "info") - << endl); + INFOMSG (level3 + << typeset_msg ("freed fieldmap '" + Filename_m + "'", "info") + << endl); } bool FM3DH5Block::getFieldstrength ( @@ -93,11 +96,8 @@ bool FM3DH5Block::getFieldstrength ( if (!isInside(R)) { return true; } - E += interpolateTrilinearly ( - FieldstrengthEx_m, FieldstrengthEy_m, FieldstrengthEz_m, R); - B += interpolateTrilinearly ( - FieldstrengthHx_m, FieldstrengthHy_m, FieldstrengthHz_m, R); - + E += interpolateTrilinearly (FieldstrengthEx_m, FieldstrengthEy_m, FieldstrengthEz_m, R); + B += interpolateTrilinearly (FieldstrengthHx_m, FieldstrengthHy_m, FieldstrengthHz_m, R); return false; } diff --git a/src/Classic/Fields/FM3DH5BlockBase.h b/src/Classic/Fields/FM3DH5BlockBase.h index d641c2e7f1c67c894de5d634355ca2b29b834209..7402b2ce48288047a17a240698e57187bff17cc4 100644 --- a/src/Classic/Fields/FM3DH5BlockBase.h +++ b/src/Classic/Fields/FM3DH5BlockBase.h @@ -137,13 +137,20 @@ protected: {} }; + /* + The 3-dimensional fieldmaps are stored in a 1-dimensional arrays. + Please note that the FORTRAN indexing scheme is used in H5hut! + + This functions maps the 3-dimensional index (i, j, k) to the + corresponding index in the 1-dimensional array. + */ unsigned long getIndex ( unsigned int i, unsigned int j, unsigned int k ) const { - unsigned long result = i + j * num_gridpx_m; - result = k + result * num_gridpz_m; + unsigned long result = j + k * num_gridpy_m; + result = i + result * num_gridpx_m; return result; } diff --git a/src/Classic/Fields/FM3DH5Block_nonscale.cpp b/src/Classic/Fields/FM3DH5Block_nonscale.cpp index 5fbf2dd5b8ff94d229ec87e54d0cc90568bcff5c..bbfed45e68dfe54445ead10dea7635773abf9987 100644 --- a/src/Classic/Fields/FM3DH5Block_nonscale.cpp +++ b/src/Classic/Fields/FM3DH5Block_nonscale.cpp @@ -77,7 +77,9 @@ void FM3DH5Block_nonscale::readMap ( FieldstrengthHy_m[i] *= 1.0e6 * Physics::mu_0 ; FieldstrengthHz_m[i] *= 1.0e6 * Physics::mu_0 ; } - INFOMSG (level3 << typeset_msg("fieldmap '" + Filename_m + "' read", "info") + INFOMSG (level3 + << typeset_msg("3d dynamic (non-scaled) fieldmap '" + + Filename_m + "' (H5hut format) read", "info") << endl); } diff --git a/src/Classic/Fields/FM3DMagnetoStaticH5Block.cpp b/src/Classic/Fields/FM3DMagnetoStaticH5Block.cpp index 49baa4e43441eacabd034bbb5a704356258e5682..a73c4a94473e89529a7bbf3b28b51bd26391b71d 100644 --- a/src/Classic/Fields/FM3DMagnetoStaticH5Block.cpp +++ b/src/Classic/Fields/FM3DMagnetoStaticH5Block.cpp @@ -67,7 +67,9 @@ void FM3DMagnetoStaticH5Block::readMap ( &(FieldstrengthBz_m[0])); closeFile (); - INFOMSG (level3 << typeset_msg("fieldmap '" + Filename_m + "' read", "info") + INFOMSG (level3 + << typeset_msg("3d magneto static fieldmap '" + + Filename_m + "' (H5hut format) read", "info") << endl); } void FM3DMagnetoStaticH5Block::freeMap (