<div dir="ltr">


        
        
        
        


<p style="margin-bottom:0in;line-height:100%">Dear Christophe,
dear Patrick</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">First of all, huge
compliment on your software!</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">I am a student of
computer science trying to learn  FEM over the summer and quickly
came across gmsh, getdp, and onelab, which I find very intriguing.</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">Could you help me
with the following problem:</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">I am trying to model
a charged parallel plate capacitor in 3d, calculate the potential
field and then project the field along an axis onto a plane: Each
point on the plane should have the sum (integral) of the potential
field along the line of projection as a value.</p>
<p style="margin-bottom:0in;line-height:100%">My solution would be
to use For-loops to construct hundreds or thousands of lines through
my mesh in Gmsh and then calculate the line integrals in GetDP,
inside the Electrostatics template, for each single line something
like this:</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">{ Name polarisation;
Value { Integral { [ {v} ] ; In IntLine[i]; Jacobian Sur; Integration
Int; } } 
</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%"> However this takes
too long to compute and generally seems very ugly... surely there is
a more elegant way?</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">My geometry is the
following:</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">// Gmsh project
created on Fri Jul 14 14:02:04 2017</p>
<p style="margin-bottom:0in;line-height:100%">SetFactory("OpenCASCADE");</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Box(1) = {-5, -5,
-5, 10, 10, 10};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Box(2) = {-0.5,
-0.5, -1, 1, 0.1, 2};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Box(3) = {-0.5, 0.4,
-1, 1, 0.1, 2};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Surface Loop(4) =
{3, 2, 5, 1, 6, 4};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Surface Loop(5) =
{10, 11, 7, 9, 8, 12}; 
</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Surface Loop(6) =
{16, 17, 13, 15, 14, 18};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Volume(4) = {4, 5,
6};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Physical
Volume("vacuum") = {4};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Recursive Delete {</p>
<p style="margin-bottom:0in;line-height:100%">  Volume{1}; 
</p>
<p style="margin-bottom:0in;line-height:100%">}</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Recursive Delete {</p>
<p style="margin-bottom:0in;line-height:100%">  Volume{3}; 
</p>
<p style="margin-bottom:0in;line-height:100%">}</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Recursive Delete {</p>
<p style="margin-bottom:0in;line-height:100%">  Volume{2}; 
</p>
<p style="margin-bottom:0in;line-height:100%">}</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Physical
Surface("pos") = {7,8,9,10,11,12};</p>
<p style="margin-bottom:0in;line-height:100%">//+</p>
<p style="margin-bottom:0in;line-height:100%">Physical
Surface("neg") = {13,14,15,16,17,18};</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">/*</p>
<p style="margin-bottom:0in;line-height:100%">For k In {-5:5:0.1}</p>
<p style="margin-bottom:0in;line-height:100%">   For n In
{-5:5:0.1}</p>
<p style="margin-bottom:0in;line-height:100%">      p=newp;</p>
<p style="margin-bottom:0in;line-height:100%">     
Point(p)={k,n,-5,1};</p>
<p style="margin-bottom:0in;line-height:100%">      p=newp;</p>
<p style="margin-bottom:0in;line-height:100%">     
Point(p)={k,n,5,1};</p>
<p style="margin-bottom:0in;line-height:100%">   EndFor</p>
<p style="margin-bottom:0in;line-height:100%">EndFor</p>
<p style="margin-bottom:0in;line-height:100%">… 
</p>
<p style="margin-bottom:0in;line-height:100%">( Lines, Physical Lines etc.)</p>
<p style="margin-bottom:0in;line-height:100%">*/</p>
<p style="margin-bottom:0in;line-height:100%"><br>

</p>
<p style="margin-bottom:0in;line-height:100%">Best wishes,</p>
<p style="margin-bottom:0in;line-height:100%">Franz</p>

</div>