[Gmsh] Conformal surfaces.

I+D Magna Medic ingenieria at magnamedic.com
Tue Oct 6 12:23:12 CEST 2015


 

Dear gMeshers, 

I want to build three volumes as input mesh for my solver software
(ELMER). In order to make the current flow I've been adviced to make the
surfaces between them "conformal". 

The structure is very simple: a rectangular parallelepiped (30cm x 30 cm
x 20 cm height) and two cilinders touching that body on the top and
bottom faces. The cilinders act as electrodes (3mm height , 22 cm
diameter). 

The only thing that I need to know is how to make the coincident
surfaces "conformal". I think that this means that they should be
exactly equal or maybe the same surface. 

My geo file looks like this: (for simplicity I'll detail the bottom
cilinder only)

R = 0.11;

Point(1) = {-0.15, -0.15, -0.1, 0.1}; //Bottom face for parallelepiped
Point(2) = {0.15, -0.15, -0.1, 0.1};
Point(3) = {0.15, 0.15, -0.1, 0.1};
Point(4) = {-0.15, 0.15, -0.1, 0.1};
Line(1) = {3, 4};
Line(2) = {4, 1}; 
Line(3) = {1, 2};
Line(4) = {2, 3};
Line Loop(100) = {1, 2, 3, 4}; 

Point(5) = { 0, 0, -0.10, 0.1}; //Center for the base of the cilinder
Point(6) = { R, 0, -0.10, 0.1};
Point(7) = { 0, -R, -0.10, 0.1};
Point(8) = {-R, 0, -0.10, 0.1};
Point(9) = { 0, R, -0.10, 0.1};
//Arcs
Circle(5) = {6, 5, 7};
Circle(6) = {7, 5, 8};
Circle(7) = {8, 5, 9};
Circle(8) = {9, 5, 6};
Line Loop(101)= {5, 6, 7, 8}; 

Now I tried several strategies without good results. 

If I make a compound surface, the new one is different than the base of
the cilinder, let me explain: 

Plane Surface (200) = {100, 101};
Plane Surface (201) = {101}; 
Compound Surface (203) = {200, 201}; 

The mesh generated by the surface 203 is quite different from those
generated by 200 or 201. Then I tried: 

boundMaster[] = Boundary{Surface{203};};
boundSlave[] = Boundary{Surface{201};};
Periodic Surface 201 {boundSlave[]} = 203 {boundMaster[]}; 

But this throws an error because boundMaster is empty, this surprised
me. And if I try to select boundaries by hand gMSH throws "Impossible to
take boundaries of entity 203 (of type 307)". 

My second trial was: 

Plane Surface (200) = {100}; //Base of the parallelepiped
Plane Surface (201) = {101}; //Base of the cilinder 

boundMaster[] = Boundary{Surface{200};};
boundSlave[] = Boundary{Surface{201};};
Periodic Surface 201 {boundSlave[]} = 200 {boundMaster[]}; 

This trows: (even if create circles "In Surface 200") 

Error : parallel planes do not intersect
Error : parallel planes do not intersect
Error : Only rotations or translations can currently be computed
automatically for periodic faces: face 201 not meshed. 

What would you do? 

Thanks in advance, this is halting my work and any help would be
appreciated. 

 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.geuz.org/pipermail/gmsh/attachments/20151006/b6f848cd/attachment.html>