<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
<html><body style='font-size: 10pt; font-family: Verdana,Geneva,sans-serif'>
<p>Dear gMeshers,</p>
<p>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".</p>
<p>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).</p>
<p>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. </p>
<div>
<pre>My geo file looks like this: (for simplicity I'll detail the bottom cilinder only)<br /><br />R = 0.11;<br /><br /></pre>
<p>Point(1) = {-0.15, -0.15, -0.1, 0.1}; //Bottom face for parallelepiped<br />Point(2) = {0.15, -0.15, -0.1, 0.1};<br />Point(3) = {0.15, 0.15, -0.1, 0.1};<br />Point(4) = {-0.15, 0.15, -0.1, 0.1};<br />Line(1) = {3, 4};<br />Line(2) = {4, 1}; <br />Line(3) = {1, 2};<br />Line(4) = {2, 3};<br />Line Loop(100) = {1, 2, 3, 4};</p>
<p>Point(5) = { 0, 0, -0.10, 0.1}; //Center for the base of the cilinder<br />Point(6) = { R, 0, -0.10, 0.1};<br />Point(7) = { 0, -R, -0.10, 0.1};<br />Point(8) = {-R, 0, -0.10, 0.1};<br />Point(9) = { 0, R, -0.10, 0.1};<br />//Arcs<br />Circle(5) = {6, 5, 7};<br />Circle(6) = {7, 5, 8};<br />Circle(7) = {8, 5, 9};<br />Circle(8) = {9, 5, 6};<br />Line Loop(101)= {5, 6, 7, 8};</p>
<p>Now I tried several strategies without good results.</p>
<p>If I make a compound surface, the new one is different than the base of the cilinder, let me explain:</p>
<p>Plane Surface (200) = {100, 101};<br />Plane Surface (201) = {101}; <br />Compound Surface (203) = {200, 201}; </p>
<p>The mesh generated by the surface 203 is quite different from those generated by 200 or 201. Then I tried: </p>
<p>boundMaster[] = Boundary{Surface{203};};<br />boundSlave[] = Boundary{Surface{201};};<br />Periodic Surface 201 {boundSlave[]} = 203 {boundMaster[]};</p>
<p>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)".</p>
<p>My second trial was:</p>
<p><span>Plane Surface (200) = {100}; //Base of the parallelepiped</span><br /><span>Plane Surface (201) = {101}; //Base of the cilinder</span></p>
<p><span><span>boundMaster[] = Boundary{Surface{200};};</span><br /><span>boundSlave[] = Boundary{Surface{201};};</span><br /><span>Periodic Surface 201 {boundSlave[]} = 200 {boundMaster[]};</span></span></p>
<p><span>This trows: (even if create circles "In Surface 200")</span></p>
<p>Error : parallel planes do not intersect<br />Error : parallel planes do not intersect<br />Error : Only rotations or translations can currently be computed automatically for periodic faces: face 201 not meshed.</p>
<p>What would you do?</p>
<p>Thanks in advance, this is halting my work and any help would be appreciated.</p>
<p><span style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12px; white-space: pre-wrap;"> </span></p>
</div>
</body></html>