<div dir="ltr">I'm really feel unconfident to ask you one more time for help. This is the last study I need to do in the context of test of your very interessting software. I prepared a mirror symmetric geometry with the (0,y,z)-plane as the symmetry plane. Unfortunatelly, the results I recieve are really bad. I guess the problem is caused by the boundary conditions. For the symmetry plane there should be a "flux normal" while at all other boundaries there should be a "flux parallel" condition set. Is it possible to adept your solver for such problems? What changed are need to be done?<div>
<br></div><div>Many thanks in advance</div><div><br></div><div>Maximilian</div><div><br></div><div><div>/* #######################################################</div><div>####################### .GEO ########################</div>
<div>########################################################*/</div><div>lc = 0.01; // Mesh characteristic length</div><div>lc2 = 0.015;</div><div>lc3 = 0;</div><div>front3d = 1; // Set to 1 if Frontal 3D mesh algorithm is used</div>
<div>nn = (1./lc)/4.; // Mesh subdivisions per turn, used with Frontal 3D</div><div> </div><div>If(front3d == 1)</div><div>Mesh.Algorithm3D = 4; // Frontal 3D</div><div>EndIf</div><div> </div><div>DefineConstant</div><div>
[</div><div> layer =  {1, Min 1, Step 1, Label "Number of coil layers"},</div><div> l_d =  {0.001, Min 0.001, Step 0.001, Label "Layer distance"},</div><div> turns = {5, Label "Number of coil turns"},</div>
<div> d = {0.05, Label "Distance between the turns"},</div><div> r = {0.11, Label "Coil radius"},</div><div> rh = {0.01, Label "radial height"},</div><div> ah = {0.01, Label "axial height"},</div>
<div> hc = {turns*(ah+d)-d, Label "Coil height"},</div><div> ch = {0.06, Label "Channel height"},</div><div> dk = {0.1, Label "Distance Channel/Inducktor"}</div><div> lh = {2*r+dk, Min r, Step 0.01, Label "loop height"},</div>
<div> lb = {1, Label "Infinite box width"}</div><div> a =  {0.01, Step 0.01}</div><div> b =  {0.01, Step 0.01}</div><div>];</div><div>rk = hc/2+rh+r+dk;</div><div>Inductor = 20000;</div><div>Skin_Inductor = 20001;</div>
<div>Channel = 10000;</div><div>Skin_Channel = 10001;</div><div>Air = 30000;</div><div>Inf = 30001;</div><div>IN = 21000;</div><div>OUT =222000;</div><div><br></div><div><br></div><div>/* #####################################################</div>
<div>####################### inductor #######################</div><div>######################################################*/</div><div><br></div><div>vol_coil[] = {};</div><div><br></div><div>p = newp;</div><div>Point(p+1)={0, -r, -hc/2, lc};</div>
<div>Point(p+2)={rh, -r, -hc/2, lc};</div><div>Point(p+3)={0, -r+ah, -hc/2, lc};</div><div>Point(p+4)={rh, -r+ah, -hc/2,lc};</div><div><br></div><div>l = newl;</div><div>Line(l) = {p+1,p+2};</div><div>Line(l+1) = {p+3,p+4};</div>
<div>Line(l+2) = {p+1,p+3};</div><div>Line(l+3) = {p+2,p+4};</div><div>ll = newll;</div><div>Line Loop(ll) = {l,l+3,-(l+1),-(l+2)};</div><div><br></div><div>s = news;</div><div>Plane Surface(s) = {ll};</div><div>tmp[] = {s};</div>
<div><br></div><div>For j In {1:4*turns}</div><div>If(front3d == 1)</div><div>  tmp[] = Extrude { {hc/turns/4,0,0}, {1,0,0} , {0,0,0} , Pi/2}{ Surface {tmp[0]}; Layers {nn / 4}; };</div><div>  vol_coil[] += tmp[1];</div><div>
EndFor</div><div><br></div><div><br></div><div>pin = newp;</div><div>Point(pin)={0, -r, -hc/2+ah, lc};</div><div>Point(pin+1)={0, -r+ah, -hc/2+ah, lc};</div><div>c=newc;</div><div>Circle(c)={p+4,p+3,pin+1};</div><div>Circle(c+1)={p+2,p+1,pin};</div>
<div>lin=newl;</div><div>Line(lin)={pin,pin+1};</div><div>Line(lin+1)={p+3,pin+1};</div><div>Line(lin+2)={p+1,pin};</div><div><br></div><div>Line Loop(ll+1)={l+1,c,-(lin+1)};</div><div>Line Loop(ll+2)={l+3,c,-(lin),-(c+1)};</div>
<div>Line Loop(ll+3)={l,c+1,-(lin+2)};</div><div>Line Loop(ll+4)={l+2, lin+1,-(lin),-(lin+2)};</div><div><br></div><div>sin=news;</div><div>Plane Surface(sin)={ll+1};</div><div>Plane Surface(sin+1)={ll+2};</div><div>Plane Surface(sin+2)={ll+3};</div>
<div>Plane Surface(sin+3)={ll+4};</div><div><br></div><div>in = sin+3;</div><div><br></div><div>sl=newsl;</div><div>Surface Loop(sl)={s,sin,sin+1,sin+2,sin+3};</div><div>vin=newv;</div><div>Volume(vin) = {sl};</div><div>vol_coil[] += vin;</div>
<div><br></div><div>tmp[] = Extrude {0, 0, -lb/2+(hc/2)} { Surface{tmp[0]}; Layers{nn}; };</div><div>vol_coil[] += tmp[1];</div><div>out = tmp[0];</div><div><br></div><div><br></div><div>/* ###################################################</div>
<div>####################### channel ######################</div><div>####################################################*/</div><div><br></div><div>vol_channel[] = {};</div><div>pc=newp;</div><div><br></div><div>Point(pc)={0,r+dk,r+dk, lc2};</div>
<div>Point(pc+1)={0,-r-dk,r+dk, lc2};</div><div>Point(pc+2)={0,-r-dk,-r-dk, lc2};</div><div>Point(pc+3)={0,r+dk,-r-dk, lc2};</div><div><br></div><div>Point(pc+4)={0,r+dk+ch,r+dk+ch, lc2};</div><div>Point(pc+5)={0,-r-dk-ch,r+dk+ch, lc2};</div>
<div>Point(pc+6)={0,-r-dk-ch,-r-dk-ch, lc2};</div><div>Point(pc+7)={0,r+dk+ch,-r-dk-ch, lc2};</div><div><br></div><div><br></div><div><br></div><div><br></div><div>lc=newl;</div><div>Line(lc)={pc,pc+1};</div><div>Line(lc+1)={pc+1,pc+2};</div>
<div>Line(lc+2)={pc+2,pc+3};</div><div>Line(lc+3)={pc+3,pc};</div><div><br></div><div>Line(lc+4)={pc+4,pc+5};</div><div>Line(lc+5)={pc+5,pc+6};</div><div>Line(lc+6)={pc+6,pc+7};</div><div>Line(lc+7)={pc+7,pc+4};</div><div>
<br></div><div>llc=newll;</div><div><br></div><div>Line Loop(llc)={lc,lc+1,lc+2,lc+3};</div><div>Line Loop(llc+1)={lc+4,lc+5,lc+6,lc+7};</div><div>Line Loop(llc+2)=Boundary {Surface{in}; };</div><div>sc=news;</div><div>Plane Surface(sc)={llc, llc+1};</div>
<div>Plane Surface(sc+1)={llc,llc+2};</div><div>chin={sc};</div><div><br></div><div>tmp[] = Extrude {ch,0,0} {Surface{sc};};</div><div>vol_channel[] = tmp[1];</div><div>chout = tmp[0];</div><div><br></div><div><br></div><div>
<br></div><div>/* #################################################</div><div>######################## box #######################</div><div>##################################################*/</div><div><br></div><div><br>
</div><div>p = 1000000;</div><div>Point(p) = {0,-lb/2,-lb/2, lc3};</div><div>Point(p+1) = {0,lb/2,-lb/2, lc3};</div><div>Point(p+2) = {0,-lb/2,lb/2, lc3};</div><div>Point(p+3) = {0,lb/2,lb/2, lc3};</div><div><br></div><div>
Point(p+4) = {lb/2,-lb/2,-lb/2, lc3};</div><div>Point(p+5) = {lb/2,lb/2,-lb/2, lc3};</div><div>Point(p+6) = {lb/2,-lb/2,lb/2, lc3};</div><div>Point(p+7) = {lb/2,lb/2,lb/2, lc3};</div><div><br></div><div>l = 1000000;</div>
<div>Line(l) = {p,p+1};</div><div>Line(l+1) = {p+1,p+3};</div><div>Line(l+2) = {p+2,p+3};</div><div>Line(l+3) = {p+2,p};</div><div>Line(l+4) = {p+1,p+5};</div><div>Line(l+5) = {p+5,p+7};</div><div>Line(l+6) = {p+7,p+3};</div>
<div>Line(l+7) = {p+5,p+4};</div><div>Line(l+8) = {p+4, p};</div><div>Line(l+9) = {p+4, p+6};</div><div>Line(l+10) = {p+6, p+2};</div><div>Line(l+11) = {p+7, p+6};</div><div><br></div><div><br></div><div>ll = newll;</div>
<div>Line Loop(ll)={l,l+1,-(l+2),(l+3)};</div><div>Line Loop(ll+1)={l+4,l+5,l+6,-(l+1)};</div><div>Line Loop(ll+2)={l+4,l+7,l+8,l};</div><div>Line Loop(ll+3)={l+9,l+10,l+3,-(l+8)};</div><div>Line Loop(ll+4)={l+11,l+10,l+2,-(l+6)};</div>
<div>Line Loop(ll+5)={l+7,l+9,-(l+11),-(l+5)};</div><div><br></div><div>Line Loop(ll+7) = Boundary {Surface{out}; };</div><div><br></div><div><br></div><div>s=news;</div><div>Plane Surface(s) = {ll, llc+1};</div><div>Plane Surface(s+1)={ll+1};</div>
<div>Plane Surface(s+2)={ll+2, ll+7};</div><div>Plane Surface(s+3)={ll+3};</div><div>Plane Surface(s+4)={ll+4};</div><div>Plane Surface(s+5)={ll+5};</div><div><br></div><div><br></div><div>skin_coil[] = CombinedBoundary{ Volume{vol_coil[]}; };</div>
<div>skin_coil[] -= {out, in};</div><div>skin_channel[] = CombinedBoundary{ Volume{vol_channel[]}; };</div><div>skin_channel[] -= {chin};</div><div>sl=newsl;</div><div><br></div><div>Surface Loop(sl) = {s:s+5};</div><div>
Surface Loop(sl+1) =  {skin_channel[]};</div><div>Surface Loop(sl+2) = {sc+1}; </div><div>Surface Loop(sl+3) = {skin_coil[]};</div><div><br></div><div>v = newv;</div><div>Volume(v) = {sl, sl+1, sl+2, sl+3};</div><div><br>
</div><div><br></div><div><br></div><div>/* #####################################################</div><div>######################## regions #######################</div><div>######################################################*/</div>
<div><br></div><div>Physical Volume(Inductor) = {vol_coil[]};</div><div>Physical Volume(Channel) = {vol_channel[]};</div><div>Physical Volume(Air) = {v};</div><div><br></div><div>// Physical Surface(Inf) = {s:s+5, sc, sc+1};</div>
<div>Physical Surface(Inf) = {s+1:s+5};</div><div>Physical Surface(Skin_Inductor) = {skin_coil[]};</div><div>Physical Surface(Skin_Channel) = {skin_channel[]};</div><div>Physical Surface(IN) = in;</div><div>Physical Surface(OUT) = out;</div>
<div><br></div><div><br></div></div></div>