I think this is the best place to post my question. I am currently looking at the vtkHyperTreeGrid to see how good it fits my needs. Let say that I have a 2D simulation ran over 16 domains using adaptive mesh refinement starting from level min up to level max if needed (with levelmin cells potentially shared between multiple domains). Until now, I build only one vtkHyperTreeGrid by adding the refinement information of each domains one after another, this works perfectly. Except fot the htg->GetPointData()->GetArray(“anArray”)->GetRange() which gives bad results if no value where added to coarse cells. But in order to have more flexibility and exploit multiprocessing, I am trying to figure out how to use vtkMultiBlockDataSet and/or vtkMultiPieceDataSet in my example. Should I create one hyperTreeGrid for each levelmin cells belonging to one domain and deal with collection of HyperTreeGrids ?