diff --git a/dune/uggrid/parallel/dddif/initddd.cc b/dune/uggrid/parallel/dddif/initddd.cc index 50b134d9ddf4b397a598bf25291e8be9314f8776..2e1db8288c961af9c4814a38fc0484fc77113235 100644 --- a/dune/uggrid/parallel/dddif/initddd.cc +++ b/dune/uggrid/parallel/dddif/initddd.cc @@ -88,6 +88,11 @@ NS_DIM_PREFIX NodeIF, NS_DIM_PREFIX NodeAllIF; DDD_IF NS_DIM_PREFIX BorderVectorIF, NS_DIM_PREFIX BorderVectorSymmIF, NS_DIM_PREFIX OuterVectorIF, NS_DIM_PREFIX OuterVectorSymmIF, NS_DIM_PREFIX VectorVIF, NS_DIM_PREFIX VectorVAllIF, NS_DIM_PREFIX VectorIF; +/* DDD interfaces for node communication */ +DDD_IF NS_DIM_PREFIX Node_InteriorBorder_All_IF; +/* DDD interfaces for facet (side vector) communication */ +DDD_IF NS_DIM_PREFIX Facet_InteriorBorder_All_IF; + /* DDD interfaces for edge communication */ DDD_IF NS_DIM_PREFIX EdgeIF, NS_DIM_PREFIX BorderEdgeSymmIF, NS_DIM_PREFIX EdgeHIF, NS_DIM_PREFIX EdgeVHIF, NS_DIM_PREFIX EdgeSymmVHIF; @@ -731,6 +736,11 @@ static void ddd_IfInit(DDD::DDDContext& context) dddctrl.NodeAllIF = DDD_IFDefine(context, 1,O,5,A,5,B); DDD_IFSetName(context, dddctrl.NodeAllIF, "NodeAllIF: All/All"); + // The Dune InteriorBorder_All_Interface for nodes + A[0] = PrioMaster; A[1] = PrioBorder; + B[0] = PrioMaster; B[1] = PrioBorder; B[2] = PrioVGhost; B[3] = PrioHGhost; B[4] = PrioVHGhost; + dddctrl.Node_InteriorBorder_All_IF = DDD_IFDefine(context, 1,O,2,A,5,B); + DDD_IFSetName(context, dddctrl.Node_InteriorBorder_All_IF, "Node_InteriorBorder_All_IF: Master/Border->Master/Border/VGhost/HGhost/VHGhost"); /* define vector interfaces */ O[0] = dddctrl.TypeVector; @@ -770,6 +780,13 @@ static void ddd_IfInit(DDD::DDDContext& context) dddctrl.VectorIF = DDD_IFDefine(context, 1,O,1,A,3,B); DDD_IFSetName(context, dddctrl.VectorIF, "VectorIF: Master->VGhost/VHGhost/HGhost"); + // The Dune InteriorBorder_All_Interface for facets + A[0] = PrioMaster; A[1] = PrioBorder; + B[0] = PrioMaster; B[1] = PrioBorder; B[2] = PrioVGhost; B[3] = PrioHGhost; B[4] = PrioVHGhost; + dddctrl.Facet_InteriorBorder_All_IF = DDD_IFDefine(context, 1,O,2,A,5,B); + DDD_IFSetName(context, dddctrl.Facet_InteriorBorder_All_IF, "Facet_InteriorBorder_All_IF: Master/Border->Master/Border/VGhost/HGhost/VHGhost"); + + /* define vertex interfaces */ O[0] = dddctrl.TypeIVertex; O[1] = dddctrl.TypeBVertex; diff --git a/dune/uggrid/parallel/dddif/parallel.h b/dune/uggrid/parallel/dddif/parallel.h index cc9fec7f1d1c2fc09f6dde3f91eebff5675c5043..0e28e4446a88d4b4282763be4d2e9a57e9629803 100644 --- a/dune/uggrid/parallel/dddif/parallel.h +++ b/dune/uggrid/parallel/dddif/parallel.h @@ -200,10 +200,11 @@ enum HandlerSets extern DDD_IF ElementIF, ElementSymmIF, ElementVIF, ElementSymmVIF, ElementVHIF, ElementSymmVHIF; extern DDD_IF BorderNodeIF, BorderNodeSymmIF, OuterNodeIF, NodeVIF, - NodeIF, NodeAllIF; + NodeIF, NodeAllIF, Node_InteriorBorder_All_IF; extern DDD_IF BorderVectorIF, BorderVectorSymmIF, OuterVectorIF, OuterVectorSymmIF, VectorVIF, VectorVAllIF, VectorIF; +extern DDD_IF Facet_InteriorBorder_All_IF; extern DDD_IF EdgeIF, BorderEdgeSymmIF, EdgeHIF, EdgeVHIF, EdgeSymmVHIF; @@ -253,10 +254,11 @@ struct DDD_CTRL DDD_IF ElementIF, ElementSymmIF, ElementVIF, ElementSymmVIF, ElementVHIF, ElementSymmVHIF; DDD_IF BorderNodeIF, BorderNodeSymmIF, OuterNodeIF, NodeVIF, - NodeIF, NodeAllIF; + NodeIF, NodeAllIF, Node_InteriorBorder_All_IF; DDD_IF BorderVectorIF, BorderVectorSymmIF, OuterVectorIF, OuterVectorSymmIF, VectorVIF, VectorVAllIF, VectorIF; + DDD_IF Facet_InteriorBorder_All_IF; DDD_IF VertexIF; DDD_IF EdgeIF, BorderEdgeSymmIF, EdgeHIF, EdgeVHIF, EdgeSymmVHIF;