<div dir="ltr">Hi Michael.<div><br></div><div>Thanks so much. It works!</div><div><br></div><div>I stuck at this issue for about one month. </div><div><br></div><div>Regards,</div><div><br></div><div>Peter </div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Jul 27, 2015 at 9:32 AM,  <span dir="ltr"><<a href="mailto:michael.asam@infineon.com" target="_blank">michael.asam@infineon.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-GB" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hi Peter,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">the different result accuracy is due to the different polynomial order of the basis functions.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Let’s look at the lowest order basis functions:<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Form 1P represents a field which is pointing only in z-direction. This (E) field<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">is interpolated linearly between the nodes -> 1<sup>st</sup> order basis function.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">In contrast form 1 represents a field in the x-y plane for 2D-problems. The lowest order basis function<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">has a constant tangential vector component along each edge (order: 0) which is interpolated<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">linearly to the element interior (order: 1). Therefore it is usually said to be of “order 0.5”.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">To have the same polynomial order along each edge as in form 1P, you need a form 1 basis function<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">which is one order higher.<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">The same is true in your case. So just add one additional order to your form 1 function space (BF_Edge_3F):<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">FunctionSpace {<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    { Name eSpace ; Type Form1 ;<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      BasisFunction {<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { Name sn  ; NameOfCoef en  ; Function BF_Edge     ; Support TotAll ; Entity EdgesOf[All] ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { Name sn2 ; NameOfCoef en2 ; Function BF_Edge_2E  ; Support TotAll ; Entity EdgesOf[All] ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { Name sn3a; NameOfCoef en3a; Function BF_Edge_3F_a; Support TotAll ; Entity FacetsOf[All] ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { Name sn3b; NameOfCoef en3b; Function BF_Edge_3F_b; Support TotAll ; Entity FacetsOf[All] ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { Name sn3c; NameOfCoef en3c; Function BF_Edge_3F_c; Support TotAll ; Entity FacetsOf[All] ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      Constraint {<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { NameOfCoef en   ; EntityType EdgesOf  ; NameOfConstraint eConstraint ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { NameOfCoef en2  ; EntityType EdgesOf  ; NameOfConstraint eConstraint ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { NameOfCoef en3a ; EntityType FacetsOf ; NameOfConstraint eConstraint ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { NameOfCoef en3b ; EntityType FacetsOf ; NameOfConstraint eConstraint ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">        { NameOfCoef en3c ; EntityType FacetsOf ; NameOfConstraint eConstraint ; }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">    }<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">}<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Cheers,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Michael<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><b><span lang="DE" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="DE" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> getdp [mailto:<a href="mailto:getdp-bounces@ace20.montefiore.ulg.ac.be" target="_blank">getdp-bounces@ace20.montefiore.ulg.ac.be</a>]
<b>On Behalf Of </b>Ningfeng HUANG<br>
<b>Sent:</b> Friday, July 24, 2015 1:50 AM<br>
<b>To:</b> <a href="mailto:getdp@geuz.org" target="_blank">getdp@geuz.org</a><br>
<b>Subject:</b> [Getdp] Why does Form 1 converge much slower than Form 1P on this problem?<u></u><u></u></span></p><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Dear all,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Currently I am trying to solve a very simple 2D electromagnetic problem with GetDP, which is the transmission of plane wave through a dielectric slab. I attached the simulation configuration and the result as a PDF document with this mail.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">It is a slight modification from the waveguide example on OneLab website. A high index slab (n=3.5) with thickness T is inserted in the middle of the simulation region. The upper and lower boundaries are changed from PEC to periodic to
 represent the infinity slab structure. The mode on port 1 is changed to plane wave. I simulated this structure to get the transmission spectra (S21) in two different ways with different polarizations:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">1.s-polarization: the electric field is perpendicular to the 2D plane (Ez). The simulation is in Form 1P.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">2.p-polarization: the electric field is parallel to the 2D plane (Ey). The simulation is in Form 1.<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">In principle, these two approaches represent the same configuration, which is the infinitely extended slab with the normal incident light. However, Form 1P converges much better than the Form 1. The result is shown in the PDF document.
 The analytical result from transfer-matrix method is also shown for reference. For s-polarization and Form 1P, all curves with different resolutions are overlap with each other and match well with the analytical result even with only 3 grid points per wavelength.
 However, for p-polarization and Form 1, there is a systematic shift to the higher frequency (lower wavelength) when the resolution is reduced. Even with 7 grids per wavelength, there is a large discrepancy to the analytical result. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">I wonder why there is a huge difference between Form 1P and Form 1 and whether I can modify my code in Form 1 to have the similar accuracy as Form 1P. It would be nice that I have similar accuracy with Form 1. My final goal is to simulate
 3D structures (in Form 1P) and this shift is also observed in my 3D simulations. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Here is some thoughts from my intuition. The blue shift of the spectra can be caused by the effectively thinning of the high index material. I suspect that I missed defining the proper basis for the surface such that the grid at the interface
 is not considered as the high index material. The lower the resolution, the larger the surface grid, thus the thinner the effective slab thickness. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I attached my code for both Form 1 and Form 1P with this mail and matlab (octave) scripts to run the batch simulation and plot the result. I appreciate any kind of comments. I really want to know whether this is the bug in my (OneLab) code,
 or bug in GetDP or just fundamental limitation in the finite-element method.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Peter<u></u><u></u></p>
</div>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
</div></div></div>
</div>

</blockquote></div><br></div>