void EdgeMultiblockTest::postprocessRefine( hier::Patch& fine, const hier::Patch& coarse, const std::shared_ptr<hier::VariableContext>& context, const hier::Box& fine_box, const hier::IntVector& ratio) const { pdat::EdgeDoubleConstantRefine ref_op; hier::BoxContainer fine_box_list(fine_box); hier::BoxContainer empty_box_list; xfer::BoxGeometryVariableFillPattern fill_pattern; for (int i = 0; i < static_cast<int>(d_variables.size()); ++i) { int id = hier::VariableDatabase::getDatabase()-> mapVariableAndContextToIndex(d_variables[i], context); std::shared_ptr<hier::PatchDataFactory> fine_pdf( fine.getPatchDescriptor()->getPatchDataFactory(id)); std::shared_ptr<hier::BoxOverlap> fine_overlap( fill_pattern.computeFillBoxesOverlap( fine_box_list, empty_box_list, fine.getBox(), fine.getPatchData(id)->getGhostBox(), *fine_pdf)); ref_op.refine(fine, coarse, id, id, *fine_overlap, ratio); } }