From: Roy S. <roy...@ic...> - 2018-09-11 15:30:51
|
On Tue, 11 Sep 2018, John Peterson wrote: >> I’m trying to create a triangular mesh like the following >> >> 7 — — 8 —— 9 >> | / | / | >> | / | / | >> 3 —— 4/5—— 6 >> | / | / | >> | / | / | >> 0 —— 1 —— 2 >> >> Where the node 4 and 5 have the same location but belong to different >> triangles: >> 4 belongs to (0,3,4), (3,4,8) and (4,9,8) >> while >> 5 belongs to (0,1,5), (1,6,5) and (5,6,9). >> In this way, the sides 0-4,4-9 and 0-5,5-9 are true boundaries. > If you want to maintain an internal boundary, you could first "break apart" > the mesh by inserting new nodes 10 and 11: > > 7 — — — —— 9,10 > | / | > | / | > | / | > | / | > | / | > 0,11--- — —— 2 > > And then updating the connectivity for the two triangles to (0,7,9) and > (2,11,10). Uniform refinement from this point on should maintain the > interior boundary... John is entirely correct, but I should point out that these are two *different* types of boundaries. If you start with the 10 node mesh on top and refine, then you will always have continuity of any C0 (or C1) solution variables at the two shared domain corner nodes. Whereas if you start with the 6 node mesh below it and refine, then nothing prevents the solution on those two corners from holding two separate values depending on which triangular region you evaluate them from. --- Roy |