diff options
Diffstat (limited to 'Source/Diagnostics/WarpXOpenPMD.cpp')
-rw-r--r-- | Source/Diagnostics/WarpXOpenPMD.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Diagnostics/WarpXOpenPMD.cpp b/Source/Diagnostics/WarpXOpenPMD.cpp index 04877444b..8b7630821 100644 --- a/Source/Diagnostics/WarpXOpenPMD.cpp +++ b/Source/Diagnostics/WarpXOpenPMD.cpp @@ -6,6 +6,7 @@ */ #include "WarpXOpenPMD.H" #include "FieldIO.H" // for getReversedVec +#include "Utils/RelativeCellPosition.H" #include "Utils/WarpXAlgorithmSelection.H" #include "Utils/WarpXUtil.H" @@ -792,9 +793,10 @@ WarpXOpenPMDPlot::WriteOpenPMDFields( //const std::string& filename, // Create a new mesh record component, and store the associated metadata auto mesh_comp = mesh[comp_name]; mesh_comp.resetDataset( dataset ); - // Cell-centered data: position is at 0.5 of a cell size. - // TODO: honor nodal/cell centered data per component; reverse order to axisLabel order - mesh_comp.setPosition( std::vector<double>{AMREX_D_DECL(0.5, 0.5, 0.5)} ); + + auto relative_cell_pos = utils::getRelativeCellPosition( mf ); // AMReX Fortran index order + std::reverse( relative_cell_pos.begin(), relative_cell_pos.end() ); // now in C order + mesh_comp.setPosition( relative_cell_pos ); // Loop through the multifab, and store each box as a chunk, // in the openPMD file. |