예제 #1
0
 static void IfIsBoundaryAddEdge2Tags(Edge <T> edge, int iFace, List <BoundaryFace> tags)
 {
     if (edge.IsBoundary)
     {
         BoundaryFace tag = new BoundaryFace
         {
             Face = iFace,
             BoundaryEdgeNumber = edge.BoundaryEdgeNumber,
             ID         = edge.Start.ID,
             NeighborID = edge.Twin.Start.ID
         };
         tags.Add(tag);
     }
 }
예제 #2
0
 void AddPeriodicNeighbor(Cell cell, List <BoundaryFace> tags)
 {
     for (int i = 0; i < tags.Count; ++i)
     {
         CellFaceTag  CFT          = cell.CellFaceTags[i];
         BoundaryFace face2EdgeMap = tags[i];
         if (CFT.EdgeTag >= GridCommons.FIRST_PERIODIC_BC_TAG)
         {
             Debug.Assert(periodicBoundaryConverter != null);
             periodicBoundaryConverter.SetPeriodicData(
                 i,
                 cell.CellFaceTags,
                 face2EdgeMap.BoundaryEdgeNumber,
                 cell.GlobalID,
                 face2EdgeMap.ID,
                 face2EdgeMap.NeighborID);
         }
     }
 }