First time here? Checkout the FAQ!
x
0 votes
by (140 points)

Hi everyone,

I found some strange behavior using openCARP for monolayer meshes (monodomain sim):

When I switch the order of point ids within triangle elements, also the visible conduction velocity changes. (I was inspecting code flipping the normals of all elements by changing the winding order.)

So for a triangle Tr 0 1 2 changing to Tr 2 1 0 this could make sense because of the changed in normal direction (still strange for 2D meshes). However, changing Tr 2 1 0 to Tr 1 0 2 also changes the propagation while not modifying the triangle-based normal direction.

My question would be: Is there some “rule” for triangle elements as for the other types of mesh elements in which order they should be used? And how can I enforce this, or does this effect shrink when going to full geometries?

 

My guess would be, that this is somewhere in the local coordinate system openCARP builds in SF_fem_utils.h which is only based on the first two triangle indices. But I’m too much of a beginner to understand these inner workings fully.

I attached the results of my experiments. If you need more information let me know.

Fiber direction along x (left to right) sheet direction along y (bottom to top). Courtemanche; just one region, stimulus planar from the bottom. Pts, lon files are the same, apart from the changed index order also the elem file. 

Results for a 5x5 cm monolayer triangular mesh

Simulation results of different triangle index orders

I also did an example with a 3x3 points mesh which also shows a voltage difference between triangles with normals pointing up and down (just exchange the first and last index of each element in the elem file)

Best regards,

Pascal

@font-face {font-family:"Cambria Math"; panose-1:2 4 5 3 5 4 6 3 2 4; mso-font-charset:0; mso-generic-font-family:roman; mso-font-pitch:variable; mso-font-signature:-536870145 1107305727 0 0 415 0;}@font-face {font-family:Aptos; panose-1:2 11 0 4 2 2 2 2 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 3 0 0 415 0;}p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-unhide:no; mso-style-qformat:yes; mso-style-parent:""; margin-top:0in; margin-right:0in; margin-bottom:8.0pt; margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Aptos",sans-serif; mso-ascii-font-family:Aptos; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Aptos; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Aptos; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi; mso-font-kerning:1.0pt; mso-ligatures:standardcontextual;}.MsoChpDefault {mso-style-type:export-only; mso-default-props:yes; font-family:"Aptos",sans-serif; mso-ascii-font-family:Aptos; mso-ascii-theme-font:minor-latin; mso-fareast-font-family:Aptos; mso-fareast-theme-font:minor-latin; mso-hansi-font-family:Aptos; mso-hansi-theme-font:minor-latin; mso-bidi-font-family:"Times New Roman"; mso-bidi-theme-font:minor-bidi;}.MsoPapDefault {mso-style-type:export-only; margin-bottom:8.0pt; line-height:115%;}div.WordSection1 {page:WordSection1;}

2 Answers

0 votes
by (8.6k points)
Hi!

I tried to reproduce this from the information you posted, but in my example the results between different element numberings are identical. Can you please share your setup?

Best, Aurel
by (140 points)
Did you get the files behind the two links? There should be the mesh and the parameters.par file.

If you need more no problem,

Pascal
0 votes
by (8.6k points)
Hi!

I had a further look at this. I can confirm your observations on the meshes you provided. There is a certain spatial coherrence to the numerical error (even on regular refinements of your mesh), that I have not seen before. Really weird. The funny thing is that any regular & irregular triangulations of the same domain that I produced do not have the same kind of problems (keeping everything else the same).

It is not clear to me if there is an issue to fix or we are just observing a special property of the specific triangulation you produced. The solutions of uniform refinements of this mesh still converge towards the real solution, and it is clear that solutions of unconverged discretizations have numerical errors, but the spatial error patterns that manifest along the way are definitiely unexpected.

I will discuss this at times with collegues, but I dont see a direct way forward at this point.

Best, Aurel
Welcome to openCARP Q&A. Ask questions and receive answers from other members of the community. For best support, please use appropriate TAGS!
architecture, carputils, documentation, experiments, installation-containers-packages, limpet, slimfem, website, governance
...