New Features
Here are some new features to Xdmf. Try them out and give us some feedback.
XdmfDSM has been updated.
It now supports Paging, multiple datasets, and multiple files.
New API
XML Archive for XdmfWriter
Archives the XML from previous writes and uses it to generate later iterations. Works best in simulations where new data is appended to the file each iteration.
shared_ptr<XdmfWriter> writer = XdmfWriter::New(); writer->setRebuildXML(false);
XdmfGridController
Alternative to XPointers, saves on memory by allowing the reading process to leave extra grids on file instead of reading them.
shared_ptr<XdmfUnstructuredGrid> equalUnGrid = XdmfUnstructuredGrid::New(); shared_ptr<XdmfGridController> unGridController = XdmfGridController::New("gridControllerReference.xmf", "/Xdmf/Domain/Grid[1]"); equalUnGrid->setGridController(unGridController);
A full example program can be found in the Xdmf source at: Xdmf2/tests/Cxx/TestXdmfGridController.cpp
Will be usable in Paraview when it is updated to use the latest Xdmf.
XdmfTemplate
Allows for a grid collection to be written as a compressed grid.
A full example program can be found in the Xdmf source at: Xdmf2/tests/Cxx/TestXdmfGridTemplate.cpp
Requires a patch to VTK to render in Paraview:
In file ParaView/VTK/IO/Xdmf3vtkXdmf3DataSet.cxx line 175 change
#define DO_DEEPREAD 0
to
#define DO_DEEPREAD 1
Cxx11 replaces Boost
In the case that Cxx11 is available, the Cxx11 version of calls will be used. Reworked the internals of XdmfArray to no longer use boost::variant