New Features

From XdmfWeb
Jump to navigationJump to search

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