sr!com.femlab.server.ModelFileHeaderD%LtagstLcom/femlab/util/o;Ltypesq~LvrsntLcom/femlab/util/FlVersion;xpwsrcom.femlab.util.FlVersion%/B =IbuildImajorLdatetLjava/lang/String;Lextq~Lnameq~Lrcsq~L scriptNameq~xpwt COMSOL 3.2twt $Name: $t$Date: 2005/10/24 07:30:19 $xur[Ljava.lang.String;V{GxpBt modelinfotxfemtguitfem0tg69tg70tg66tg64tg68tg62tg67tg63tg65tfem14tfem14.0q~q~tfem16tfem16.0q~q~tg28tg22tg6tg19tg66tg25tg17tg67tg36tg15tg27tg16tg20tg23tg68tg24tg41tg26tg69tg30tg62tg32tg8tg40tg70tg21tg39tg63tg65tg3tg38tg64tg5tg35tg33tg7tg31tg4tg34tg18tg29tg1tg37t mfileinfot mfiletagsuq~ Bq~ t femstructt guistructq~Ltdrawq~Nq~Nq~Nq~Nq~Nq~Nq~Nq~Ntgeomtmeshtsolutiontxmeshq~Oq~Pq~Qq~Rtdrawq~Sq~Sq~Stdrawq~Sq~Sq~Tq~Sq~Sq~Sq~Sq~Sq~Sq~Tq~Sq~Sq~Sq~Tq~Sq~Tq~Sq~Sq~Sq~Tq~Sq~Sq~Tq~Tq~Sq~Sq~Tq~Sq~Sq~Sq~Sq~Sq~Sq~Sq~Sq~Stdrawq~Sq~Iq~Jxsrcom.femlab.api.client.ModelInfo^%Ldescrq~LdocURLq~[imaget[Bxpwur[BTxp6PNG  IHDRp IDATx mIZ׿Zv3mp$5t?ʓ$ nۍuPn2 9I%i&It>ހvP[F9EQAl򔲺9vP1jE_“BY;7~+dY7젬@F(i6HTY{nferg- xDh}FLBY/e'06 <;߯?eQR_k*s-_Jf~RfܹʭLĄϦt nA6xb1fES5V~fv};k2@htWJ{#L{D;4=~= _ nkAʃ5h۟޻//$1ߡW˖؏5ήí_.}Ds0$pIWhe/Ym@b́8)O:4GvQ'&!ݽp8!v U2yٻOKћ#ԧ ;J>ywm{^B>_`ݻWh%Хo+wmv5>ځp 19֌2"xSy9b9ro6CdGCCk?9U#Y-180SYP!9J:i;( 1 64O݃^'~,f#/8sWƷWt:uvW>܋-v$RiHtLs2?@V^EY.|kX@ydMvl-~d%3@V! UcEX 5WY?Weݧ<C9P^RDF{*}6+hۋkd#Þ+z‹1$}QJ^nKpix=ɵ;p!sk@!0urI{ _8_fQ(zLAٳP.a6Pߡ+1Leš])+i BD"59[*}Ce $GrIܹQLQB FoSHçJaxa>F|h>>#غ(;xO !O BF]xThBoFF/,D.Y(CEe(WƟҾjs4++(fiK#keg:(πKjg (lG*O)45fW+h%_b^{w`(LޅS>AF񙿕ܸ-ޤ'?P )* xyx<-$Z8xiǗПFKF= F[a-~J+B3I2}گ#ҟO/:(vOU@s^P>*ܾwE4/3/ߦ_ y#h^yc_1{#w{{9 pSFNa< T h@0/G}ΙDf6>p׫guSD&&U8Y`StJXقat\^Qm8^%1RƆP^{p/)o'?o^מfηb7$mϽp(KiıxtP)+*Ϥnb,U^*_(:LE2K%%Nsoُ[>fx:;CxemӦ䥼 n)%+J)~1s| 4$ݕ!`C3By z[e3RMf`J;r*Gl]_oxY'p aHfh♚(kڠ,tϊq:ByPi]vdw'I?QK5XȲ3Ve6ϧtJ9AZ`܅qtT 76Q e0T6qV e-{T1!Y񈥓Hh^>#.*#PE<ϔC x8jd .`/zds[YY_kV_6. gUX$r+mMd8ʷ<@Eѹ-ȁ Gޔ7`0p`$)za4VS1sM jTc.9RI$%eGL7h1t|LUpAf|(#y ®@&N*EA4N&-=#ܲhN`T7T]8;GH㑞%9.K-r7m87+)T:%Ns 1cG( IFB‰P"ب2 J hJ0fq;tEn L0ך1 ,/.#kgS<4>\Ci4'0eH˹K%Uߩ|o}v -ݨ>=п5'ch_m@2gJ朰V\Lא%9naRM;V3YD$C">Q٘N G Fqa4ZfƤb '_O c=;}?IH'\^rE &CI1fJ K $Fhq/ŚοWS8L5iUQʊIkK/Da-)eO+mt1IDs.<9?ҴC΂/tR,ī.ۋf6m}EݓQLFʜsQρ%@4)DStUAn 󦽹EG(҂&nܫR뢌:DS eP@9mR̵qBmN\2Xq!N|\[nQt:l11^4<Զ[W{?bG˞ٹS@~><+0fǶKwp i=k<߁+/gˡاJeoV%lZ~TL_HmY[B^q:eS,<7U݁(kT9g /4s5 y%[z3d4Cc!cvV=K<㍙qp3Fƈ6v<"*C o:lˢ>ϊBM77T#+({ѩu3DYh ߛ.RrʚΧ<̹3ߥc0,bA\֛s]s WsY izZzV"EsyDo j/T.sƆ-&{yEsIԌ9WpZ+.)]JlqK48M.B+f^a*HLg'Pɽ,Wy`޴Hs{1+ _HY2"4¥kਖ਼e`8-Ү%&dXZ(!1MΑLi*K,ֹ>Eҕz1W-OG:٠L2d^a'6~U2)-:kJ'ܰ1xÈ2wPb\VfJ(+VS/PեUFDsα-Yiٸ9:W9/9sΤbE Xާq !f4sVǻ"M BEXJJJcc:#Y}nEL W* t$Nl<7,)e4Rr-h%4 AR‘3uplKn̳ԣjQpY*6UMuaz}Flx]rGUb~LSg58M|(iKMޝR!wKun,`< C4VWy JgWw6jJ%}NLI^MVJRoXuRLQJX[7| EKt4(RZ]V8ET A\stdWJӪ/Y5oӱl~zDP$_(}]IDy9#ĹJ[&|}4nGR:MsJZ4+ytq uv \0!?J7xِpݲ0_m7!$c.$:k?GyǤڋoI-jW#ɓbo>ðvu_zx_Xo'%oG^ٸ&TӯRl-;&̌Dš 5iK89}];(ώAJ&|%< ts}zȮkwUUͬgKvjTTy2("+iHu~׮ztP=X Ym{򼈢{EI)ZxlUw BOmUHgZ1(z8 ]hR.:d.55<4b:v3goY}:b}FoOzo8!-E(:ͷ#+ol%iYJe/%Q?C=[&._JZkfܒYdQ8.Zq>>Iyl:}feY)98UtÙÛt1Ɵ%ğ[ bq%;7GǥVxYx4(X uJy8kQ@i{hSwnW䶑?uaFȟOC $g|X4<]cQ!iuP}QG}qEoKuJyJi>J+|ennՂ?EK!ԟt_^iD{;HlR%iMݢ)><&fWI)QW|g8%He6x!̃H W{2V/$oSjZ1n=ՆJ)j\MRB"БRrHII).IDAT1u|+^b/CiQɼ "1HMg3ʼ|oKSD),ɏ:K%Tz`3aN)EM)ƃO Ytd_f,HN)򕲎j`<%ʟJ6̽n4eBIz2ɽ}lYֳ_A: [)F 8n (SkZ-8k _D"7ϧEuJsΜJJ@IC<117Xrk]DkerE;WVeaE>Vȫ->ЛeTWpRIU42 mDUof̊*PV6A4z\4MƪyeaE Dzg,P t<9ePo%9h+7Fe%ҹM a;~s/(#]"ibѾ sZ?9m^EӵR"ޔ[oToVn:.Baɀ4lfHtb(*J3;}OvflSD!h[B)9-uRע¨Vk**ty3LR:u%(Mˀ"fh")}_ 䫤vYGFM-WU$,Zf4gP-DkʊLBӨcCH"|Prj ]uAB(s7 QRt3kGC"EߦZ9_rOO=12@lnϿ0 EN+Sߍ"_)jtP>v\Dt5ßM㒞q^zӯMzPӔ,J)ڕb~ ?ct =ǟA]3 ]ҦyV[P h]svn99KYLts*ёQ,J o{=}&=qQQc?R">FMʤi/h_/86(eλ\;)dB)햳ؗ<V<`G=DZ\!lP;# J4Ӆ"Fֵ4dJh^G@iB P|:s4(% uPISSMyΒX}΂ +YP zU3.0t8:(}L )ox~mNu ҃rj%o2DPDL@YXMUHoAϜT2o޹OdT(Ѓrxx3>'TJY@>l +U]v> t4A$L,biA, AR2]{1 M QrJ淦Ў^>m `rDASqtsAg⣙x#Bp4^[lvercSJ L7`i D\wyZ=ڹmr}yNIF2ʹv~nC^h<%%ry, ȤL֟vAE~ "SoJziX]/..\ W={xއ<<}Pn}qۡ>_뾋%9M[BilSo2ֱJ-Ge)sgzru\$Yz8)!ٳƥ#y? @_oT?_ #u#(f޴5WWmQkur]27tGN|:rZ4`IUk<* OIJ29o#/{3߶aCg._\k_"ʛ|V&00>m  JȹwO3|3tƮT”(͜#a2f=X$0Ή=ǗvDm-GK~^j HJ0-þ(ZmP>+lZj-QXDVm yeՌg#F|0eHt19ѭC2j-"4ygI< ,L~@}+Vm!%Vx "d΃eBdC.4TGd4$2Ib8&DD2)g^볆Ռ') +X08 P<ٌ ]HH^=:` iOHom~pa:K';~p) !j,ANH(A ?՗Wrv@x YgYp?#38mGC ŀ)(U+y ^BAD4D Q592{<(%bW ><u-3᫣p1;ʷ~ܸw۞#3 i$:!*_gE<;Pr98dc-ȶiͿ4\5"C3|/SV̷;p`|ľ#{lTo5/C[p3D/*˞7x)xS[og&#[p4c F{ނ(*?P"|3oRCr=EށE?nZc蝧 }D9{Z"?I Wܙ牢#ZGйm_5Y쯒 E29T \90*Ws$ .(D-2'Ԥ6awVʍ7|."ّ9y#+Sς.3$riLlw޲_VS(2]|ZDz$Gh{ngv6fD>F0zȟq(8e(9܂d<#Ô]>TQ9؇`?L@NW>p!GF 6%5wM'~X[)R/q~y-;y=97EqWJԮx x|??}Y-s*:χd,b l`Ɔya\B^H7waSܙY3=.X~ u"Edgvdޛ_64Gڄ8 j'\%1NAۉ\SpBlP=UL$% [*,zKO=ج?*{ `'/-DWSV-%oe6 A̚\x@ܪBO{3ܙ7/"n)6F}b Jz[W1ЮW>5p>B'7yaq/ܿCәc\K+q-Lļ@d_ĈIRZjhG ?X&L0` [yZ/|Z4R_C9փCE^m<^TE9zA8乇mM`\ t;:n M}+mRe+4e+3ٖZAv[+NlSC% $I8Ъʾ辬-e=Km^B͡!u/"@5E" (Ga6 '$)yzxӬb1vqj ~WJ`5eE:c:KZ2&WSi tc6- +5)Uؿp䓣,,~sp/@4}fW)@gEX-5Bݤ*%@«dCb_ YT}g!4kVbi5h[.ΞdW"~<*J t:a#23UPp_M=0@'Yy#j*SCuYGJvW"/S$oӛ+OR:#nzGR K s),}#fXSG)/lgsdydkrr' BI&MmxJ+'xQ"J&v:&O7e7l+'h>磗d]vf c+kE=VGyJi]G̛n׳8Bh M:ltOX2LxGQf^!|UtUOgbkXo zgjas0׷'+rK枲ɖ- OyA8 xm\ϼ\yH턽{u-|={;إIg̋5yM|,|;~4/о#ݚ:YS!R9#=&rm䝞,AF5eBm%To7;yk"SJj="m5؝HA>\eE"Nʜ>Xx:(0F/rtzOk$nvɛGj=DvP+߫;, N# Iy_bBH?:.x˻vGwt;:(;:(;;:(;:(;:(;.߷'nIENDB`ppxuq~ tKQclear xfem clear vrsn vrsn.name = 'COMSOL 3.2'; vrsn.ext = ''; vrsn.major = 0; vrsn.build = 224; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2005/10/24 07:30:19 $'; xfem.version = vrsn; xfem.id = 4; xfem.geomdata = 'geom'; xfem.eqvars = 'on'; xfem.cplbndeq = 'on'; xfem.cplbndsh = 'off'; xfem.geomvalid = 'on'; xfem.solvalid = 'on'; xfem.meshtime = 't'; clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.style = {{{'0'},{'0','0','255'}}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.name = {'tangential_H','normal_H','null'}; bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.style = {{{'0'},{'0','0','0'},{'solid'}},{{'0'},{'0','0','255'},{'dashed'}}, ... {{'0'},{'0','255','0'},{'dashdot'}}}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.style = {{{'0'},{'166','166','166'}},{{'0'},{'0','0','255'}},{{'0'},{'0', ... '255','0'}},{{'0'},{'0','255','255'}},{{'0'},{'255','0','255'}},{{'0'}, ... {'166','166','166'}},{{'0'},{'0','0','255'}},{{'0'},{'0','255','0'}},{{'0'}, ... {'0','255','255'}},{{'0'},{'255','0','255'}},{{'0'},{'166','166','166'}}}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; xfem.appl{1} = appl; xfem.geom = flbinary('fem14','geom','UWA_sloping_xband_res_c32_v5.mph'); xfem.mesh = flbinary('fem14.0','mesh','UWA_sloping_xband_res_c32_v5.mph'); xfem.sdim = {'x','y'}; xfem.frame = {'xy'}; xfem.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; xfem.gporder = 4; xfem.cporder = 2; xfem.sshape = 2; xfem.simplify = 'on'; xfem.border = 1; xfem.form = 'coefficient'; xfem.units = 'SI'; clear equ equ.shape = {[1;2;3],[1;2;3]}; equ.gporder = {{1;1;1},{1;1;1}}; equ.cporder = {{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0'},{'0';'0';'0'}}; equ.dinit = {{'0';'0';'0'},{'0';'0';'0'}}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+(test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'}}; equ.c = {{{'0'},{'0'},{'0'};{'0'},{'0'},{'0'};{'0'},{'0'},{'0'}},{{'0'}, ... {'0'},{'0'};{'0'},{'0'},{'0'};{'0'},{'0'},{'0'}}}; equ.a = {{'0','0','0';'0','0','0';'0','0','0'},{'0','0','0';'0','0','0'; ... '0','0','0'}}; equ.f = {{'0';'0';'0'},{'0';'0';'0'}}; equ.ea = {{'0','0','0';'0','0','0';'0','0','0'},{'0','0','0';'0','0','0'; ... '0','0','0'}}; equ.da = {{'0','0','0';'0','0','0';'0','0','0'},{'0','0','0';'0','0','0'; ... '0','0','0'}}; equ.al = {{{'0';'0'},{'0';'0'},{'0';'0'};{'0';'0'},{'0';'0'},{'0';'0'}; ... {'0';'0'},{'0';'0'},{'0';'0'}},{{'0';'0'},{'0';'0'},{'0';'0'};{'0';'0'}, ... {'0';'0'},{'0';'0'};{'0';'0'},{'0';'0'},{'0';'0'}}}; equ.be = {{{'0';'0'},{'0';'0'},{'0';'0'};{'0';'0'},{'0';'0'},{'0';'0'}; ... {'0';'0'},{'0';'0'},{'0';'0'}},{{'0';'0'},{'0';'0'},{'0';'0'};{'0';'0'}, ... {'0';'0'},{'0';'0'};{'0';'0'},{'0';'0'},{'0';'0'}}}; equ.ga = {{{'0';'0'};{'0';'0'};{'0';'0'}},{{'0';'0'};{'0';'0'};{'0';'0'}}}; equ.sshape = {[1],[1]}; equ.sshapedim = {{1;1;1},{1;1;1}}; equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {'absHradx_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(Hradx^2+Hrady^2)', ... 'sqrt(Hradx^2+Hrady^2)'}, ... 'abscu1x_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(cu1x^2+cu1y^2)', ... 'sqrt(cu1x^2+cu1y^2)'}, ... 'absHazix_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(Hazix^2+Haziy^2)', ... 'sqrt(Hazix^2+Haziy^2)'}, ... 'abscu2x_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(cu2x^2+cu2y^2)', ... 'sqrt(cu2x^2+cu2y^2)'}, ... 'absHaxix_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(Haxix^2+Haxiy^2)', ... 'sqrt(Haxix^2+Haxiy^2)'}, ... 'abscu3x_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(cu3x^2+cu3y^2)', ... 'sqrt(cu3x^2+cu3y^2)'}}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; equ.lock = [0,0,0,0,0,0,0,0,0]; equ.mlock = {[0,0,0,0,0,0,0,0,0]}; xfem.equ = equ; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'0';'0';'0'}}; bnd.q = {{'0','0','0';'0','0','0';'0','0','0'},{'0','0','0';'0','0','0'; ... '0','0','0'}}; bnd.h = {{'0','0','0';'0','0','0';'0','0','0'},{'0','0','0';'0','0','0'; ... '0','0','0'}}; bnd.g = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.r = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.shape = {[1;2;3],[1;2;3]}; bnd.sshape = {[1],[1]}; bnd.sshapedim = {{1;1;1},{1;1;1}}; bnd.gporder = {{1;1;1},{1;1;1}}; bnd.cporder = {{1;1;1},{1;1;1}}; bnd.init = {{'';'';''},{'';'';''}}; bnd.dinit = {{'';'';''},{'';'';''}}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; bnd.dim = {'Hrad','Hazi','Haxi'}; bnd.var = {'nx_Axisymmetric_Dielectric_Resonator_Simulator',{'nx','nx'}, ... 'ny_Axisymmetric_Dielectric_Resonator_Simulator',{'ny','ny'}}; bnd.expr = {}; bnd.lock = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; bnd.mlock = {[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}; xfem.bnd = bnd; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.shape = {[1;2;3]}; pnt.sshape = {[1]}; pnt.sshapedim = {{1;1;1}}; pnt.init = {{'';'';''}}; pnt.dinit = {{'';'';''}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; pnt.dim = {'Hrad','Hazi','Haxi'}; pnt.var = {}; pnt.expr = {}; pnt.lock = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]; pnt.mlock = {[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}; xfem.pnt = pnt; xfem.var = {}; xfem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/eperp', ... 'Eazi','Dazi/eperp', ... 'Eaxi','Daxi/epara', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; xfem.descr = descr; clear draw draw.p.objs = {}; draw.p.name = {}; draw.c.objs = {}; draw.c.name = {}; draw.s.objs = {flbinary('g69','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g70','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g66','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g64','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g68','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g62','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g67','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g63','draw','UWA_sloping_xband_res_c32_v5.mph'),flbinary('g65','draw','UWA_sloping_xband_res_c32_v5.mph')}; draw.s.name = {'v4','v5','v1','s3','v3','s1','v2','s2','s4'}; xfem.draw = draw; xfem.const = {'c','299792458','fc','4*pi^2/c^2','alpha','1','M','14','delta_e','0*1e-3','e1','9.8*(1+delta_e)','e2','1.0','e3','1.0','e4','1.0','e5','1.0','delta_eperp1','0*1e-3','eperp1','9.2725*(1+delta_eperp1)','delta_epara1','0*1e-3','epara1','11.3486*(1+delta_epara1)','eperp2','1.0','epara2','1.0','eperp3','1.0','epara3','1.0','eperp4','1.0','epara4','1.0','eperp5','1.0','epara5','1.0','e_293K_alumina','9.8','eperp_4K_sapph_UWA','9.2725','epara_4K_sapph_UWA','11.3486','eperp_293K_sapph','9.407','epara_293K_sapph','11.62','eperp_4K_sapph_NPL','9.2848','epara_4K_sapph_NPL','11.3660'}; clear fcns xfem.functions = {}; descr = xfem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator','alpha','penalty coefficient on Div H'}; xfem.descr = descr; xfem.sol = flbinary('xfem','solution','UWA_sloping_xband_res_c32_v5.mph'); xfem.xmcases = [0]; xfem.mcases = [0]; flbinary clear; xfem.rulingmode = 'Axisymmetric_Dielectric_Resonator_Simulator'; xfem.solform = 'weak'; uq~ tgui.solvemodel.toutcomp='off'; gui.solvemodel.currsolver='eig'; gui.solvemodel.solveroption=''; gui.solvemodel.postsolver='eig'; gui.solvemodel.ntol='1.0E-6'; gui.solvemodel.maxiter='25'; gui.solvemodel.manualdamp='off'; gui.solvemodel.hnlin='off'; gui.solvemodel.initstep='1.0'; gui.solvemodel.minstep='1.0E-4'; gui.solvemodel.rstep='10.0'; gui.solvemodel.atol='0.0010'; gui.solvemodel.rtol='0.01'; gui.solvemodel.tlist='0:0.1:1'; gui.solvemodel.tout='tlist'; gui.solvemodel.tsteps='free'; gui.solvemodel.manualreassem='off'; gui.solvemodel.emassconst='on'; gui.solvemodel.massconst='on'; gui.solvemodel.loadconst='on'; gui.solvemodel.constrconst='on'; gui.solvemodel.jacobianconst='on'; gui.solvemodel.constrjacobianconst='on'; gui.solvemodel.manualstep='off'; gui.solvemodel.initialstep='0.0010'; gui.solvemodel.maxorder='5'; gui.solvemodel.maxstep='1.0'; gui.solvemodel.masssingular='maybe'; gui.solvemodel.consistent='2'; gui.solvemodel.estrat='0'; gui.solvemodel.complex='off'; gui.solvemodel.neigs='3'; gui.solvemodel.shift='0'; gui.solvemodel.maxeigit='300'; gui.solvemodel.etol='0.0'; gui.solvemodel.krylovdim='0'; gui.solvemodel.pname=''; gui.solvemodel.plist=''; gui.solvemodel.porder='1'; gui.solvemodel.manualparam='off'; gui.solvemodel.pinitstep='0.0'; gui.solvemodel.pminstep='0.0'; gui.solvemodel.pmaxstep='0.0'; gui.solvemodel.outform='auto'; gui.solvemodel.symmetric='on'; gui.solvemodel.symmhermit='symmetric'; gui.solvemodel.method='eliminate'; gui.solvemodel.nullfun='auto'; gui.solvemodel.blocksize='5000'; gui.solvemodel.uscale='auto'; gui.solvemodel.manscale=''; gui.solvemodel.rowscale='on'; gui.solvemodel.conjugate='off'; gui.solvemodel.complexfun='off'; gui.solvemodel.solfile='off'; gui.solvemodel.adaptgeom='currgeom'; gui.solvemodel.maxt='10000000'; gui.solvemodel.rmethod='longest'; gui.solvemodel.resorder='0'; gui.solvemodel.l2scale='1'; gui.solvemodel.l2staborder='2'; gui.solvemodel.eigselect='1'; gui.solvemodel.tpfun='fltpft'; gui.solvemodel.ngen='2'; gui.solvemodel.tpmult='1.7'; gui.solvemodel.tpworst='0.5'; gui.solvemodel.tpfract='0.5'; gui.solvemodel.autosolver='on'; gui.solvemodel.solcomp='Hazi,Haxi,Hrad'; gui.solvemodel.outcomp='Hazi,Haxi,Hrad'; gui.solvemodel.inittype='init_expr_currsol_radio'; gui.solvemodel.initsolnum='Automatic'; gui.solvemodel.inittime='0'; gui.solvemodel.utype='u_init_radio'; gui.solvemodel.usolnum='Automatic'; gui.solvemodel.utime='0'; gui.solvemodel.scriptcommands=''; gui.solvemodel.usescript='off'; gui.solvemodel.autoscript='off'; gui.solvemodel.linsolvernode.currlinsolver='spooles'; gui.solvemodel.linsolvernode.type='linsolver'; gui.solvemodel.linsolvernode.droptol='0.0'; gui.solvemodel.linsolvernode.thresh='0.1'; gui.solvemodel.linsolvernode.umfalloc='0.7'; gui.solvemodel.linsolvernode.preorder='mmd'; gui.solvemodel.linsolvernode.iter='2'; gui.solvemodel.linsolvernode.itol='1.0E-6'; gui.solvemodel.linsolvernode.rhob='400.0'; gui.solvemodel.linsolvernode.maxlinit='10000'; gui.solvemodel.linsolvernode.itrestart='50'; gui.solvemodel.linsolvernode.seconditer='1'; gui.solvemodel.linsolvernode.relax='1.0'; gui.solvemodel.linsolvernode.amgauto='3'; gui.solvemodel.linsolvernode.mglevels='6'; gui.solvemodel.linsolvernode.mgcycle='v'; gui.solvemodel.linsolvernode.maxcoarsedof='5000'; gui.solvemodel.linsolvernode.oocmemory='128.0'; gui.solvemodel.linsolvernode.oocfilename=''; gui.solvemodel.linsolvernode.modified='off'; gui.solvemodel.linsolvernode.fillratio='2.0'; gui.solvemodel.linsolvernode.respectpattern='on'; gui.solvemodel.linsolvernode.droptype='droptol'; gui.solvemodel.linsolvernode.vankavars=''; gui.solvemodel.linsolvernode.vankasolv='gmres'; gui.solvemodel.linsolvernode.vankatol='0.02'; gui.solvemodel.linsolvernode.vankarestart='100'; gui.solvemodel.linsolvernode.vankarelax='0.8'; gui.solvemodel.linsolvernode.mgauto='shape'; gui.solvemodel.linsolvernode.rmethod='regular'; gui.solvemodel.linsolvernode.coarseassem='on'; gui.solvemodel.linsolvernode.meshscale='2'; gui.solvemodel.linsolvernode.mgautolevels='2'; gui.solvemodel.linsolvernode.mgkeep='off'; gui.solvemodel.linsolvernode.mggeom='Geom1'; gui.solvemodel.linsolvernode.mcase0='on'; gui.solvemodel.linsolvernode.mgassem0='on'; gui.registry.general_currentmodel='Geom1'; gui.registry.general_currmeshcase='0'; gui.registry.general_savedonserver='off'; gui.registry.general_savedchanges='off'; gui.registry.general_rulingmode=''; gui.registry.general_incompletemfilehistory='off'; gui.registry.saved_license='1012177'; gui.registry.saved_version='COMSOL 3.2.0.224'; gui.registry.info_modelname=''; gui.registry.info_author=''; gui.registry.info_company=''; gui.registry.info_department=''; gui.registry.info_reference=''; gui.registry.info_url=''; gui.registry.info_saveddate='1187647492003'; gui.registry.info_creationdate='1141412764044'; gui.registry.info_modelresult=''; gui.reportregistry.report_contents='title=1;toc=1;modelprop=1;const=1;geometry=1;model_Geom1=1;mesh=1;appmode_Axisymmetric_Dielectric_Resonator_Simulator=1;lib_material=1;lib_section=1;coord=1;odesettings=1;intcoup=1;extrcoup=1;projcoup=1;percond=1;idcond=1;functions=1;interp=1;solver=1;post=1;equations=1;variables=1;'; gui.reportregistry.report_outputformat='html'; gui.reportregistry.report_filename='D:\My Documents\Work\Time Programme\Time 2003-2006\E03T 15 A high-flux rubidium\Topics\Finite Element Simulator\AxSim UWA Sloping Cryo Sapphire Resonator\11th April 2006\UWA_Sloping_Xband_Res_ElecStr_mo1.html'; gui.reportregistry.report_autoopen='on'; gui.reportregistry.report_paperformat='a4'; gui.reportregistry.report_includedefaults='off'; gui.reportregistry.report_template='none'; gui.reportregistry.report_showemptysections='off'; gui.flmodel{1}.modelname='Geom1'; gui.flmodel{1}.currmode='post'; gui.flmodel{1}.currappl='0'; gui.flmodel{1}.axis.xmin='-0.012116274782927584'; gui.flmodel{1}.axis.xmax='0.05702997310541651'; gui.flmodel{1}.axis.ymin='-0.0024896500632166866'; gui.flmodel{1}.axis.ymax='0.05228265132755041'; gui.flmodel{1}.axis.zmin='-1.0'; gui.flmodel{1}.axis.zmax='1.0'; gui.flmodel{1}.axis.xspacing='0.0050'; gui.flmodel{1}.axis.yspacing='0.0050'; gui.flmodel{1}.axis.zspacing='0.0050'; gui.flmodel{1}.axis.extrax=''; gui.flmodel{1}.axis.extray=''; gui.flmodel{1}.axis.extraz=''; gui.flmodel{1}.camera.xmin='-0.3457312394417205'; gui.flmodel{1}.camera.xmax='0.3457312394417205'; gui.flmodel{1}.camera.ymin='-0.2738615069538355'; gui.flmodel{1}.camera.ymax='0.2738615069538355'; gui.flmodel{1}.camera.camposx='0.22456849161244463'; gui.flmodel{1}.camera.camposy='0.24896500632166862'; gui.flmodel{1}.camera.camposz='3.4573123944172046'; gui.flmodel{1}.camera.camtargetx='0.22456849161244463'; gui.flmodel{1}.camera.camtargety='0.24896500632166862'; gui.flmodel{1}.camera.camtargetz='0.0'; gui.flmodel{1}.camera.camupx='0.0'; gui.flmodel{1}.camera.camupy='1.0'; gui.flmodel{1}.camera.camupz='0.0'; gui.flmodel{1}.postcamera.xmin='-0.3357393470499441'; gui.flmodel{1}.postcamera.xmax='0.3357393470499441'; gui.flmodel{1}.postcamera.ymin='-0.2974238723509491'; gui.flmodel{1}.postcamera.ymax='0.2974238723509491'; gui.flmodel{1}.postcamera.camposx='0.2245684916124446'; gui.flmodel{1}.postcamera.camposy='0.24896500632166865'; gui.flmodel{1}.postcamera.camposz='3.3573934704994413'; gui.flmodel{1}.postcamera.camtargetx='0.2245684916124446'; gui.flmodel{1}.postcamera.camtargety='0.24896500632166865'; gui.flmodel{1}.postcamera.camtargetz='0.0'; gui.flmodel{1}.postcamera.camupx='0.0'; gui.flmodel{1}.postcamera.camupy='1.0'; gui.flmodel{1}.postcamera.camupz='0.0'; gui.flmodel{1}.lightmodel.headlight.type='point'; gui.flmodel{1}.lightmodel.headlight.name='headlight'; gui.flmodel{1}.lightmodel.headlight.enable='on'; gui.flmodel{1}.lightmodel.headlight.colorr='255'; gui.flmodel{1}.lightmodel.headlight.colorg='255'; gui.flmodel{1}.lightmodel.headlight.colorb='255'; gui.flmodel{1}.lightmodel.headlight.xpos='0.22456849'; gui.flmodel{1}.lightmodel.headlight.ypos='0.24896501'; gui.flmodel{1}.lightmodel.headlight.zpos='3.4573123'; gui.flmodel{1}.lightmodel.scenelight{1}.type='directional'; gui.flmodel{1}.lightmodel.scenelight{1}.name='light 1'; gui.flmodel{1}.lightmodel.scenelight{1}.enable='on'; gui.flmodel{1}.lightmodel.scenelight{1}.colorr='255'; gui.flmodel{1}.lightmodel.scenelight{1}.colorg='255'; gui.flmodel{1}.lightmodel.scenelight{1}.colorb='255'; gui.flmodel{1}.lightmodel.scenelight{1}.xdir='1.0'; gui.flmodel{1}.lightmodel.scenelight{1}.ydir='-1.0'; gui.flmodel{1}.lightmodel.scenelight{1}.zdir='1.0'; gui.flmodel{1}.lightmodel.scenelight{2}.type='directional'; gui.flmodel{1}.lightmodel.scenelight{2}.name='light 2'; gui.flmodel{1}.lightmodel.scenelight{2}.enable='on'; gui.flmodel{1}.lightmodel.scenelight{2}.colorr='255'; gui.flmodel{1}.lightmodel.scenelight{2}.colorg='255'; gui.flmodel{1}.lightmodel.scenelight{2}.colorb='255'; gui.flmodel{1}.lightmodel.scenelight{2}.xdir='-1.0'; gui.flmodel{1}.lightmodel.scenelight{2}.ydir='1.0'; gui.flmodel{1}.lightmodel.scenelight{2}.zdir='-1.0'; gui.flmodel{1}.lightmodel.scenelight{3}.type='directional'; gui.flmodel{1}.lightmodel.scenelight{3}.name='light 3'; gui.flmodel{1}.lightmodel.scenelight{3}.enable='on'; gui.flmodel{1}.lightmodel.scenelight{3}.colorr='255'; gui.flmodel{1}.lightmodel.scenelight{3}.colorg='255'; gui.flmodel{1}.lightmodel.scenelight{3}.colorb='255'; gui.flmodel{1}.lightmodel.scenelight{3}.xdir='-1.0'; gui.flmodel{1}.lightmodel.scenelight{3}.ydir='-1.0'; gui.flmodel{1}.lightmodel.scenelight{3}.zdir='1.0'; gui.flmodel{1}.lightmodel.scenelight{4}.type='directional'; gui.flmodel{1}.lightmodel.scenelight{4}.name='light 4'; gui.flmodel{1}.lightmodel.scenelight{4}.enable='on'; gui.flmodel{1}.lightmodel.scenelight{4}.colorr='255'; gui.flmodel{1}.lightmodel.scenelight{4}.colorg='255'; gui.flmodel{1}.lightmodel.scenelight{4}.colorb='255'; gui.flmodel{1}.lightmodel.scenelight{4}.xdir='1.0'; gui.flmodel{1}.lightmodel.scenelight{4}.ydir='-1.0'; gui.flmodel{1}.lightmodel.scenelight{4}.zdir='-1.0'; gui.flmodel{1}.registry.axis_visible='on'; gui.flmodel{1}.registry.axis_auto='on'; gui.flmodel{1}.registry.axis_autoy='on'; gui.flmodel{1}.registry.axis_autoz='on'; gui.flmodel{1}.registry.axis_box='off'; gui.flmodel{1}.registry.axis_equal='on'; gui.flmodel{1}.registry.axis_csys='on'; gui.flmodel{1}.registry.grid_visible='on'; gui.flmodel{1}.registry.grid_auto='on'; gui.flmodel{1}.registry.grid_autoz='on'; gui.flmodel{1}.registry.grid_labels='on'; gui.flmodel{1}.registry.labels_object='on'; gui.flmodel{1}.registry.labels_vertex='off'; gui.flmodel{1}.registry.labels_edge='off'; gui.flmodel{1}.registry.labels_face='off'; gui.flmodel{1}.registry.labels_subdomain='off'; gui.flmodel{1}.registry.symbols_vertexscale='1.0'; gui.flmodel{1}.registry.symbols_edgescale='1.0'; gui.flmodel{1}.registry.symbols_facescale='1.0'; gui.flmodel{1}.registry.select_draw2d='size'; gui.flmodel{1}.registry.select_adj='cycle'; gui.flmodel{1}.registry.light_headlight='off'; gui.flmodel{1}.registry.light_scenelight='off'; gui.flmodel{1}.registry.light_shininess='0.5'; gui.flmodel{1}.registry.camera_mouse='orbit'; gui.flmodel{1}.registry.camera_camconstr='none'; gui.flmodel{1}.registry.camera_mouseconstr='none'; gui.flmodel{1}.registry.camera_perspective='off'; gui.flmodel{1}.registry.camera_moveasbox='off'; gui.flmodel{1}.registry.draw_dialog='off'; gui.flmodel{1}.registry.draw_keepborders='on'; gui.flmodel{1}.registry.draw_keepedges='off'; gui.flmodel{1}.registry.draw_multi='off'; gui.flmodel{1}.registry.draw_snap2grid='on'; gui.flmodel{1}.registry.draw_snap2vtx='on'; gui.flmodel{1}.registry.draw_solid='on'; gui.flmodel{1}.registry.draw_workplane_coordsys='on'; gui.flmodel{1}.registry.draw_workplane_showgeom='on'; gui.flmodel{1}.registry.draw_projection='intersection'; gui.flmodel{1}.registry.transparency_value='1.0'; gui.flmodel{1}.registry.mesh_geomdetail='normal'; gui.flmodel{1}.registry.mesh_showquality='off'; gui.flmodel{1}.registry.post_cameraview='2'; gui.flmodel{1}.registry.graphics_scale='10.0'; gui.flmodel{1}.registry.render_bndarrow='on'; gui.flmodel{1}.registry.render_vertex='off'; gui.flmodel{1}.registry.render_edge='on'; gui.flmodel{1}.registry.render_face='off'; gui.flmodel{1}.registry.highlight_vertex='off'; gui.flmodel{1}.registry.highlight_edge='on'; gui.flmodel{1}.registry.highlight_face='on'; gui.flmodel{1}.meshparam.hmax=''; gui.flmodel{1}.meshparam.hmaxfact='1'; gui.flmodel{1}.meshparam.hgrad='1.3'; gui.flmodel{1}.meshparam.hcurve='0.3'; gui.flmodel{1}.meshparam.hcutoff='0.001'; gui.flmodel{1}.meshparam.hnarrow='1'; gui.flmodel{1}.meshparam.hpnt='10'; gui.flmodel{1}.meshparam.xscale='1.0'; gui.flmodel{1}.meshparam.yscale='1.0'; gui.flmodel{1}.meshparam.mlevel='sub'; gui.flmodel{1}.meshparam.mcase='0'; gui.flmodel{1}.meshparam.rmethod='regular'; gui.flmodel{1}.meshparam.hmaxvtx={'','','','','','','','','','','','','','','',''}; gui.flmodel{1}.meshparam.hgradvtx={'','','','','','','','','','','','','','','',''}; gui.flmodel{1}.meshparam.hgradedg={'','','','','','','','','','','','','','','','','','','','','','','',''}; gui.flmodel{1}.meshparam.hcurveedg={'','','','','','','','','','','','','','','','','','','','','','','',''}; gui.flmodel{1}.meshparam.hmaxedg={'','','','','','','','','','','','','','','','','','','','','','','',''}; gui.flmodel{1}.meshparam.hcutoffedg={'','','','','','','','','','','','','','','','','','','','','','','',''}; gui.flmodel{1}.meshparam.hgradsub={'','','','','','','','',''}; gui.flmodel{1}.meshparam.hmaxsub={'','','','','','','','',''}; gui.flmodel{1}.mapmeshparam.edgegroups={{'2','8','4','1'},{},{},{},{},{},{},{},{}}; gui.flmodel{1}.mapmeshparam.edgelem={1,'10',3,'25',5,'13',7,'7',14,'14',21,'17'}; gui.flmodel{1}.mapmeshparam.nedges='24'; gui.flmodel{1}.mapmeshparam.nelemtype=[1,1,1,1,1,1]; gui.flmodel{1}.postmodel.postplot.triplot='on'; gui.flmodel{1}.postmodel.postplot.tridata={'log(ElecMagSqrd+1e+0)'}; gui.flmodel{1}.postmodel.postplot.trirangeauto='on'; gui.flmodel{1}.postmodel.postplot.trirangemin='5.5921933750369135E-12'; gui.flmodel{1}.postmodel.postplot.trirangemax='13.099276680409837'; gui.flmodel{1}.postmodel.postplot.tricont='on'; gui.flmodel{1}.postmodel.postplot.triunit='1'; gui.flmodel{1}.postmodel.postplot.triheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.triheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.trimap='jet'; gui.flmodel{1}.postmodel.postplot.trimapdepth='1024'; gui.flmodel{1}.postmodel.postplot.tribar='on'; gui.flmodel{1}.postmodel.postplot.triusemap='on'; gui.flmodel{1}.postmodel.postplot.tricolor='255,0,0'; gui.flmodel{1}.postmodel.postplot.tricoloring='interp'; gui.flmodel{1}.postmodel.postplot.trifill='fill'; gui.flmodel{1}.postmodel.postplot.contplot='off'; gui.flmodel{1}.postmodel.postplot.contdata={'log10(Eazi*Eazi+1e-3)'}; gui.flmodel{1}.postmodel.postplot.contcont='on'; gui.flmodel{1}.postmodel.postplot.contunit='1'; gui.flmodel{1}.postmodel.postplot.contheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.contheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.contcolordata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.contcolorrangeauto='on'; gui.flmodel{1}.postmodel.postplot.contcolorrangemin=''; gui.flmodel{1}.postmodel.postplot.contcolorrangemax=''; gui.flmodel{1}.postmodel.postplot.contcolordatacheck='off'; gui.flmodel{1}.postmodel.postplot.contmap='cool'; gui.flmodel{1}.postmodel.postplot.contmapdepth='1024'; gui.flmodel{1}.postmodel.postplot.contbar='on'; gui.flmodel{1}.postmodel.postplot.contusemap='off'; gui.flmodel{1}.postmodel.postplot.contcolor='255,255,255'; gui.flmodel{1}.postmodel.postplot.contlevels='8'; gui.flmodel{1}.postmodel.postplot.contvectorlevels=''; gui.flmodel{1}.postmodel.postplot.contisvector='off'; gui.flmodel{1}.postmodel.postplot.linplot='off'; gui.flmodel{1}.postmodel.postplot.lindata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.linrangeauto='on'; gui.flmodel{1}.postmodel.postplot.linrangemin='-0.7800750712289763'; gui.flmodel{1}.postmodel.postplot.linrangemax='0.7797135542749551'; gui.flmodel{1}.postmodel.postplot.lincont='on'; gui.flmodel{1}.postmodel.postplot.linheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.linheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.linmap='jet'; gui.flmodel{1}.postmodel.postplot.linmapdepth='1024'; gui.flmodel{1}.postmodel.postplot.linbar='on'; gui.flmodel{1}.postmodel.postplot.linusemap='on'; gui.flmodel{1}.postmodel.postplot.lincolor='255,0,0'; gui.flmodel{1}.postmodel.postplot.lincoloring='interp'; gui.flmodel{1}.postmodel.postplot.arrowplot='on'; gui.flmodel{1}.postmodel.postplot.arrowploton='sub'; gui.flmodel{1}.postmodel.postplot.arrowdata={'Erad','Eaxi'}; gui.flmodel{1}.postmodel.postplot.arrowbnddata={'Hrad','Hazi'}; gui.flmodel{1}.postmodel.postplot.arrowheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.arrowheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.arrowxspacing='6'; gui.flmodel{1}.postmodel.postplot.arrowxvectorspacing=''; gui.flmodel{1}.postmodel.postplot.arrowxisvector='off'; gui.flmodel{1}.postmodel.postplot.arrowyspacing='14'; gui.flmodel{1}.postmodel.postplot.arrowyvectorspacing=''; gui.flmodel{1}.postmodel.postplot.arrowyisvector='off'; gui.flmodel{1}.postmodel.postplot.arrowtype='arrow'; gui.flmodel{1}.postmodel.postplot.arrowlength='proportional'; gui.flmodel{1}.postmodel.postplot.arrowcolor='255,255,255'; gui.flmodel{1}.postmodel.postplot.arrowautoscale='off'; gui.flmodel{1}.postmodel.postplot.arrowscale='1.3'; gui.flmodel{1}.postmodel.postplot.princplot='off'; gui.flmodel{1}.postmodel.postplot.princdata={'','','','','','','','','','','',''}; gui.flmodel{1}.postmodel.postplot.princheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.princheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.princxspacing='8'; gui.flmodel{1}.postmodel.postplot.princxvectorspacing=''; gui.flmodel{1}.postmodel.postplot.princxisvector='off'; gui.flmodel{1}.postmodel.postplot.princyspacing='8'; gui.flmodel{1}.postmodel.postplot.princyvectorspacing=''; gui.flmodel{1}.postmodel.postplot.princyisvector='off'; gui.flmodel{1}.postmodel.postplot.princtype='arrow'; gui.flmodel{1}.postmodel.postplot.princlength='proportional'; gui.flmodel{1}.postmodel.postplot.princcolor='0,153,0'; gui.flmodel{1}.postmodel.postplot.princautoscale='on'; gui.flmodel{1}.postmodel.postplot.princscale='1'; gui.flmodel{1}.postmodel.postplot.flowplot='off'; gui.flmodel{1}.postmodel.postplot.flowplotas='lines'; gui.flmodel{1}.postmodel.postplot.flowdata={'Hrad','Hazi'}; gui.flmodel{1}.postmodel.postplot.flowtstartauto='on'; gui.flmodel{1}.postmodel.postplot.flowtstart=''; gui.flmodel{1}.postmodel.postplot.flowlines='20'; gui.flmodel{1}.postmodel.postplot.flowstart='sub'; gui.flmodel{1}.postmodel.postplot.flowstartx=''; gui.flmodel{1}.postmodel.postplot.flowstarty=''; gui.flmodel{1}.postmodel.postplot.flowisstartvector='off'; gui.flmodel{1}.postmodel.postplot.flowuseexpression='off'; gui.flmodel{1}.postmodel.postplot.flowcolor='255,0,0'; gui.flmodel{1}.postmodel.postplot.flowcolordata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.flowmap='jet'; gui.flmodel{1}.postmodel.postplot.flowmapdepth='1024'; gui.flmodel{1}.postmodel.postplot.flowbar='on'; gui.flmodel{1}.postmodel.postplot.flowpointcolor='255,0,0'; gui.flmodel{1}.postmodel.postplot.flowpointautoscale='on'; gui.flmodel{1}.postmodel.postplot.flowpointscale='1'; gui.flmodel{1}.postmodel.postplot.flowdroptype='once'; gui.flmodel{1}.postmodel.postplot.flowdroptimes=''; gui.flmodel{1}.postmodel.postplot.flowdropfreq=''; gui.flmodel{1}.postmodel.postplot.flowbnd='stick'; gui.flmodel{1}.postmodel.postplot.flowheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.flowheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.poststreamoldcode='on'; gui.flmodel{1}.postmodel.postplot.flowtol='0.01'; gui.flmodel{1}.postmodel.postplot.flowstattol='0.01'; gui.flmodel{1}.postmodel.postplot.flowmaxtime='Inf'; gui.flmodel{1}.postmodel.postplot.flowmaxsteps='400'; gui.flmodel{1}.postmodel.postplot.flowback='on'; gui.flmodel{1}.postmodel.postplot.flownormal='off'; gui.flmodel{1}.postmodel.postplot.partplot='off'; gui.flmodel{1}.postmodel.postplot.partplotas='lines'; gui.flmodel{1}.postmodel.postplot.predefforces=''; gui.flmodel{1}.postmodel.postplot.partmass='1'; gui.flmodel{1}.postmodel.postplot.partforce={'','',''}; gui.flmodel{1}.postmodel.postplot.parttstartauto='on'; gui.flmodel{1}.postmodel.postplot.parttstart=''; gui.flmodel{1}.postmodel.postplot.partvelstart={'0','0','0'}; gui.flmodel{1}.postmodel.postplot.explicitcoord={'0','0'}; gui.flmodel{1}.postmodel.postplot.partuseexpression='off'; gui.flmodel{1}.postmodel.postplot.partcolor='255,0,0'; gui.flmodel{1}.postmodel.postplot.partcolordata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.partmap='jet'; gui.flmodel{1}.postmodel.postplot.partmapdepth='1024'; gui.flmodel{1}.postmodel.postplot.partbar='on'; gui.flmodel{1}.postmodel.postplot.partpointcolor='255,0,0'; gui.flmodel{1}.postmodel.postplot.partpointautoscale='on'; gui.flmodel{1}.postmodel.postplot.partpointscale='1'; gui.flmodel{1}.postmodel.postplot.partdroptype='once'; gui.flmodel{1}.postmodel.postplot.partdroptimes=''; gui.flmodel{1}.postmodel.postplot.partdropfreq=''; gui.flmodel{1}.postmodel.postplot.partbnd='stick'; gui.flmodel{1}.postmodel.postplot.partheightdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.partheightdatacheck='off'; gui.flmodel{1}.postmodel.postplot.partrtol='0.001'; gui.flmodel{1}.postmodel.postplot.partatolmanual='off'; gui.flmodel{1}.postmodel.postplot.partatol={'',''}; gui.flmodel{1}.postmodel.postplot.partstepsizemanual='off'; gui.flmodel{1}.postmodel.postplot.parttendauto='on'; gui.flmodel{1}.postmodel.postplot.partmaxstepsauto='on'; gui.flmodel{1}.postmodel.postplot.partedgetol='0.001'; gui.flmodel{1}.postmodel.postplot.partvelvar={'partu','partv','partw'}; gui.flmodel{1}.postmodel.postplot.parttvar='partt'; gui.flmodel{1}.postmodel.postplot.partstatic='off'; gui.flmodel{1}.postmodel.postplot.partres='5'; gui.flmodel{1}.postmodel.postplot.maxminplot='off'; gui.flmodel{1}.postmodel.postplot.maxminsubdata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.maxminsubdatacheck='on'; gui.flmodel{1}.postmodel.postplot.maxminbnddata={'Hrad'}; gui.flmodel{1}.postmodel.postplot.maxminbnddatacheck='off'; gui.flmodel{1}.postmodel.postplot.geom='on'; gui.flmodel{1}.postmodel.postplot.roughplot='off'; gui.flmodel{1}.postmodel.postplot.autorefine='on'; gui.flmodel{1}.postmodel.postplot.refine='3'; gui.flmodel{1}.postmodel.postplot.geomnum={'Geom1'}; gui.flmodel{1}.postmodel.postplot.phase='0'; gui.flmodel{1}.postmodel.postplot.solnum='0'; gui.flmodel{1}.postmodel.postplot.selectvia='stored'; gui.flmodel{1}.postmodel.postplot.autotitle='on'; gui.flmodel{1}.postmodel.postplot.customtitle=''; gui.flmodel{1}.postmodel.postplot.smoothinternal='on'; gui.flmodel{1}.postmodel.postplot.useellogic='off'; gui.flmodel{1}.postmodel.postplot.ellogic=''; gui.flmodel{1}.postmodel.postplot.ellogictype='all'; gui.flmodel{1}.postmodel.postplot.deformplot='off'; gui.flmodel{1}.postmodel.postplot.deformsub='on'; gui.flmodel{1}.postmodel.postplot.deformbnd='on'; gui.flmodel{1}.postmodel.postplot.deformsubdata={'Hrad','Hazi'}; gui.flmodel{1}.postmodel.postplot.deformbnddata={'Hrad','Hazi'}; gui.flmodel{1}.postmodel.postplot.deformautoscale='on'; gui.flmodel{1}.postmodel.postplot.deformscale='0.002997'; gui.flmodel{1}.postmodel.postplot.animate_solnum='0'; gui.flmodel{1}.postmodel.postplot.animate_selectvia='stored'; gui.flmodel{1}.postmodel.postplot.filetype='AVI'; gui.flmodel{1}.postmodel.postplot.width='640'; gui.flmodel{1}.postmodel.postplot.height='480'; gui.flmodel{1}.postmodel.postplot.fps='10'; gui.flmodel{1}.postmodel.postplot.statfunctype='full'; gui.flmodel{1}.postmodel.postplot.statnframes='11'; gui.flmodel{1}.postmodel.postplot.reverse='off'; gui.flmodel{1}.postmodel.postplot.movieinmatlab='off'; gui.flmodel{1}.postmodel.postplot.copyaxis='off'; gui.flmodel{1}.postmodel.intdata{1}.intdata={'Hrad'}; gui.flmodel{1}.postmodel.intdata{1}.phase='0'; gui.flmodel{1}.postmodel.intdata{1}.solnum='0'; gui.flmodel{1}.postmodel.intdata{1}.selectvia='stored'; gui.flmodel{1}.postmodel.intdata{2}.order='4'; gui.flmodel{1}.postmodel.intdata{2}.autoorder='on'; gui.flmodel{1}.postmodel.intdata{2}.multiplyexpr='off'; gui.flmodel{1}.postmodel.intdata{2}.intdata={'2*pi*x*(Hazi^2*(nx^2+ny^2)+(Haxi*nx-Hrad*ny)^2)'}; gui.flmodel{1}.postmodel.intdata{2}.phase='0'; gui.flmodel{1}.postmodel.intdata{2}.solnum='0'; gui.flmodel{1}.postmodel.intdata{2}.selectvia='stored'; gui.flmodel{1}.postmodel.intdata{3}.order='4'; gui.flmodel{1}.postmodel.intdata{3}.autoorder='on'; gui.flmodel{1}.postmodel.intdata{3}.multiplyexpr='off'; gui.flmodel{1}.postmodel.intdata{3}.intdata={'2*pi*x*MagEnDens'}; gui.flmodel{1}.postmodel.intdata{3}.phase='0'; gui.flmodel{1}.postmodel.intdata{3}.solnum='0'; gui.flmodel{1}.postmodel.intdata{3}.selectvia='stored'; gui.flmodel{1}.postmodel.domainplot.colordata={'Hrad'}; gui.flmodel{1}.postmodel.domainplot.colorrangeauto='on'; gui.flmodel{1}.postmodel.domainplot.colorrangemin=''; gui.flmodel{1}.postmodel.domainplot.colorrangemax=''; gui.flmodel{1}.postmodel.domainplot.colorcont='on'; gui.flmodel{1}.postmodel.domainplot.surfacesurfacemap='jet'; gui.flmodel{1}.postmodel.domainplot.surfacesurfacemapdepth='1024'; gui.flmodel{1}.postmodel.domainplot.surfacesurfacebar='on'; gui.flmodel{1}.postmodel.domainplot.surfacesurfaceusemap='on'; gui.flmodel{1}.postmodel.domainplot.surfacesurfacecolor='255,0,0'; gui.flmodel{1}.postmodel.domainplot.surfacesurfacecoloring='interp'; gui.flmodel{1}.postmodel.domainplot.surfacesurfacefill='fill'; gui.flmodel{1}.postmodel.domainplot.extrusion='off'; gui.flmodel{1}.postmodel.domainplot.lineyaxisdata={'Hrad'}; gui.flmodel{1}.postmodel.domainplot.lineyaxiscont='on'; gui.flmodel{1}.postmodel.domainplot.linexaxisxaxistype='arc'; gui.flmodel{1}.postmodel.domainplot.linexaxisuseexpr='off'; gui.flmodel{1}.postmodel.domainplot.linexaxisdata={'Hrad'}; gui.flmodel{1}.postmodel.domainplot.linelinestyle='solid'; gui.flmodel{1}.postmodel.domainplot.linelinecolor='cyclecolor'; gui.flmodel{1}.postmodel.domainplot.linelinemarker='none'; gui.flmodel{1}.postmodel.domainplot.linelegend='off'; gui.flmodel{1}.postmodel.domainplot.linecolor='255,0,0'; gui.flmodel{1}.postmodel.domainplot.linesurfacemap='jet'; gui.flmodel{1}.postmodel.domainplot.linesurfacemapdepth='1024'; gui.flmodel{1}.postmodel.domainplot.linesurfacebar='on'; gui.flmodel{1}.postmodel.domainplot.linesurfaceusemap='on'; gui.flmodel{1}.postmodel.domainplot.linesurfacecolor='255,0,0'; gui.flmodel{1}.postmodel.domainplot.linesurfacecoloring='interp'; gui.flmodel{1}.postmodel.domainplot.linesurfacefill='fill'; gui.flmodel{1}.postmodel.domainplot.pointyaxisdata={'Hrad'}; gui.flmodel{1}.postmodel.domainplot.pointxxaxistype=''; gui.flmodel{1}.postmodel.domainplot.pointxuseexpr='off'; gui.flmodel{1}.postmodel.domainplot.pointxdata={'Hrad'}; gui.flmodel{1}.postmodel.domainplot.pointlinestyle='solid'; gui.flmodel{1}.postmodel.domainplot.pointlinecolor='cyclecolor'; gui.flmodel{1}.postmodel.domainplot.pointlinemarker='none'; gui.flmodel{1}.postmodel.domainplot.pointlegend='off'; gui.flmodel{1}.postmodel.domainplot.pointcolor='255,0,0'; gui.flmodel{1}.postmodel.domainplot.crossdispcolor='255,0,0'; gui.flmodel{1}.postmodel.domainplot.phase='0'; gui.flmodel{1}.postmodel.domainplot.solnum='0'; gui.flmodel{1}.postmodel.domainplot.selectvia='stored'; gui.flmodel{1}.postmodel.domainplot.autotitle='on'; gui.flmodel{1}.postmodel.domainplot.customtitle=''; gui.flmodel{1}.postmodel.domainplot.autolabelx='on'; gui.flmodel{1}.postmodel.domainplot.customlabelx=''; gui.flmodel{1}.postmodel.domainplot.autolabely='on'; gui.flmodel{1}.postmodel.domainplot.customlabely=''; gui.flmodel{1}.postmodel.domainplot.axistype={'lin','lin'}; gui.flmodel{1}.postmodel.domainplot.smoothinternal='on'; gui.flmodel{1}.postmodel.domainplot.autorefine='on'; gui.flmodel{1}.postmodel.domainplot.refine='3'; gui.flmodel{1}.postmodel.domainplot.plottypeind='0'; gui.flmodel{1}.postmodel.crossplot.extrusion='off'; gui.flmodel{1}.postmodel.crossplot.lineyaxisdata={'Hrad'}; gui.flmodel{1}.postmodel.crossplot.linexaxisxaxistype='arc'; gui.flmodel{1}.postmodel.crossplot.linexaxisuseexpr='off'; gui.flmodel{1}.postmodel.crossplot.linexaxisdata={'Hrad'}; gui.flmodel{1}.postmodel.crossplot.linelinestyle='solid'; gui.flmodel{1}.postmodel.crossplot.linelinecolor='cyclecolor'; gui.flmodel{1}.postmodel.crossplot.linelinemarker='none'; gui.flmodel{1}.postmodel.crossplot.linelegend='off'; gui.flmodel{1}.postmodel.crossplot.linecolor='255,0,0'; gui.flmodel{1}.postmodel.crossplot.linesurfacemap='jet'; gui.flmodel{1}.postmodel.crossplot.linesurfacemapdepth='1024'; gui.flmodel{1}.postmodel.crossplot.linesurfacebar='on'; gui.flmodel{1}.postmodel.crossplot.linesurfaceusemap='on'; gui.flmodel{1}.postmodel.crossplot.linesurfacecolor='255,0,0'; gui.flmodel{1}.postmodel.crossplot.linesurfacecoloring='interp'; gui.flmodel{1}.postmodel.crossplot.linesurfacefill='fill'; gui.flmodel{1}.postmodel.crossplot.lineresolution='200'; gui.flmodel{1}.postmodel.crossplot.linecoord={'0','1','0','0'}; gui.flmodel{1}.postmodel.crossplot.linelevels='5'; gui.flmodel{1}.postmodel.crossplot.linevectorlevels=''; gui.flmodel{1}.postmodel.crossplot.lineisvector='off'; gui.flmodel{1}.postmodel.crossplot.lineactive='off'; gui.flmodel{1}.postmodel.crossplot.pointyaxisdata={'Hrad'}; gui.flmodel{1}.postmodel.crossplot.pointxxaxistype=''; gui.flmodel{1}.postmodel.crossplot.pointxuseexpr='off'; gui.flmodel{1}.postmodel.crossplot.pointxdata={'Hrad'}; gui.flmodel{1}.postmodel.crossplot.pointlinestyle='solid'; gui.flmodel{1}.postmodel.crossplot.pointlinecolor='cyclecolor'; gui.flmodel{1}.postmodel.crossplot.pointlinemarker='none'; gui.flmodel{1}.postmodel.crossplot.pointlegend='off'; gui.flmodel{1}.postmodel.crossplot.pointcolor='255,0,0'; gui.flmodel{1}.postmodel.crossplot.pointcoord={'0','0'}; gui.flmodel{1}.postmodel.crossplot.crossdispcolor='255,0,0'; gui.flmodel{1}.postmodel.crossplot.phase='0'; gui.flmodel{1}.postmodel.crossplot.solnum='0'; gui.flmodel{1}.postmodel.crossplot.selectvia='stored'; gui.flmodel{1}.postmodel.crossplot.autotitle='on'; gui.flmodel{1}.postmodel.crossplot.customtitle=''; gui.flmodel{1}.postmodel.crossplot.autolabelx='on'; gui.flmodel{1}.postmodel.crossplot.customlabelx=''; gui.flmodel{1}.postmodel.crossplot.autolabely='on'; gui.flmodel{1}.postmodel.crossplot.customlabely=''; gui.flmodel{1}.postmodel.crossplot.axistype={'lin','lin'}; gui.flmodel{1}.postmodel.crossplot.plottypeind='0'; gui.flmodel{1}.postmodel.dataexport.pntdata={'Hrad'}; gui.flmodel{1}.postmodel.dataexport.pntlocation='element'; gui.flmodel{1}.postmodel.dataexport.pntlagorder='2'; gui.flmodel{1}.postmodel.dataexport.bnddata={'Hrad'}; gui.flmodel{1}.postmodel.dataexport.bndcont='on'; gui.flmodel{1}.postmodel.dataexport.bndlocation='element'; gui.flmodel{1}.postmodel.dataexport.bndlagorder='2'; gui.flmodel{1}.postmodel.dataexport.subdata={'Hrad'}; gui.flmodel{1}.postmodel.dataexport.subcont='on'; gui.flmodel{1}.postmodel.dataexport.subxspacing='10'; gui.flmodel{1}.postmodel.dataexport.subxvectorspacing=''; gui.flmodel{1}.postmodel.dataexport.subxisvector='off'; gui.flmodel{1}.postmodel.dataexport.subyspacing='10'; gui.flmodel{1}.postmodel.dataexport.subyvectorspacing=''; gui.flmodel{1}.postmodel.dataexport.subyisvector='off'; gui.flmodel{1}.postmodel.dataexport.sublocation='element'; gui.flmodel{1}.postmodel.dataexport.sublagorder='2'; gui.flmodel{1}.postmodel.dataexport.phase='0'; gui.flmodel{1}.postmodel.dataexport.solnum='0'; gui.flmodel{1}.postmodel.dataexport.selectvia='stored'; gui.flmodel{1}.postmodel.dataexport.exportformat='ptd'; gui.flmodel{1}.postmodel.dataexport.exportedim='2'; gui.flmodel{1}.postmodel.dataexport.struct='off'; gui.flmodel{1}.postmodel.datadisplay.pntdata={'Hrad'}; gui.flmodel{1}.postmodel.datadisplay.pntlocation='element'; gui.flmodel{1}.postmodel.datadisplay.pntlagorder='2'; gui.flmodel{1}.postmodel.datadisplay.bnddata={'Hrad'}; gui.flmodel{1}.postmodel.datadisplay.bndcont='on'; gui.flmodel{1}.postmodel.datadisplay.bndlocation='element'; gui.flmodel{1}.postmodel.datadisplay.bndlagorder='2'; gui.flmodel{1}.postmodel.datadisplay.subdata={'Hrad'}; gui.flmodel{1}.postmodel.datadisplay.subcont='on'; gui.flmodel{1}.postmodel.datadisplay.subxspacing='10'; gui.flmodel{1}.postmodel.datadisplay.subxvectorspacing=''; gui.flmodel{1}.postmodel.datadisplay.subxisvector='off'; gui.flmodel{1}.postmodel.datadisplay.subyspacing='10'; gui.flmodel{1}.postmodel.datadisplay.subyvectorspacing=''; gui.flmodel{1}.postmodel.datadisplay.subyisvector='off'; gui.flmodel{1}.postmodel.datadisplay.sublocation='element'; gui.flmodel{1}.postmodel.datadisplay.sublagorder='2'; gui.flmodel{1}.postmodel.datadisplay.phase='0'; gui.flmodel{1}.postmodel.datadisplay.solnum='0'; gui.flmodel{1}.postmodel.datadisplay.selectvia='stored'; gui.flmodel{1}.postmodel.datadisplay.exportformat='ptd'; gui.flmodel{1}.postmodel.datadisplay.exportedim='2'; gui.flmodel{1}.postmodel.datadisplay.struct='off'; gui.flmodel{1}.postmodel.datadisplay.fullprecision='off'; gui.flmodel{1}.postmodel.datadisplay.interpdata={'Hrad'}; gui.flmodel{1}.postmodel.datadisplay.coord={'0','0'}; gui.flmodel{1}.geommodel.suppressed{1}=[]; gui.flmodel{1}.geommodel.suppressed{2}=[]; gui.flmodel{1}.geommodel.suppressed{3}=[]; gui.flmodel{1}.workplane.type='0'; gui.flmodel{1}.workplane.wrkpln='0,1,0,0,0,1,0,0,0'; gui.flmodel{1}.workplane.localsys='0,1,0,0,0,0,1,0,0,0,0,1'; gui.flmodel{1}.workplane.model2d='Geom1'; gui.flmodel{1}.workplane.quicktype='10'; gui.flmodel{1}.workplane.parameter='0'; gui.flmodel{1}.workplane.zdir='up'; gui.flmodel{1}.meshmodel.meshplot.subplot='on'; gui.flmodel{1}.meshmodel.meshplot.meshsubuseexpression='off'; gui.flmodel{1}.meshmodel.meshplot.meshsubcolor='128,128,128'; gui.flmodel{1}.meshmodel.meshplot.meshsubbordercheck='off'; gui.flmodel{1}.meshmodel.meshplot.meshwiresubplot='on'; gui.flmodel{1}.meshmodel.meshplot.meshwiresubcolor='192,192,192'; gui.flmodel{1}.meshmodel.meshplot.bndplot='on'; gui.flmodel{1}.meshmodel.meshplot.meshbndcolor='0,0,0'; gui.flmodel{1}.meshmodel.meshplot.useellogic='off'; gui.flmodel{1}.meshmodel.meshplot.ellogic=''; gui.flmodel{1}.meshmodel.meshplot.ellogictype='all'; gui.flmodel{1}.meshmodel.meshplot.meshkeepfraction='1'; gui.flmodel{1}.meshmodel.meshplot.meshkeeptype='random'; gui.flmodel{1}.meshmodel.meshplot.meshmap='jet'; gui.flmodel{1}.meshmodel.meshplot.meshmapdepth='1024'; gui.flmodel{1}.meshmodel.meshplot.meshbar='on'; uq~ txfemsrcom.femlab.geom.Geom2Vc/Oxrcom.femlab.geom.Geom͹6{L geomAssoctLcom/femlab/geom/GeomAssoc;Lversionq~xpwsq~wt COMSOL 3.2twt $Name: $t$Date: 2005/10/24 07:30:19 $xwluq~YlGeom2|=-C6??pԚ??8A?T??pԚ?T??8A????? BezierCurve?pԚ???8A?? BezierCurve?pԚ??T??pԚ?? BezierCurve?8A??T??8A?? BezierCurveT??pԚ??T??8A?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6??8A??c#w~?T??8A?T??c#w~????? BezierCurve?8A???c#w~?? BezierCurve?8A??T??8A?? BezierCurve?c#w~??T??c#w~?? BezierCurveT??8A??T??c#w~?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6?Pw?Pw?G_???pԚ????? BezierCurvePw??Pw?G_?? BezierCurvePw???? BezierCurvePw?G_???pԚ?? BezierCurve???pԚ?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6?.C6?w%q?.C6?c#w~?Pw?w%q?Pw?c#w~????? BezierCurve.C6?w%q??.C6?c#w~?? BezierCurve.C6?w%q??Pw?w%q?? BezierCurve.C6?c#w~??Pw?c#w~?? BezierCurvePw?w%q??Pw?c#w~?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6???pԚ?T??T??pԚ????? BezierCurve???pԚ?? BezierCurve??T??? BezierCurve?pԚ??T??pԚ?? BezierCurveT???T??pԚ?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6?-C6?-C6?G_?Pw?Pw?G_????? BezierCurve.C6??.C6?G_?? BezierCurve.C6??Pw?? BezierCurve.C6?G_??Pw?G_?? BezierCurvePw??Pw?G_?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6?Pw?w%q?Pw?c#w~??8A??c#w~????? BezierCurvePw?w%q??Pw?c#w~?? BezierCurvePw?w%q???8A?? BezierCurvePw?c#w~???c#w~?? BezierCurve?8A???c#w~?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6?-C6?G_?-C6?w%q?Pw?G_?Pw?w%q????? BezierCurve-C6?G_??-C6?w%q?? BezierCurve-C6?G_??Pw?G_?? BezierCurve-C6?w%q??Pw?w%q?? BezierCurvePw?G_??Pw?w%q?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ewluq~YlGeom2|=-C6?Pw?G_?Pw?w%q??pԚ??8A????? BezierCurvePw?G_??Pw?w%q?? BezierCurvePw?G_???pԚ?? BezierCurvePw?w%q???8A?? BezierCurve?pԚ???8A?? AssocAttrib VectorInt AssocAttrib VectorIntN xwxsq~awq~ew8uq~Y8Geom2|=-C6?.C6?.C6?G_?.C6?w%q?.C6?c#w~?Pw?Pw?G_?Pw?w%q?Pw?c#w~???pԚ??8A??c#w~?T??T??pԚ?T??8A?T??c#w~????????? ? ?  ? ?  ?  ? ? ? ? ? ?  ?  ?  ???  BezierCurve.C6??.C6?G_?? BezierCurve.C6??Pw?? BezierCurve.C6?G_??.C6?w%q?? BezierCurve.C6?G_??Pw?G_?? BezierCurve.C6?w%q??.C6?c#w~?? BezierCurve.C6?w%q??Pw?w%q?? BezierCurve.C6?c#w~??Pw?c#w~?? BezierCurvePw??Pw?G_?? BezierCurvePw???? BezierCurvePw?G_??Pw?w%q?? BezierCurvePw?G_???pԚ?? BezierCurvePw?w%q??Pw?c#w~?? BezierCurvePw?w%q???8A?? BezierCurvePw?c#w~???c#w~?? BezierCurve???pԚ?? BezierCurve??T??? BezierCurve?pԚ???8A?? BezierCurve?pԚ??T??pԚ?? BezierCurve?8A???c#w~?? BezierCurve?8A??T??8A?? BezierCurve?c#w~??T??c#w~?? BezierCurveT???T??pԚ?? BezierCurveT??pԚ??T??8A?? BezierCurveT??8A??T??c#w~??xwxsrcom.femlab.mesh.Mesh_q Lversionq~xpwq~ewur[[Dǭ dgExpur[D>cZxpw?6C.?6C.?6C.?6C.?wP?wP?wP?wP??????T??T??T??T?6C.?6C.?6C.?6C.?6C.?6C.?6C.?6C.?6C.?XT?g[:?q?w6sz.?}[M-5`?bV)?4k^?{g?_3u?Dx? @??. E?MX?RݑJx?u?[#?,#?.-$?g752?PO"?l%I? 3?/?DO?Z9̨?¾U?+CZ?3e?OM ?ldva?W?5?am??}7? kx;?:g?'}x\?0`v?Zcu?`ft?9is?ls?{?98?κ%w?<7?ԧvQ?@u?uo$?*?5s?3?ή4v?#()A?)3 ?/L?52ޤ?ʉY86?ƙ?#?A?5Q?2 ??.-$?+Ni?o<$??`rf??Q`? $? BN? N?3?,^?6J?7e?5?%-?}4Ò? a?V4Y?m³?U/3="?=ۄ?|S?5#c? )t?*fM/?Jȉ5?k*;?mA?޹G?RPTM?S? 3Y?-y%` ?N'(?kp?c?-0?IZ?޿D'??R#W?5kጠ?QkY?n%?wE~ ?@?E9? ?'&<6_?@V[?Y{'?r??ّ>?F y?wdj?7W? WsH?#v9?KN?Q^??-Wm?? /?Dcc?1ۏʼ?Gr2P?] |o?rs?7ih"n?_{?@\?Ru|x?dCUF?v??W?x?F;V?ОZ[&?z??{\?Hf?~[n? "T@?m:?k* ? 7o?.=?=W?Kd=?Yɠ?h.Ddž3?WE?#y?2)?9{?@v?H% &?OWrI]0?VkP?]Cn?dh?l )?sS ?z_?:?\(?؂q?(ۚ?ߵQ+?NzN?磶H??f?4?LGn?q ?~?/0?@T?UH ?eH ?ot?uH ?zp΋?t?x*/?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ot?uH ?zpΎ?t?x*/?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ot?uH ?zp΋?t?x*/?H ?2u?UH ?eH ?ow?uH ?zpΎ?w?x*1?H ?2u?UH ?eH ?ot?uH ?zp΋?t?x*-?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ot?uH ?zp΋?t?x*/?H ?2u?UH ?eH ?ot?uH ?zp΋?t?x*/?H ?2u?UH ?eH ?ow?uH ?zp΋?w?x*/?H ?2u?UH ?eH ?ot?uH ?zp΋?t?x*/?H ?2u?UH ?eH ?ot?uH ?zp΋?t?x*-?H ?2u?=4;?m?6?y?e<"xv?6̄xVL?\w"?Hw?}wM?} v?Nnvx? .vEO?2u$?Ou?u?m?6?y?e<"xw?6̄xVL?\w"?Hw?}wM?} v?Nnvy? .vEO?2u$?Ou?u?m?6?y?e<"xv?6̄xVL?\w"?Hw?}wM?} v?Nnv|? .vEQ?2u%?Ou?u?m?6?y?e<"xv?6̄xVK?\w"?Hw?}wM?} v?Nnvy? .vEO?2u#?Ou?u?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !" #$%&'()*+ ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOuq~X !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !"#$%&'()*+ ,-./0123456789:;<=>?@ABCDEFGHIJKLMNOuq~uq~X??ə?333333?ٙ??333333?ffffff?陙??I$I$?I$I$?mm?I$I$?mm?mm?zGr?zGr?Q?zGr?ə?θQ?Q?zGq? =p?ٙ?(\?޸Q? =p?Q?33333,?zGt?\(? =p?QL?陙?Gz?(\$?p =l?Q?I$I$?I$I$?mm?I$I$?mm?mm?;:?ñ;:?͉؝M?ӱ;:?؝؝?݉؝N?;;?;:?'bv'b;?蝉؝?;?؝O?I$I$?I$I$?mm?I$I$?mm?mm?I$I$?I$I$?mm?I$I$?mm?mm??ə?333333?ٙ??333333?ffffff?陙??I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I"?mm?$I$F?mm?mj?zGr?zGr?Q?zGr?ə?θQ?Q?zGq? =p?ٙ?(\?޸Q? =p?Q?33333,?zGt?\(? =p?QL?陙?Gz?(\$?p =l?Q?I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I(?mm?$I$N?mm?mt?;:?ñ;:?͉؝M?ӱ;:?؝؝?݉؝N?;;?;:?'bv'b;?蝉؝?;?؝O?I$I$?I$I$?mm?I$I$?mm?mm? ?I$I$?I$I5?mm?$I$]?mm?mۅ?I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I"?mm?$I$F?mm?mj??ə?333332?ٙ??333332?fffffe?陙????Ɩr??ҵ?֖s?ZZZZZ1???Ҵ?䴴?斖p?xxxxxN?ZZZZZ,?<<<<< ??zG?zG?Q?zG?ə?θQ?Q?zG? =p#?ٙ?(\G?޸Q? =p?R?33333J?zG?\(? =p(?Qr?陙?G{?(\P?p =?Q???Ɩr??ҵ?֖s?ZZZZZ1???Ҵ?䴴?斖p?xxxxxN?ZZZZZ,?<<<<< ??;;"?ñ;;"?͉؝س?ӱ;;"?؝؝?݉؝ز?;;?;;!?'bv'b?蝉؝?;M?؝ر???Ɩr??ҵ?֖s?ZZZZZ1???Ҵ?䴴?斖p?xxxxxN?ZZZZZ,?<<<<< ????Ɩ???֖?ZZZZZP????䴴?斖?xxxxxn?ZZZZZO?<<<<<0???ə?333332?ٙ??333332?fffffe?陙??zG?zG?Q?zG?ə?θQ?Q?zG? =p#?ٙ?(\G?޸Q? =p?R?33333J?zG?\(? =p(?Qr?陙?G{?(\P?p =?Q?;;"?ñ;;"?͉؝س?ӱ;;"?؝؝?݉؝ز?;;?;;!?'bv'b?蝉؝?;M?؝رuq~X??ə?333333?ٙ??333333?ffffff?陙???I$I$?I$I$?mm?I$I$?mm?mm??zGr?zGr?Q?zGr?ə?θQ?Q?zGq? =p?ٙ?(\?޸Q? =p?Q?33333,?zGt?\(? =p?QL?陙?Gz?(\$?p =l?Q??I$I$?I$I$?mm?I$I$?mm?mm??;:?ñ;:?͉؝M?ӱ;:?؝؝?݉؝N?;;?;:?'bv'b;?蝉؝?;?؝O??I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I$?mm?I$I$?mm?mm???ə?333333?ٙ??333333?ffffff?陙???I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I"?mm?$I$F?mm?mj??zGr?zGr?Q?zGr?ə?θQ?Q?zGq? =p?ٙ?(\?޸Q? =p?Q?33333,?zGt?\(? =p?QL?陙?Gz?(\$?p =l?Q??I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I(?mm?$I$N?mm?mt??;:?ñ;:?͉؝M?ӱ;:?؝؝?݉؝N?;;?;:?'bv'b;?蝉؝?;?؝O??I$I$?I$I$?mm?I$I$?mm?mm? ?I$I$?I$I5?mm?$I$]?mm?mۅ??I$I$?I$I$?mm?I$I$?mm?mm??I$I$?I$I"?mm?$I$F?mm?mj???ə?333332?ٙ??333332?fffffe?陙?????Ɩr??ҵ?֖s?ZZZZZ1???Ҵ?䴴?斖p?xxxxxN?ZZZZZ,?<<<<< ???zG?zG?Q?zG?ə?θQ?Q?zG? =p#?ٙ?(\G?޸Q? =p?R?33333J?zG?\(? =p(?Qr?陙?G{?(\P?p =?Q????Ɩr??ҵ?֖s?ZZZZZ1???Ҵ?䴴?斖p?xxxxxN?ZZZZZ,?<<<<< ???;;"?ñ;;"?͉؝س?ӱ;;"?؝؝?݉؝ز?;;?;;!?'bv'b?蝉؝?;M?؝ر????Ɩr??ҵ?֖s?ZZZZZ1???Ҵ?䴴?斖p?xxxxxN?ZZZZZ,?<<<<< ?????Ɩ???֖?ZZZZZP????䴴?斖?xxxxxn?ZZZZZO?<<<<<0????ə?333332?ٙ??333332?fffffe?陙???zG?zG?Q?zG?ə?θQ?Q?zG? =p#?ٙ?(\G?޸Q? =p?R?33333J?zG?\(? =p(?Qr?陙?G{?(\P?p =?Q??;;"?ñ;;"?͉؝س?ӱ;;"?؝؝?݉؝ز?;;?;;!?'bv'b?蝉؝?;M?؝ر?uq~X uq~uq~X  uq~X  uq~uq~uq~uq~uq~uq~uq~ PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<     =>?@ABCDEFGHI !J"#$%&'()*+,-K./0123456789L:;<=>?@ABCDEMFGHIJKLMNOPQNRSTUVWXYZ[\] ^_`abcdefghijklmnopqrstuvwxyz{|}~klmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~          !" #$%&'()*+,-. /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvuq~ PQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~UVWXYZ[\]789:;<     klmnopqrstuvwxyz{|}~I !J"#$%&'()*+,-K./0123456789L:;<=>?@ABCDEMFGHIJKLMNOPQNRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~]\[ZYXWVU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456 #$%&'()*+789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ ,-./0123456789:;<=>?@ABC         !" #$%&'()*+,-. /0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvDEFGHIJKLMNOuq~ PQRSTUVWX7YZ[\]^_`a8bcdefghij9klmnopqrs:tuvwxyz{|;}~< !"#$%&'()*+,-./0123456IJKLM     N=>?@ABCDEFGH !O"#$%&'()*+,-P./0123456789Q:;<=>?@ABCDERFGHIJKLMNOPQSRSTUVWXYZ[\]T^_`abcdefjghijklmnoipqrstuvwxhyz{|}~gfedcba`_^klmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !"#$%& '()*+,-./0123456789:;<=> ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ _`abcdefghij!klmnopqrstuv"uq~ PQRSTUVWX7YZ[\]^_`a8bcdefghij9klmnopqrs:tuvwxyz{|;}~<UVWXYZ[\]IJKLM     Nklmnopqrstuvwxyz{|}~ !O"#$%&'()*+,-P./0123456789Q:;<=>?@ABCDERFGHIJKLMNOPQSRSTUVWXYZ[\]T^_`abcdefjghijklmnoipqrstuvwxhyz{|}~gfedcba`_^]\[ZYXWVU      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456#$%&'()*+ 789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~         !"#$%& '()*+,-./0123456789:;<=> ?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,-./0123456789:;<=>?@ABC      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^ _`abcdefghij!klmnopqrstuv"DEFGHIJKLMNOuq~uq~uq~uq~uq~uq~uq~uq~uq~uq~  uq~uq~uq~uq~uq~uq~uq~uq~uq~uq~xsrcom.femlab.xmesh.Solution[ʏQqSxpwuq~Y^^lambdaWW  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  !!!!!!!!! ! ! ! ! !!!!!!!!!!!!!!!!!!! !!!"!#!$!%!&!'!(!)!*!+!,!-!.!/!0!1!2!3!4!5!6!7!8!9!:!;!!?!@!A!B!C!D!E!F!G!H!I!J!K!L!M!N!O!P!Q!R!S!T!U!V!W!X!Y!Z![!\!]!^!_!`!a!b!c!d!e!f!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!y!z!{!|!}!~!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""" " " " " """"""""""""""""""" "!"""#"$"%"&"'"(")"*"+","-"."/"0"1"2"3"4"5"6"7"8"9":";"<"=">"?"@"A"B"C"D"E"F"G"H"I"J"K"L"M"N"O"P"Q"R"S"T"U"V"W"X"Y"Z"["\"]"^"_"`"a"b"c"d"e"f"g"h"i"j"k"l"m"n"o"p"q"r"s"t"u"v"w"x"y"z"{"|"}"~""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""######### # # # # ################### #!#"###$#%#&#'#(#)#*#+#,#-#.#/#0#1#2#3#4#5#6#7#8#9#:#;#<#=#>#?#@#A#B#C#D#E#F#G#H#I#J#K#L#M#N#O#P#Q#R#S#T#U#V#W#X#Y#Z#[#\#]#^#_#`#a#b#c#d#e#f#g#h#i#j#k#l#m#n#o#p#q#r#s#t#u#v#w#x#y#z#{#|#}#~##################################################################################################################################$$$$$$$$$ $ $ $ $ $$$$$$$$$$$$$$$$$$$ $!$"$#$$$%$&$'$($)$*$+$,$-$.$/$0$1$2$3$4$5$6$7$8$9$:$;$<$=$>$?$@$A$B$C$D$E$F$G$H$I$J$K$L$M$N$O$P$Q$R$S$T$U$V$W$X$Y$Z$[$\$]$^$_$`$a$b$c$d$e$f$g$h$i$j$k$l$m$n$o$p$q$r$s$t$u$v$w$x$y$z${$|$}$~$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%% % % % % %%%%%%%%%%%%%%%%%%% %!%"%#%$%%%&%'%(%)%*%+%,%-%.%/%0%1%2%3%4%5%6%7%8%9%:%;%<%=%>%?%@%A%B%C%D%E%F%G%H%I%J%K%L%M%N%O%P%Q%R%S%T%U%V%W%X%Y%Z%[%\%]%^%_%`%a%b%c%d%e%f%g%h%i%j%k%l%m%n%o%p%q%r%s%t%u%v%w%x%y%z%{%|%}%~%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&& & & & & &&&&&&&&&&&&&&&&&&& &!&"&#&$&%&&&'&(&)&*&+&,&-&.&/&0&1&2&3&4&5&6&7&8&9&:&;&<&=&>&?&@&A&B&C&D&E&F&G&H&I&J&K&L&M&N&O&P&Q&R&S&T&U&V&W&X&Y&Z&[&\&]&^&_&`&a&b&c&d&e&f&g&h&i&j&k&l&m&n&o&p&q&r&s&t&u&v&w&x&y&z&{&|&}&~&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''' ' ' ' ' ''''''''''''''''''' '!'"'#'$'%'&'''(')'*'+','-'.'/'0'1'2'3'4'5'6'7'8'9':';'<'='>'?'@'A'B'C'D'E'F'G'H'I'J'K'L'M'N'O'P'Q'R'S'T'U'V'W'X'Y'Z'['\']'^'_'`'a'b'c'd'e'f'g'h'i'j'k'l'm'n'o'p'q'r's't'u'v'w'x'y'z'{'|'}'~''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''((((((((( ( ( ( ( ((((((((((((((((((( (!("(#($(%(&('((()(*(+(,(-(.(/(0(1(2(3(4(5(6(7(8(9(:(;(<(=(>(?(@(A(B(C(D(E(F(G(H(I(J(K(L(M(N(O(P(Q(R(S(T(U(V(W(X(Y(Z([(\(](^(_(`(a(b(c(d(e(f(g(h(i(j(k(l(m(n(o(p(q(r(s(t(u(v(w(x(y(z({(|(}(~(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))) ) ) ) ) ))))))))))))))))))) )!)")#)$)%)&)')()))*)+),)-).)/)0)1)2)3)4)5)6)7)8)9):);)<)=)>)?)@)A)B)C)D)E)F)G)H)I)J)K)L)M)N)O)P)Q)R)S)T)U)V)W)X)Y)Z)[)\)])^)_)`)a)b)c)d)e)f)g)h)i)j)k)l)m)n)o)p)q)r)s)t)u)v)w)x)y)z){)|)})~))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))********* * * * * ******************* *!*"*#*$*%*&*'*(*)***+*,*-*.*/*0*1*2*3*4*5*6*7*8*9*:*;*<*=*>*?*@*A*B*C*D*E*F*G*H*I*J*K*L*M*N*O*P*Q*R*S*T*U*V*W*X*Y*Z*[*\*]*^*_*`*a*b*c*d*e*f*g*h*i*j*k*l*m*n*o*p*q*r*s*t*u*v*w*x*y*z*{*|*}*~**********************************************************************************************************************************+++++++++ + + + + +++++++++++++++++++ +!+"+#+$+%+&+'+(+)+*+++,+-+.+/+0+1+2+3+4+5+6+7+8+9+:+;+<+=+>+?+@+A+B+C+D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+V+W+X+Y+Z+[+\+]+^+_+`+a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+{+|+}+~++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,, , , , , ,,,,,,,,,,,,,,,,,,, ,!,",#,$,%,&,',(,),*,+,,,-,.,/,0,1,2,3,4,5,6,7,8,9,:,;,<,=,>,?,@,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,[,\,],^,_,`,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,{,|,},~,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,--------- - - - - ------------------- -!-"-#-$-%-&-'-(-)-*-+-,---.-/-0-1-2-3-4-5-6-7-8-9-:-;-<-=->-?-@-A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z-[-\-]-^-_-`-a-b-c-d-e-f-g-h-i-j-k-l-m-n-o-p-q-r-s-t-u-v-w-x-y-z-{-|-}-~----------------------------------------------------------------------------------------------------------------------------------......... . . . . ................... .!.".#.$.%.&.'.(.).*.+.,.-.../.0.1.2.3.4.5.6.7.8.9.:.;.<.=.>.?.@.A.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.[.\.].^._.`.a.b.c.d.e.f.g.h.i.j.k.l.m.n.o.p.q.r.s.t.u.v.w.x.y.z.{.|.}.~..................................................................................................................................///////// / / / / /////////////////// /!/"/#/$/%/&/'/(/)/*/+/,/-/.///0/1/2/3/4/5/6/7/8/9/:/;//?/@/A/B/C/D/E/F/G/H/I/J/K/L/M/N/O/P/Q/R/S/T/U/V/W/X/Y/Z/[/\/]/^/_/`/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z/{/|/}/~//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////000000000 0 0 0 0 0000000000000000000 0!0"0#0$0%0&0'0(0)0*0+0,0-0.0/000102030405060708090:0;0<0=0>0?0@0A0B0C0D0E0F0G0H0I0J0K0L0M0N0O0P0Q0R0S0T0U0V0W0X0Y0Z0[0\0]0^0_0`0a0b0c0d0e0f0g0h0i0j0k0l0m0n0o0p0q0r0s0t0u0v0w0x0y0z0{0|0}0~0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111 1 1 1 1 1111111111111111111 1!1"1#1$1%1&1'1(1)1*1+1,1-1.1/101112131415161718191:1;1<1=1>1?1@1A1B1C1D1E1F1G1H1I1J1K1L1M1N1O1P1Q1R1S1T1U1V1W1X1Y1Z1[1\1]1^1_1`1a1b1c1d1e1f1g1h1i1j1k1l1m1n1o1p1q1r1s1t1u1v1w1x1y1z1{1|1}1~1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111222222222 2 2 2 2 2222222222222222222 2!2"2#2$2%2&2'2(2)2*2+2,2-2.2/202122232425262728292:2;2<2=2>2?2@2A2B2C2D2E2F2G2H2I2J2K2L2M2N2O2P2Q2R2S2T2U2V2W2X2Y2Z2[2\2]2^2_2`2a2b2c2d2e2f2g2h2i2j2k2l2m2n2o2p2q2r2s2t2u2v2w2x2y2z2{2|2}2~2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222333333333 3 3 3 3 3333333333333333333 3!3"3#3$3%3&3'3(3)3*3+3,3-3.3/303132333435363738393:3;3<3=3>3?3@3A3B3C3D3E3F3G3H3I3J3K3L3M3N3O3P3Q3R3S3T3U3V3W3X3Y3Z3[3\3]3^3_3`3a3b3c3d3e3f3g3h3i3j3k3l3m3n3o3p3q3r3s3t3u3v3w3x3y3z3{3|3}3~3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444 4 4 4 4 4444444444444444444 4!4"4#4$4%4&4'4(4)4*4+4,4-4.4/404142434445464748494:4;4<4=4>4?4@4A4B4C4D4E4F4G4H4I4J4K4L4M4N4O4P4Q4R4S4T4U4V4W4X4Y4Z4[4\4]4^4_4`4a4b4c4d4e4f4g4h4i4j4k4l4m4n4o4p4q4r4s4t4u4v4w4x4y4z4{4|4}4~4444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444555555555 5 5 5 5 5555555555555555555 5!5"5#5$5%5&5'5(5)5*5+5,5-5.5/505152535455565758595:5;5<5=5>5?5@5A5B5C5D5E5F5G5H5I5J5K5L5M5N5O5P5Q5R5S5T5U5V5W5X5Y5Z5[5\5]5^5_5`5a5b5c5d5e5f5g5h5i5j5k5l5m5n5o5p5q5r5s5t5u5v5w5x5y5z5{5|5}5~5555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555666666666 6 6 6 6 6666666666666666666 6!6"6#6$6%6&6'6(6)6*6+6,6-6.6/606162636465666768696:6;6<6=6>6?6@6A6B6C6D6E6F6G6H6I6J6K6L6M6N6O6P6Q6R6S6T6U6V6W6X6Y6Z6[6\6]6^6_6`6a6b6c6d6e6f6g6h6i6j6k6l6m6n6o6p6q6r6s6t6u6v6w6x6y6z6{6|6}6~6666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777 7 7 7 7 7777777777777777777 7!7"7#7$7%7&7'7(7)7*7+7,7-7.7/707172737475767778797:7;7<7=7>7?7@7A7B7C7D7E7F7G7H7I7J7K7L7M7N7O7P7Q7R7S7T7U7V7W7X7Y7Z7[7\7]7^7_7`7a7b7c7d7e7f7g7h7i7j7k7l7m7n7o7p7q7r7s7t7u7v7w7x7y7z7{7|7}7~7777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777888888888 8 8 8 8 8888888888888888888 8!8"8#8$8%8&8'8(8)8*8+8,8-8.8/808182838485868788898:8;8<8=8>8?8@8A8B8C8D8E8F8G8H8I8J8K8L8M8N8O8P8Q8R8S8T8U8V8W8X8Y8Z8[8\8]8^8_8`8a8b8c8d8e8f8g8h8i8j8k8l8m8n8o8p8q8r8s8t8u8v8w8x8y8z8{8|8}8~8888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888999999999 9 9 9 9 9999999999999999999 9!9"9#9$9%9&9'9(9)9*9+9,9-9.9/909192939495969798999:9;9<9=9>9?9@9A9B9C9D9E9F9G9H9I9J9K9L9M9N9O9P9Q9R9S9T9U9V9W9X9Y9Z9[9\9]9^9_9`9a9b9c9d9e9f9g9h9i9j9k9l9m9n9o9p9q9r9s9t9u9v9w9x9y9z9{9|9}9~9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::: : : : : ::::::::::::::::::: :!:":#:$:%:&:':(:):*:+:,:-:.:/:0:1:2:3:4:5:6:7:8:9:::;:<:=:>:?:@:A:B:C:D:E:F:G:H:I:J:K:L:M:N:O:P:Q:R:S:T:U:V:W:X:Y:Z:[:\:]:^:_:`:a:b:c:d:e:f:g:h:i:j:k:l:m:n:o:p:q:r:s:t:u:v:w:x:y:z:{:|:}:~::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;; ; ; ; ; ;;;;;;;;;;;;;;;;;;; ;!;";#;$;%;&;';(;);*;+;,;-;.;/;0;1;2;3;4;5;6;7;8;9;:;;;<;=;>;?;@;A;B;C;D;E;F;G;H;I;J;K;L;M;N;O;P;Q;R;S;T;U;V;W;X;Y;Z;[;\;];^;_;`;a;b;c;d;e;f;g;h;i;j;k;l;m;n;o;p;q;r;s;t;u;v;w;x;y;z;{;|;};~;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<< < < < < <<<<<<<<<<<<<<<<<<< <!<"<#<$<%<&<'<(<)<*<+<,<-<.</<0<1<2<3<4<5<6<7<8<9<:<;<<<=<><?<@<A<B<C<D<E<F<G<H<I<J<K<L<M<N<O<P<Q<R<S<T<U<V<W<X<Y<Z<[<\<]<^<_<`<a<b<c<d<e<f<g<h<i<j<k<l<m<n<o<p<q<r<s<t<u<v<w<x<y<z<{<|<}<~<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<========= = = = = =================== =!="=#=$=%=&='=(=)=*=+=,=-=.=/=0=1=2=3=4=5=6=7=8=9=:=;=<===>=?=@=A=B=C=D=E=F=G=H=I=J=K=L=M=N=O=P=Q=R=S=T=U=V=W=X=Y=Z=[=\=]=^=_=`=a=b=c=d=e=f=g=h=i=j=k=l=m=n=o=p=q=r=s=t=u=v=w=x=y=z={=|=}=~==================================================================================================================================>>>>>>>>> > > > > >>>>>>>>>>>>>>>>>>> >!>">#>$>%>&>'>(>)>*>+>,>->.>/>0>1>2>3>4>5>6>7>8>9>:>;><>=>>>?>@>A>B>C>D>E>F>G>H>I>J>K>L>M>N>O>P>Q>R>S>T>U>V>W>X>Y>Z>[>\>]>^>_>`>a>b>c>d>e>f>g>h>i>j>k>l>m>n>o>p>q>r>s>t>u>v>w>x>y>z>{>|>}>~>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????? ? ? ? ? ??????????????????? ?!?"?#?$?%?&?'?(?)?*?+?,?-?.?/?0?1?2?3?4?5?6?7?8?9?:?;????@?A?B?C?D?E?F?G?H?I?J?K?L?M?N?O?P?Q?R?S?T?U?V?W?X?Y?Z?[?\?]?^?_?`?a?b?c?d?e?f?g?h?i?j?k?l?m?n?o?p?q?r?s?t?u?v?w?x?y?z?{?|?}?~??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@ @ @ @ @ @@@@@@@@@@@@@@@@@@@ @!@"@#@$@%@&@'@(@)@*@+@,@-@.@/@0@1@2@3@4@5@6@7@8@9@:@;@<@=@>@?@@@A@B@C@D@E@F@G@H@I@J@K@L@M@N@O@P@Q@R@S@T@U@V@W@X@Y@Z@[@\@]@^@_@`@a@b@c@d@e@f@g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@x@y@z@{@|@}@~@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAA A A A A AAAAAAAAAAAAAAAAAAA A!A"A#A$A%A&A'A(A)A*A+A,A-A.A/A0A1A2A3A4A5A6A7A8A9A:A;AA?A@AAABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUAVAWAXAYAZA[A\A]A^A_A`AaAbAcAdAeAfAgAhAiAjAkAlAmAnAoApAqArAsAtAuAvAwAxAyAzA{A|A}A~AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBB B B B B BBBBBBBBBBBBBBBBBBB B!B"B#B$B%B&B'B(B)B*B+B,B-B.B/B0B1B2B3B4B5B6B7B8B9B:B;BB?B@BABBBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUBVBWBXBYBZB[B\B]B^B_B`BaBbBcBdBeBfBgBhBiBjBkBlBmBnBoBpBqBrBsBtBuBvBwBxByBzB{B|B}B~BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCC C C C C CCCCCCCCCCCCCCCCCCC C!C"C#C$C%C&C'C(C)C*C+C,C-C.C/C0C1C2C3C4C5C6C7C8C9C:C;CC?C@CACBCCCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUCVCWCXCYCZC[C\C]C^C_C`CaCbCcCdCeCfCgChCiCjCkClCmCnCoCpCqCrCsCtCuCvCwCxCyCzC{C|C}C~CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDD D D D D DDDDDDDDDDDDDDDDDDD D!D"D#D$D%D&D'D(D)D*D+D,D-D.D/D0D1D2D3D4D5D6D7D8D9D:D;DD?D@DADBDCDDDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUDVDWDXDYDZD[D\D]D^D_D`DaDbDcDdDeDfDgDhDiDjDkDlDmDnDoDpDqDrDsDtDuDvDwDxDyDzD{D|D}D~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEE E E E E EEEEEEEEEEEEEEEEEEE E!E"E#E$E%E&E'E(E)E*E+E,E-E.E/E0E1E2E3E4E5E6E7E8E9E:E;EE?E@EAEBECEDEEEFEGEHEIEJEKELEMENEOEPEQERESETEUEVEWEXEYEZE[E\E]E^E_E`EaEbEcEdEeEfEgEhEiEjEkElEmEnEoEpEqErEsEtEuEvEwExEyEzE{E|E}E~EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFF F F F F FFFFFFFFFFFFFFFFFFF F!F"F#F$F%F&F'F(F)F*F+F,F-F.F/F0F1F2F3F4F5F6F7F8F9F:F;FF?F@FAFBFCFDFEFFFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUFVFWFXFYFZF[F\F]F^F_F`FaFbFcFdFeFfFgFhFiFjFkFlFmFnFoFpFqFrFsFtFuFvFwFxFyFzF{F|F}F~FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGG G G G G GGGGGGGGGGGGGGGGGGG G!G"G#G$G%G&G'G(G)G*G+G,G-G.G/G0G1G2G3G4G5G6G7G8G9G:G;GG?G@GAGBGCGDGEGFGGGHGIGJGKGLGMGNGOGPGQGRGSGTGUGVGWGXGYGZG[G\G]G^G_G`GaGbGcGdGeGfGgGhGiGjGkGlGmGnGoGpGqGrGsGtGuGvGwGxGyGzG{G|G}G~GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHH H H H H HHHHHHHHHHHHHHHHHHH H!H"H#H$H%H&H'H(H)H*H+H,H-H.H/H0H1H2H3H4H5H6H7H8H9H:H;HH?H@HAHBHCHDHEHFHGHHHIHJHKHLHMHNHOHPHQHRHSHTHUHVHWHXHYHZH[H\H]H^H_H`HaHbHcHdHeHfHgHhHiHjHkHlHmHnHoHpHqHrHsHtHuHvHwHxHyHzH{H|H}H~HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIII I I I I IIIIIIIIIIIIIIIIIII I!I"I#I$I%I&I'I(I)I*I+I,I-I.I/I0I1I2I3I4I5I6I7I8I9I:I;II?I@IAIBICIDIEIFIGIHIIIJIKILIMINIOIPIQIRISITIUIVIWIXIYIZI[I\I]I^I_I`IaIbIcIdIeIfIgIhIiIjIkIlImInIoIpIqIrIsItIuIvIwIxIyIzI{I|I}I~IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJ J J J J JJJJJJJJJJJJJJJJJJJ J!J"J#J$J%J&J'J(J)J*J+J,J-J.J/J0J1J2J3J4J5J6J7J8J9J:J;JJ?J@JAJBJCJDJEJFJGJHJIJJJKJLJMJNJOJPJQJRJSJTJUJVJWJXJYJZJ[J\J]J^J_J`JaJbJcJdJeJfJgJhJiJjJkJlJmJnJoJpJqJrJsJtJuJvJwJxJyJzJ{J|J}J~JJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKK K K K K KKKKKKKKKKKKKKKKKKK K!K"K#K$K%K&K'K(K)K*K+K,K-K.K/K0K1K2K3K4K5K6K7K8K9K:K;KK?K@KAKBKCKDKEKFKGKHKIKJKKKLKMKNKOKPKQKRKSKTKUKVKWKXKYKZK[K\K]K^K_K`KaKbKcKdKeKfKgKhKiKjKkKlKmKnKoKpKqKrKsKtKuKvKwKxKyKzK{K|K}K~KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLL L L L L LLLLLLLLLLLLLLLLLLL L!L"L#L$L%L&L'L(L)L*L+L,L-L.L/L0L1L2L3L4L5L6L7L8L9L:L;LL?L@LALBLCLDLELFLGLHLILJLKLLLMLNLOLPLQLRLSLTLULVLWLXLYLZL[L\L]L^L_L`LaLbLcLdLeLfLgLhLiLjLkLlLmLnLoLpLqLrLsLtLuLvLwLxLyLzL{L|L}L~LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMM M M M M MMMMMMMMMMMMMMMMMMM M!M"M#M$M%M&M'M(M)M*M+M,M-M.M/M0M1M2M3M4M5M6M7M8M9M:M;MM?M@MAMBMCMDMEMFMGMHMIMJMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZM[M\M]M^M_M`MaMbMcMdMeMfMgMhMiMjMkMlMmMnMoMpMqMrMsMtMuMvMwMxMyMzM{M|M}M~MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNN N N N N NNNNNNNNNNNNNNNNNNN N!N"N#N$N%N&N'N(N)N*N+N,N-N.N/N0N1N2N3N4N5N6N7N8N9N:N;NN?N@NANBNCNDNENFNGNHNINJNKNLNMNNNONPNQNRNSNTNUNVNWNXNYNZN[N\N]N^N_N`NaNbNcNdNeNfNgNhNiNjNkNlNmNnNoNpNqNrNsNtNuNvNwNxNyNzN{N|N}N~NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOO O O O O OOOOOOOOOOOOOOOOOOO O!O"O#O$O%O&O'O(O)O*O+O,O-O.O/O0O1O2O3O4O5O6O7O8O9O:O;OO?O@OAOBOCODOEOFOGOHOIOJOKOLOMONOOOPOQOROSOTOUOVOWOXOYOZO[O\O]O^O_O`OaObOcOdOeOfOgOhOiOjOkOlOmOnOoOpOqOrOsOtOuOvOwOxOyOzO{O|O}O~OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPP P P P P PPPPPPPPPPPPPPPPPPP P!P"P#P$P%P&P'P(P)P*P+P,P-P.P/P0P1P2P3P4P5P6P7P8P9P:P;PP?P@PAPBPCPDPEPFPGPHPIPJPKPLPMPNPOPPPQPRPSPTPUPVPWPXPYPZP[P\P]P^P_P`PaPbPcPdPePfPgPhPiPjPkPlPmPnPoPpPqPrPsPtPuPvPwPxPyPzP{P|P}P~PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQ Q Q Q Q QQQQQQQQQQQQQQQQQQQ Q!Q"Q#Q$Q%Q&Q'Q(Q)Q*Q+Q,Q-Q.Q/Q0Q1Q2Q3Q4Q5Q6Q7Q8Q9Q:Q;QQ?Q@QAQBQCQDQEQFQGQHQIQJQKQLQMQNQOQPQQQRQSQTQUQVQWQXQYQZQ[Q\Q]Q^Q_Q`QaQbQcQdQeQfQgQhQiQjQkQlQmQnQoQpQqQrQsQtQuQvQwQxQyQzQ{Q|Q}Q~QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRR R R R R RRRRRRRRRRRRRRRRRRR R!R"R#R$R%R&R'R(R)R*R+R,R-R.R/R0R1R2R3R4R5R6R7R8R9R:R;RR?R@RARBRCRDRERFRGRHRIRJRKRLRMRNRORPRQRRRSRTRURVRWRXRYRZR[R\R]R^R_R`RaRbRcRdReRfRgRhRiRjRkRlRmRnRoRpRqRrRsRtRuRvRwRxRyRzR{R|R}R~RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSS S S S S SSSSSSSSSSSSSSSSSSS S!S"S#S$S%S&S'S(S)S*S+S,S-S.S/S0S1S2S3S4S5S6S7S8S9S:S;SS?S@SASBSCSDSESFSGSHSISJSKSLSMSNSOSPSQSRSSSTSUSVSWSXSYSZS[S\S]S^S_S`SaSbScSdSeSfSgShSiSjSkSlSmSnSoSpSqSrSsStSuSvSwSxSySzS{S|S}S~SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTT T T T T TTTTTTTTTTTTTTTTTTT T!T"T#T$T%T&T'T(T)T*T+T,T-T.T/T0T1T2T3T4T5T6T7T8T9T:T;TT?T@TATBTCTDTETFTGTHTITJTKTLTMTNTOTPTQTRTSTTTUTVTWTXTYTZT[T\T]T^T_T`TaTbTcTdTeTfTgThTiTjTkTlTmTnToTpTqTrTsTtTuTvTwTxTyTzT{T|T}T~TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUU U U U U UUUUUUUUUUUUUUUUUUU U!U"U#U$U%U&U'U(U)U*U+U,U-U.U/U0U1U2U3U4U5U6U7U8U9U:U;UU?U@UAUBUCUDUEUFUGUHUIUJUKULUMUNUOUPUQURUSUTUUUVUWUXUYUZU[U\U]U^U_U`UaUbUcUdUeUfUgUhUiUjUkUlUmUnUoUpUqUrUsUtUuUvUwUxUyUzU{U|U}U~UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVV V V V V VVVVVVVVVVVVVVVVVVV V!V"V#V$V%V&V'V(V)V*V+V,V-V.V/V0V1V2V3V4V5V6V7V8V9V:V;VV?V@VAVBVCVDVEVFVGVHVIVJVKVLVMVNVOVPVQVRVSVTVUVVVWVXVYVZV[V\V]V^V_V`VaVbVcVdVeVfVgVhViVjVkVlVmVnVoVpVqVrVsVtVuVvVwVxVyVzV{V|V}V~VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWW W W W W WWWWWWWWWWWWWWWWWWW W!W"W#W$W%W&W'W(W)W*W+W,W-W.W/W0W1W2W3W4W5W6W7W8W9W:W;WW?W@WAWBWCWDWEWFWGWHWIWJWKWLWMWNWOWPWQWRWSWTWUWVWWWXWYWZW[W\W]W^W_W`WaWbWcWdWeWfWgWhWiWjWkWlWmWnWoWpWqWrWsWtWuWvWwWxWyWzW{W|W}W~WWWWWWWWWuq~Y_>6BW#8>M=1>apf/P? r31P?+?H}?T?=dT?QoT q>'Wœ>[>y"u22>]m$V?¥>V7TDŽk>tGy^?Txk?maS߇0VwL?mFLZ#{ ^/?C6 OF?ylrQ> ڍKJTXpc&k;xśp>KAn>FD֒(eÌ>T4u`>L)C!>,#y]> Rn>]>;ܱ>": Rbx>d>sut WF+J>I1h=.TYr[އwyfX n`9p>G>I!X mD>0v>BHCZ>2>?ѧ><%?t'噾OS^\>/wnfT#>,GkBEs>1:]Ꞿ@m,>= ^?<]k?f>@nс+I>;AlJp1gu>TR*>>+>?sc%?/W>#O$t>q'V>ؤ9>>6=+?D ?m0lw0?}k@?t^?"Q|?Di?r?W)y?QΛ?v3TG?Mć?@-1?z??EAK،?cL?{(?ڌ?w>?}?Ыs?T~ć?fczG?yf_?ف}y?4 r?0i?rB"^?S6Ќ{;m?//?Gjףݟ?)KA?I? ?9qjK?2:?/Q!(?QE>e?@Pc?Sv?,x ?5_>?-,+?h7B?$?RS>H#>!c\>*C>"DgĶת>pP>S:>O>9m?IGJ-?Sh۟?OF@?H.R?n ,?uJ?οk?3 ?්?a?' u?Kۛ ?(OCҽY?VJ|%p?`%{2?y}!:?ĎL&?Mǰ?sQ?*~? \-?Xm4?x"?U%?(r?-[9? ?F*gcl?K?1ɟ?5d_2?a4]m?Ɍ?f?t ?WA3?E?ZI{?l=m??FuU:?r?aIg2?N?=?)!ר ?~;5?]R}ϩ?hl ?c\D?q#?+ň?ԑJ?=Wix?WZ"q?b3j? 3 d?2Z_?'2?SZ?h) V?QPU?_z6?UU?RS?mKK?=1+i?جĘ?t4t?p2dq?a? /j`Q?G@?,T6*?<o ?!YP4?!,v?jp ?*tE??7A?~E?3/M?G;^px?#q?Dj?d?7F_?WAZ?`W?iOU?NŠ?rx+?^Q25?nkm/:>}⑑ި>"v >&>. ?愑#VѦq簝FN>вUi>X;@>iM$C\ޞ"4_Ǣ>tc 1>k >5]Cpwoh馾2Ш͒^ȶA֮& |5Yz>ro_>S^)T#'o<>TwCAHe>cu):@>hVeX>.fg>ZOE0GZG7Ȅ>~xFp  > ?VAE> bh>Fyz>.F>RvD>mb2>vsH0{>&lJ*ƠE>}#>ʼn%>xUfA}J:|Ƒ>[b>l?D+Į:}_>ڿS|V>Q>`E>897WY? x?+&?z7?XG?ÂV?zkS"d?1rPpo?eWLRv?c=ѝ"}?=1tt?B'4?Qehْd?5P??K ;VX>>Āb_>Gź>ʊ_#M>W&>Z g># DqJ9 _?n閏z?#_?w>()?c2?R:?bٗ? &?|˴IE?s֜??q~?Aq?E?#ͺ?H?nЋEe??*7w?g;G?r{[?N|E?HB?-^va?P '?N6Q[?'e-H=?o0m\?}ye?7,F?z?A?ߔl?y@!? bA?F?p?(25_?bTE;?o?dSt?5 򲝶?={k̫?&喡?2{ۖ?ؤK'r?Q3am„?8׾X?/8H?&^f5?3?pOX,˂R>xAkW >n<炾6V_> >v S0>f$WL_sL<`>\Y?x>dXJoe>"Tl>eW>gc>ż>{Ky>^S|}ck>F~ 2v2LO\|f[Q>>+Q>D>zY >!>S]Q >/2~BϦ>~YbwA>ܐ;z:6: ۗ' ͠>(R >>STŞ>P~1|ҋ93H>ẽ>O;>b4<>  &?nաH wF>ku>ߩ1>eF>?7[>Y4>G.>WE>aZt>yTXˍ, wh v–st}8N3&SvՒ0BܠA{>5>@Ab>Lh>"D>~>lu>&>]?9,uD?TI1%?- y5?hd F?V&>H(> nȪ?v} ?ʔ{W-?3B{8?!XnB?m yEJ?J'YQ?ȋU?8KY?\*\?T]?o;+V?`KS?!C>mI?n 5m+?Rs8y`MT?RW WщR%SO@I\vc?1d2&1?^.C>I?f"S?.'W?LW?HT?q@AmM?:p98?+,yIkSƭzVr?b?q\?"?U~{8?ɀ?{XRZ?nuk?p0?ʻ-{?f/rr?ۃq?kF7?U>UtC~1 d|r NǗ~꾃ؾȸԍȾN)Ƒ @V8mq'[N>r'Yk6iqv2х7ſ*ӿhYpx}$a𿭔.0'W]#f-_hM ;᫭þ)cO:Ҿ0HzWHv tR k9;qn-A9o^!N"&[Nj*ᮃS.(Ab?&T~p?4~?1@e?Y;?M?%?g?:?Op ]?y[?eqY?Iu}ڄV?S?)K1P? K0L? 5|G?XC?Tc@??a޶Z?"Gؿ~ȉ˿SRLۤ5Bʎ2Pu~AJnv0/7_it,OYAV`S4jH}$ <пP_Kز᱿oůJ(1/o 2\3h)&Zv0^*m<cҏqZǁ RWNK DE%[>:A'S|=3P?"2OPA2aPt2u_2>1*qx0CP.1j(",uHԱ)%Cu'W|%T#v" % !k6s 92G &0?V9O0?m9I2?J3? Z?5?#̚7?9?xT;?@BNPXY}Ra2]ϣ!hʔ[(GIs.0*2bvx4& 6[~̸8K:u%;I;)'; : 8Y6I x&4s^1u.pi1*q&СGτ#-7&O!_x 4 >>t-m{gXZRU4>ЮC>!m>S#x䝾l-!8V %5ҙ񗍥>ϕ>0i> ><Jv>[&y><>">!~=.#6>:LL>|eJ>T#-;B)jܤ>9>>D>\}Ril$>;,u>}vg>S@魭>TmS>5>Y.z>zq$>yQlqć>Giagߝj^xqE=umͰ>XގHI^%Sl>0j=趎>݃K>?俇@@?NȾMB>Iޕ>C;v>gϢ}{MFyS_ YZ>ƊS>ϧ~>\ގ+$$>L}>1/ 2Pbgrɏ*ḧIZSޕjJվC.|w7>^[v"Tf~_>TrI>aeY>u$>NUKm>%0_M?>"?׍;".?yb)>?sHhyO?{vm(>ˑ!>7 :·?{2l?MId&?!߿I3?m{r>?EhJF?K nN?gm5~S?4I]aW?3~KZ?H|4]?QX[^?$n6V?xkU?>P?^N3r@?5y֢ۦE2RxVGWqr}{U}/++PKݪWSAi#v>(KUrSA?)P?PGdwU?R٬W?߁V?+{'R?d%wUsE?\J[?m)Z@FIw2P쫮˾UNr"V5GYd?sz?l ?pHCͫ?+d&T?Y 2?ζ?u^?H>^?Fa?s$I? ?!o?Dx??ŨMլ:+'4s x/MK2B6RNP>46Ҿr*6þ@tF%:.%돾o-3d33Aᖿ96˫Gd6_/Ϳ-՛ٿjR];33C\Gٖ0qG7>lrȥcoz>uqkzp䵾g=ɾ~۾wsrl 4*& 4Ss/? XY})>}a #DYl(gG,*a$y#0j%`?ZX'h?|v?+K9?J>q?/J?\][?E`Q?Pnu?[8]?\E^?}\? =Z?CI5X?78U?|qR?^Q,N??aI?捪E? ą4B?Rse>?x W=:?6?tsS[4?H52?QH[ 0? [0?xI ?Lw?&V3 ?9o2yy?N;?C(g?$CC?yH?VFT3?[?fP$?厫F?f )!'gymM-׿uѭwڿeݿRq߿fcῦ ևK?b =?0,.?סg?S[?5?kB?\c0{?.A]r?(zg?eiy(`?sv_HV?:o k>P?l֡YH? Y 7C?VN%@?O,&=?Rծ޿y`ҿR.3Ŀ@4݌(Mͅ\"u?eBAʧEVQGW-GMw:1?WVp3?y4?ީ-6?e28?XUf:?!tM;?g^ő W!fN%fe&+ӣxڨ0hH5l35T7BDlu0v9[m:?'G;f";=Mm;mQ-7;n_}`9"@s7,]562-7f0ܿ|>@,Vcт1( S$uY"ęlq .̀%ng Ag){ڵ8v q.`a>%H^pA0'!V>Uv>B] ><b>~?RH~hpnc>ȎfBn)d[F( }'1SimGnӉnB֥)/SÆ>% cp>rzOڂXv>Ff>>'iZ>jlG?̔-(<?n!?G>rC0?)2mS>? $WN>|!?+s?*]b"?]ȻQ+?`ҝ3?m9e7?[kF5;?־*9=?{ e=? a:?-ýW5?(mJ?Aܛk8?K>F3hQ-Q] ^ʱEtc{f-x\>g@eYa#~U?c@O>?oY{U?$`?8"I@^Pzts+鿜Ӊ:Y[/۾ȩbZ̾f%9֙cvx*"}o2"]itD'fUi|婺oa1C2rM}@|>ֽg? u?m??,խ4mD+˾l-۾1ٱU eI V@{S lY " hy Jf>>bܿ9$R׿1-~qԿi1ѿiϿ{d<%̿ᔢGSȿ#$Ŀ /;eI1:޳ԝӓ3*?Nʭ?g_Y?L7[?[?%Ymڂ? 2"?* t?<&.T?؅qm?GJ?PsT?˿*e8&e"Vt+]9%#䁿5t9xi_^-RjGx)kv=#o82A%B;uht?aNF?\>\ħ?' ?'OBby?BO_?k?;?uMfB>L"LYl\ \ kY (o52?˪|bf$?'?HٗS? [?&4?Mt?=i?=@э^?ظR?G? A=?{T2?/o%?Y?R&sKV?v۬+!ߐ =N%.M\˟& Nkg:?n ;vᆭPӎA_QxP8V&acw꾸3f, KWOudDg־)$#>usv=^>ꘈF?>}HVu>x[v>*KI>7, >]Rs>]""v>@E|j>k;>0ꑀ9d>f?"F64?kt=l|\>mx8CO`v=ުKо5EJj^4 Md>) tp>[Gx>(Vju~jݵ{ݲWf>7v@jN>$|UC->}t>bc>ᤫ>;P ?]8?9(?oѸ6?6)OD?wݻ>EDܭK>'Ј?Еf?4 ?ky@&?@m0?0RG睛5?:?ƴm4ɥ迴CZN4{Er#Od=%Ŗ+m׻g2< ⾜`lHҾk1WFgF4{`2i݄fS]Wun6\JDquMmRͼI8?:)vcÙ§h-Q#B[{?W5;7?o?wZ v?Pjפ?= R/ol#+zþԾ_61KQ'𾏨u@`4=|t a f<%/1mBIhYi_P.?ӭ}p'??\M36jMŽk`^81! 8ƿ 1ڿQS(?pۧ?\׊'=>(S!Y)4)TvAl]n$7AL: ZE&-57߹(þo4<> -@G>}>?N6c%ڿYG4տxJӿHпc ͿQ WʿUJƿU0¿ϼֱ ףo8&?t]?6EV௳?Yzݼ?"~K?DV?'nU?!r!? \q?Úa?f?!?:H<@b?0dԿ3F2¿oЏ|V!bL]/68J{}'p5=c ؃WMZN͙B>7>A"X,)€`V ;L#siv;?7YgU?̞d%r?Oz.? EZߧ?l1 l?]\,O??5y2?8a]xk+"V(y\*#P7IbŌ?Zn?Hz?͉J?_d7?J`?7I{?n9<(p?I3 c?7M_W?{j+M?pK_}B??U7?Jo륇,?f9zx ?+rp?ڷ~u> @+RBGu¦ 7ͽ3Fc>uWFn0󾺔P 0`;=r5lmV.*C8qD)LN+߾+%Ⱦdaoٌ>sML>Sʚp>Eү>b=t@>Q'q>[:[>Lk>H >8j5>Y>~>fQ ?bs"?sJ`K02PRp[q>kuR+]>{$ο?M҄4?_~O@?Y0H?]bP?z,T?HDnY?m]?byL`?ɴu(ob?MPH÷c?[wKd?}( e? + e?jcDd?e迷c?)'Eob?`s`? ;/d]? lY?e`!T?LbP?0H?9͒@?k`S 4?i˸}>xe*(n|`ђ h>&q&}> 4?sݶt?Iw>:п>"',7>3Uz>R >>둫>׫>O>+%>TߒPQY?iW?URU?Ri~Q?nRK?[)&=D?.Gf>;?j70?W=8#?=nO?z\!E?db>Ef[?/J?VerA:?ЀN*?ds'8?iӵ ?Cw>ͳ讨>CWH>U] |?jCd¼?Ͼ'65>Ka>^4>sJ[_>wC@ (?X#$?8!?5![?{k?zDY/ ?| 7N?K3?d> t>P[><ij>ð>q>P/gtJ?ಘ?ɪ ?6nM@?b@r?jয়E? :&?T?Q}?|t?񽏣~Fn?~f?Ria?k [?z~(<&W?CX;|DT?R?ٻM,?s˜5?1kn=? }-B?&'DG?j uK?6OP?_z?|R?xU? 1?wc\+?|*"?n?bيp?" A?֢+?g*?Y(?; m&?mF$?+,!?85f@?ĕ?/ ?Rgl?N??ե6.?x.?|R?DP?~L?qmH?|N0D?쥇@?hV<;?O e5?>Aq+50?%nh?'?d?܏0@$ ?n6>l , LDy$?> WT-6q$t>Xlv#p>(,P>Q58>3Rl>$ D>QyE?<>u4~>{E>f(ҖW!??V?;x?KcEa>ƋSlYq-)nR>6֥.V,Bo>ȸ/;>>~ܾ>_2>u@G6>%.?Xm:?ך_;D?pfL?~98R?><.W?rM[?Uos{_?L%:a?\ c?9/g6d?O@d?+e?9d?->|x6d?mc?Ya?e_?z%U[?CߘI/W?^A5R?)-eL?&@,:D?Ycl:?M.7.?!x>|u>8Gg Jerq>ݪLt>4vC>ۘ>N.`3c>lTR?jsܞ?"л?M[>‚I^>{|>>$/>3p>~+/E ]"mgqu>9dcM\Z?KG?j1T?nYuF?Bm?ȕn xC?:?O@?41zk?Wf9?ʏ?ːM2?J?p҅)?x?9d? ?Vy>dgd?@S? :B?=؜gv2?Fphg"??Y1?p83>)evi>J?>< t?i't?PݒlM?AڜaL?x)?Uo'?vA? Ԭn?pf4:?38?αe4?QA?GX 3?:1?z ?0%?\D1?љ/?ggSv?=gt?J7 >;@p`';@1b!P?@ ?Gd}?o@I?vf@z3c@<8 @=` mm @"'@D@Ov@Sx*@q@Z@Ek@5/ @M@$_|*@Ol^v@ O@J@6[m @Q @*_b@bw@#QnH?\"j?zPLH?O{eK?6_o?B_s8?vg?0T&?W@X??`6?Z!?؅^?i'>?bY>lq?c >-+a?;xKލ>G(SgP?p]q>FB??LBѧ>E<)?cGI&?nHY#?C?ܥ*?:|ge}?]?TMI>j>O '>Pa>>R.>c>~ Ѝ>F?x?g;D?-}?KRmA?¬Dml?Jhf-)=? U?hx7?8vY?/A"B3?dhg?Љ.?p?)J/(?+үM?]_$^#?HA|v?+?~5cp?(h?Q,gh??Qk?E;b?1(O?W >$]?㟴?)>X?y{p ?`&U?i ?{!%?`bۖ1?;Zy9?Y@?v# E?I?hǩ8N?Q Q?S?ܕdj?kf?F?J?/og?^H?#*GK?P0w?Mf?|׆y?"@`?6ur`?obrJ[?q[?-{ѣW?PuW?2/?HW?bCX?y)Y?2[?v=kS\?>gҷX]?|Ӷ;^?{җU^?mQZ_?sс`?P"`?3> @.`?##`?yo"`?&@i_?|H_?`E^?[٪c]? d\?d-F[?VCZ?̏bX?6fjW?zEMV?*c?<`97?%8Z?{B3?ǂm?GU?(ϪW?D]H?:q?ϸ?( ?^?v ?#U?Zd?n?Bŭv? J> ?^"op?|aȠ\?3 l~h?MX?{b?kq?[8B]?Us)T?wاX? A>hZ#1U?f>K%T?Q?f O? J?x XF?B?b Gn>?=8?ۓ:2?A+?g #?Fd??U>1>pؚ` Qu>)sD#:׉>z#AP̄?zq>98>5p>| P7>ɗ@|ş"F>ƛ>wS%?Pӵ??u'C?pw?,=P?`Q*?5/?A ?O'"Ѳ?^ؠ~?Sr?kѳu?0tB |?U͵?ƴfs>?:+R?{w~E?U)K?,NR?"9@ڼ?KG?O{?3@edA@x]l@`k?>̤+?A6?:ߣE?Pwy?48?Qt?gbp?@By}`?USP?޷_>?|W?ޏ,U?G4R?(:HN?^/-H?AQ.C?OA P??KOC8?2i3?+#/?>)?TtƖ%?hw Xg"?Xs- ?yWs??dq?$ +?"?ܤ@ ?bo??}]3?ʁ,z?c2s?gl?k1Ae?ˑa?@n@\?J\/+X?^4扭N?,Ŭ'?"?y䕢?u×?0$O?L9.?a`}?Z@t?r+dn?f?@~ya?_\?X/qfW?a`T?& A>\am>)@DVP>~_zz*dvWrsz &c2n\n >ct?` Q`> }'>^09J*> WT>"Q> jea?Cgj?jw, ? O0?klyI .>7T>E6R>_>R>MyN>lѼI0wnׄ|H94>Qn3) 6ӱ0t>9|A>Ni/BTP IV>2?GWZCزne,.Lp>1«>{xPkxv=mN>t[$;>Ǐ>b tc>\+!>o?WODI?fS  Y8mc5,Go>];|'ox>sxjZT/uf-?v R? 2m?rzks>ƫt>0\">aNCMd>Ǫ'-Q>S~YŢ>>e@;>+> ѺldE?TD?fF0?Ѥ-?V ?Kɑ?o;T?-Gp?%w0خY?2ZRuX?eYV?yxS?v>O?H.G?@?-ƣ5?k)?++o"?^v< ?. m>6 >L N?9c=?&,?ɽĻ?qO ?.eЧ>!>tOp>zL[>!m?C/x?dώ?Hc2RƇ? _S?ьGԐ ?#WIC??H%  ?yL?w?Qͣƞ?͛o?*Co?7ƞ?xw?_?n$?p??OMR ?@ӻR?AA??x?;Um?M ?Fas}?iHbԶ?pے?i)px? ,?NWjM?+~2%? [N @w@@@Z-i? ?f ?+?"YG;@x@G*@偊O@d8;@7H@I b@VB1@'@Xb@fr@Vk;@dO@IK+@\@ANP;@!j?1< ?V =?F /h?8dU?Z?wTq+?%lt\?Zgw?I%>y#[>W >Z;MH>}T[ >!>x?Z?+X\N?'P. ?o7 ?iV>/MP>.>y>NZvÉ>"!7]>@Lf>> X?,Wn?1>?Rs?:w_?0x䥬?N, ?m#?ޔ>oc?" l?.~?cdtj膧?2~?mkQ3?Dlۢ?T?Ϡx?7q? Wj?xc?+0^?8Ha7Y?'0U?I2XS?IK?7+?t?Z%Q5? #=?NX>B?wMF?8aK?iP?@혷\R?.ܝ?%  ? /?SN#?n.? B2o3?7u<;\??*g:&?BldD?(?~5?6ʜW?}FcP?#E?`?I|}?L޿]?#ɾ4?V? `:?s0>?vod ?+?E֑n?ez)U?TtV?m1M?Z?7qk?ؿ#†?u?y7v?ᛜ6{p?Dـ>h?Fk~6c?[ _?{ aLZ?_;W? 0V?y*zW?X?sl9Z?8-[?X8\?tz%]?^[Y]?}^?u_? )^l_?%NM_?*#5_?荒~o_?9#_?f爞^?8]?81]?b-F\?8>[??GqZ?rjX?`[ޛW?__EV?" Vg?'79?*M9??Ҟ?jP?Ar?s/ ip?ǁ+6a?rXQ?0  @?ɨnR+?+?|?%+??)?QKU'?O2@%?+<"?i ?:_8?8ːAA?2<?rK?&$?XJ_R?nAHt6?ƣ ?R?ɞ MM^P?YL?v9T)H?CD?[_㐰@?:?Ccd25?lƉa0?i\'?9β?m'3 ?![Y{k>w+Z9>A8>+ ܟ]>)^>x+A>0GruCf5[>_LQ{6>"戩|Qvpy 5 nǧg>SN]cmg۞>qKE>kN>v/rD>VAӭ˴? V>5+>m2^w>Iu>!`z_>=$>Pby?5^Bk? Ko'?tr-6?Q!-L |Is * 7 _+y> ̥EX`h>]/z: 5g@܈>?Y~>(|D^f>Өu>]0a>ٚF`2h&I]SeBE?ቾhGZ5z s)Ϩ>!u$~;cC-6>{T1>BPm^>iX)m>_u4G>WX}p"]==E>]>86>+ɯ9%O>>)?惫.?iC?DP?iY?dD\b?x8h?}x@n?4! r?$t?}-2w?"(y?z?#CĹ"{?Q{?f#{?vŠdƛz?P(y?|z2w?b.bt?ar?rJ,@n?H'8h?:B\b?1mUY?vL6P? bGkC?jDNƓ>C mLO{RE4>Ix>g*^p>t2 Xt|>Ȏ<׳>E*B>ݞ[w|+"ˈ k>D:wm>b@w}>PG>4-pn>^C7{j[A>V?se>NX?kQh>c̏]5? \$?xd?5yj?s>>.b/W>? >Qwz>r'R> ~hD>0t$p"q`>ՀF??F ?) n?r?_&Z?q?w?=[e?'?;H?˿|Q?xZYG??SURE?,?ٛ,ZB?,$?4BO=??h^`6?ĝtE?zo^/?-_:Ő?D{YQ$? ?kK(?|]3V喊?JEU>8&M!r? >l+nzU?D?R4?^$?"wF j? |?e! >S:>1Ҍ>eK>χc f?i8fvs?D]H~?(s;?k|?PJ]? }? K?Nьg?"t#?nT2?G50?P?/?*2?#?QdGg?Iɻ?6L7?I_]?K9 ?)rti:?yj~?Pus?| f?0-?~!D]? *L?]lcK?Ltd?}b??UG?B?%P*?H?:[2? !J?-I?Y?c-b?L`?;?O~@5@5Tc@!Px͟@)h@?0-O?Pp?#C?gCm?3?u? @lɐ:@hg0l@ILd@(/@m.@ky@[z@b)@IɄ.@?E@'G@C~@d`@'j) @PY? Ø?s_?R8o?&?@66G?tA?2L?e ?BP?`d?O?_jvj?j, ?16?m~et?d ?-]Zq?pDA|T?g$ۘ?|\BB?14?`0?7lg~?BuOK?թ?r#_ ?#͋8?aJ5- >?/?/Y{u>;x?A2Px>uh?5ɟW>iaX?_V>уZC]G?>M>MZ%vH 5?bR#(|p>?@?;YS3?}IY ?( ?T>?>3x>>N;s>]@>c$ >wE>B >N,4aZ> 9G?ܾƯ|d?fjqav?^?u?n!?4?MS m?/Y+??h2G?!2ܚ?ٕ8T?_>K?qo?lR ?qt?^?}̈́?4ZA(?K -3u?Q ?;p?4L? RSU?hL?{zG?S?XJc4]??rz?n =O?ON?2$ns?@0Is? %?T<?7 Cq?tq?ji&??h?v?hC?|ą?nQ~?B=QW~?{Ȟu?G.u?o?$Ԇo?ig?>Xbg?ܹwub?b?#eU]?_q]?x14IY?n qY?yޝV?E^V?FhjU?lV?Ə/%X?-_kY?r,Z?[?4=|\? v]?H^?v6Ԍ^?r؁DG_?eN2_?-_?B*_?HJ_?[^?֑@N^?WQ]?q*\?O^w&[? ܰZ?`ǃY?2h%AX?grږV?֕U?b|,?~v?DCC?aÙ?1?{`lK??_\w?[̷%h?E|X? \H?XyG]6?aqT?N~>R 8&S?9F}Q?}RN?/~8J?J ,F? {nB?^gN>?e3c 7?2?$+?CQ"?¤?#X>c{>* >jMeMr> @u 6;Jw*c`hf>w>q>?uZ3vDmGV# d>PH>vJ?9)5\?? -G?-p2Z`?6Z ?&F??}~F?x"]?Ibe$?!a,?$~.?Rph?z/N?QW?M Cն?2,?}4y?/? ^X?ӏΦ&?׭y@Dĕ@nT@cZl 1j?Шc?d21_?[uY?u^|U?DRS?p]@4 z>Iga>8<5ژ˺Lꉾz3kF4։oLSa>`~!Wv>fy>?x炏P;s&1>ullB7tSm>;Sc6|󃾘(\u >LGV#Kgê$>iuWol>' >]rDw>4̔>x;F >ch$]>usQjs>8?xYhX>8:e>>gVm>~,{>=Up:>Wv-;1;?%t,N?qs ?e2?p (?pce?1p?{69kƆ?uߘ?_]?.1b?{8"o+?f|'?ZR]?^zz?lpI?SΩl?BiJ.?2Ew?}=l?vqI?SY?†|?u?'+?:hȝa?R]?*N?1Ħ]ņ?43|U?~(?f?+?X{c?.<?u[U$?dǣ?x6m?2[o?=?܊-n?;b? %??[xV??_ -? ; U?~Y^P?;?*F?z?k?4)`?{?zs?%~?mx p?zrA̭`?Q?? 3A@?jfܣ`B7R\R6Wt n=>eE5>[܅>qɹմ B>2%{>}fw~>}m3Im>W(-Sv>P\{uIy>q6}>nt>c-?yU?>o>wB7>:Gy>@>v1P>F85>}nukYN=St'p>:T;ྴF>gg솾ic{^[45\> U@Q|0 l AbLe,v>xu3)m>P!h>z2l܏k>wpGd=Pw7y=>n|[8\[t>X_>ܳ?(U?;!I)??_Ve?2Jx?4vw?)7.e?2c(?bQ΋?=tm?N}q\?O^c?p`?=drH?S.?o?#W?Nȫ?Zs? t?ȫ?:y?Xz߄?͝?箈 66Z>4S>f>/7T> _0 >m>jE>Ӵ>>>j0C!>rW?y.X?a%D?,@488el~71Ӂ=[(?q#?4[`?^C6!,c8-uE72"(42ڱ3(h%/̈́^]$^'HU eIK ?tZ$?|!/?^Ss3?^ ԛ4?AܒC2?$-?q0{!?M>_WtwxN#d](t)򼡾6 r#p@We>Aj>lej(K6kQ,Ɵx"gzEA"80߾x S^ξz ަ[̩ -p۷e1O?YR?y42?+|$?>wt?h?x4>b?<`>Q?oYA?Ly1?0 U"?$9 ?qzL?VRc>e7<>HQs+ЌUlADG!j(8ſzLk"ӿp͉~ ^_fjhZw糡5SI"g$ [?֪.C?.`g? {9?e"?/6/=?΍?o0C?3ř?( 4?T*?7 ?1EOl/.zʿЛi 6ֿBA޿I*$C4zZ濌OEv?>O? @H?ؔ?zx?et[?Et?zP%;'k?II^b?X^1Y?GZ AR?gW&K?Ql)D?$2A? g0?|s1?tn3?c*4?] 7?ZI?9?#qj V;??)=?^g>?}|пܡ, 2)>줿N`c LFT*.3dvMx8m),"9c:"S[#p4S':KA_;E+ƞ&Ar_5 >?w4MV=?46viF\N ֘'"u\* Qe0 *4t3k^$6G44|8.q:DH߷;A =y=Xv5QB67NB5<5?Z3-ǜ^2Φ>0xfW.C#+=\(՟)Xi&tN$MQ<#Lkm"BdL%!숄{=OɩN59@Cߖ8>F^e^>dz>4TV>j>n2+>(.Z>|9?>e>5>W>>kM ?sQ?{>"?Ї>UwZb=n06i> d<&>=vxwh>cL @a>2fqH'? &?~ ?>?Ydǟbz'yx]0h;]39(3ٗ17g/*\A>H?ހGU+*? k"SU1?nMԓ3?=Ξ3?P-ڏ0?(D'?Z=?i+E.&(/>T&doemE'|:{>@9%vG>NFR4>Cj<Eh#KU0r?Om+JtX.u6!ur; 'f&]C@mƁܝվЗ`5ž ܴe 9Jc@O/mijz3(k6?,508_?ɒa?BF]?l0ۘ?Z?f,}?,V?% ?OyR?Wq <6j? h{Y?cߵ'I?=i/9?t )?pqDU?n\,r ?i>:|j>#=>+s?[. sQG ?ZX_j?7~v.?V-4N?8 vſM?,ӿ6 ?4u9 4?ޅe 3鿑xuQI?@U<ߥHwj~e#X?SW6`i?Thy& bI7?4t6J3-'?cqa?]hO? F?+ah?"X?v?"?bP?Zes?'?ʀ?-¿1r8ѿ[Cuڿ0ōQKٵ"忰jle=U񕇇g6gO!F01> aL|&J1ݿȷ2wRXeM`ϿyD@|V5Tƃ.fع%uQ6"'˟P: AhT­ iT͙ nzdTTؾ藽W^S/ʾ}J&O73]Raúl@-1>ᵾA1N35{1 Z n. D(ZvH#9/gײ 7 %GF`H?p\1w?qxvпv2!? `$%kBS?aRDl? Ը?~ 4{?Oɧ茿Iۆ|?Hbt߁3ǵv?Ϛ8v P2m?Em}o:c?ÙcҒ![?>y"[u@`%S?@"š SWOL?iC K#RVyE?;DEBBjA?J7A4DI>?,K=?nj>Fx#Pon`&a-hY1RI4h:guZ79XII>;&v{)'rʓ5ZcaV%G!{R$5i{eKx~"z>mE8z5!5_:!AA=s EHG=l޸+_;Ac&]&F]~Q>+ҹ>퓇uzh>I Gr>_ɝ>O>]*z->a} PգFgtt9oǦrN+Z>eM?egK?K?}K?a|?@PN>%S+An]> h~ٚ-7 k>VAfY qޢ>Z58o AnT.Tug>nmV}>) k>y!xs?AP>eGY>% O>VۣH>> }?zex?>'&?ׅ:s-5?Qݺ^3>i) mb[6>;"&N+Фhpn>(>?aS&>~ K> w>hb&>m(._>3 ޥ>zB)M)W4>%G@>>n?ȵ88g־1}MB?>? $ /0?ȐO/SS5j-Bݯ$*d;H*pMJ.@IQS}Du#%; "S*"?/#;?߶D?Ċ9I?E&wJ? s0H?SşB?O 5?uXl?JX+>0zg@> 05YB|)뜧-[hO>(ck֠3 D~ >[ >Q%{`u&Ye YɀYݵL5>w nk?Bd:r>hs> &IM>Bҕ\613[>6"!dEuv[f6pヘ#;޾L/ξZ?Nrz+rwp9Z|[aI1up?rW?D6{c?ixO?aE?xcf?p[? #`yo=T?דìC?33?`"$?T?u^?)>np>PDz> e?ٝ&b?e]i Y?H ̞A?IW@ eV`*U*c(3fbed-E_=t:T5,kQ{%WÿZ~ϿМտ]&dTۿ)#[I3ß俛_P}n^h V}S1^Bfq-Yb%lHv)!OuHVeտz)ɿ{+k񻿯;LR 旿#Զmi7ё`V1\D k:2cy!*>8\}N/޾!|о¾q](Kʫ)0Vi',AQ?mq't"IHU(yS>@ ]ʄzX+E%UF0Ӿ>0kRRHb?tdUn?q|? M<ċ?U~ؚ?Ws?M~ ?@C|? z*?1DA?v>a?R}P?^?,d 2?4 S4? *S6?1h8?JbY:?穢 ;?K[K^+Aϛb"J*(B_WN/Dd2hb/5u vTr7VjYF9L:@W2;hBn>v<.PSVѿR|ſaq,${-tV@'|Q me9nrt^AŐTXA- :m5L93p(6%l26e5J4ŬUP',3UK;1 0 -MJ9A*cdž'~ݳ%l#7ݱ"ɼ!?ŏ_ W<?&;18!Q9(74>$1VH/xf*uo&Г(t#Ra!%\1J !ЄbW>0f:r#7>$ǧ>4Z@/BԬf>E YТ>Ĭ^mޢ>"ۧlɡm+sI@Ӗ>"Yus|F5>[R~^>X1h>Xծ{ q>)D>n"> 2st ?'">B>i[>_>"I>ݡQ?9?t\mq ?,.n/?hQ;?^>\Փ>pE[slk>Xk> I>0x#>#)2^]>Y>'A0н>yAqC4/> 9By>ͧa)q1jT$F>"hvW!o7Yk>'oE<{2Yꐾh]7c>܈{D7ڐ=>n;>mlq>3߲D>ٵҔ>s{>`F*׾F*_x?ED{B?ֿ'A?bgf8?W?Hp{'Ɔ =={{E \ IqƉSJ9+RaG}oAəN2l&QV>vL[2?zZxmA?To\G?M7LJ?!GI?E?a0^=?6~1'?ɛe"&.}=GQC>~-'"뽘>B7ԇNrXz_">>By>ia#}P\WT>Keg\X/7bV72!?>BZ>  z>(4f_㒾a"o>܂]ӾOא0Vsm OPbЈq: +"x,Q@b?; _N?K?#?}9bv?dL:h?;``?~dO?ͫ _?E=}?0BN'\?? Y?2BK+?ρBT?˟b?K=2P?}}{P?_9G?͌N':?CZ=)@?t?bÏi4?mtd?e ѽ'?M"?iV?{iT^^?8?tiv?q>҆ }\?g7=D^L?'!y3>qڋ>-NJ>`Ie?Cd?3n_?N;pQ?ÿo>2Olu4\7Kb//Wc%aׯ nZ}%PYLe9>W{i[L?jZlZ?12a?RA_Qc?\%Cb?4\?9S*߬O?f`IzKlg*Qa6}_FCdjkk,e>R7?PVc6ݏ?_`r?H!lqCߥ?)be:4)?|{Ϳ# ?Ds= ڿu ?HiM]Lǯ?vgA lz?%q"Kygjɺ?BN?#4M42?`)1{?),).?[iJ) ?OiC ??r`?o0?:WA?%#?ߔ*n?&3S?Ç?@ :1xcA& YɿrFҿE)SؿiP޿ө&MTmvP忧Hܦ'ZQրR>-gҡwsui3|޶p3%Pu=^.ڿmzпOE6ÿ~˳G R W2LV?uW ^8[$տwH1W{ƿɾm-q6=]fs$Da"(q%zX0o!q׏POuT<enIѾDU:LfRF^J|Һj9$н5頾/0W 1*G. 7)b%g}̸X fpycf1b׈9?U4xݾ^/-x˾50.Ď/әr _?!_cqg?t?˱K?z^MuP?^6?JĞ?xK% ,?y ?OaS6?kn^?Bn;?v:[?ɸ?ږX?Yۿ)?U?|3?I 1?o3?zU5?$1d7?}2 :j9?\2;?LJR ?/?×W?']6>Vأ?9'M^uR0t6qS8"ÿ~onǿ^˿`Ͽ"íJѿy[ӿ Ӿտaֿ ׿_(y?X+xǿQiRɸ?WuǸTh&_?q\!`?#f"]=?A󒒿mn&s?hK5Chh|?Uޠb|8˜ADr?F>rC|Ph?_[ hEuM`?ї~A`,n7V?NΕVrlLP?ν4P{PeH?8-"/H.F42C?iBH@?eJ?=?w9P'6?q[ 4?skJE1?:Y+^,?'Q%? w?dȣ ?&'k?̙><V pGO19P%f/,m$14 =31eX6pd4e8]r:J(S;EC+N)3zb0żr,@ۣ(1%j3V"Ŕ -;x>H ׊>T[e~k>Eb>7&Zڡ>?}>biD>Ћ>sJ?#zxB[z>oc/pK/yоd=E{5KA?6j?j-?K/?gL\a?p$ִ^?:@?D?Zwɫ?N~?a?o?GĐ o?#',)?$ w?GnZ?SSn?c? &?D+?*??=tc ?3?'|??,o$ؿWȿf٪۷V+=3cӋ7Z8uѫ+egN|UDE#7)hya?8 s_?u%[?P[W?Hi)T?~"2 P?" 3K?%H-G?KZFAC?z@?>ҊJ;?8e[U|7?#֣4?>/̂К2?B?1?6i>ӟ?˩?8CRë?QߺIkR'ܚvf>VmцQ~=an"۵>$ gz%Vʾ> QY67LX9W>OO6ӿ>yg}ʼ/MW4e JD>Cpxl\>޶PA̺>A&H6Y>LF>x>\ptEdhH>ϙOSytteȦT>e/X̗>x'0>/ȓW>QJaOspC vԜM]?@$?qeŰ?53Z?U&ۻ.ex V\m?G9mz?O'~?‡?lBå?tY?̈?K?|9?4숦?nEg3?s;K?=ꮛ_?X l?bMh?{ܸ?n9?@NХ?}&?2eP6X=ޥC( 5lH0฿ƬjKV-0¿\l|ſ0xy!PȿZ1˿$ZPȣͿoF`Ͽ1Z舏 ӊN̗®7kPk`xz#1}kyb]}~eMO/?[eA3*6>~n_%-MpX!{Π>)iPL1NP-N#eǣ)n>M*6u}E*򅓗g?q1>un@|k`{>t\ok>ާr5&9H@ܔ>sdq?Iz a#"\qs>Rɯ\u<%>z!5b>YyPt>; Gҋ>(]ӶFn>>yL9>=`,3`0>ԅ Z匾ѥ>Kv=t4ۑ>E>j>k7eԢ?0ܑ*q?p(;?l?I8q,8ؖ?q;gg?2_nv?A2h?:`?r?_xRm?Ϊa?AA?=ثQbH;ii~u"kX BivX/cL\WTM Ѡ>2T?f=.c?ank=i?[:#k?!j[Q_]i?M?b?kQ]P?AԤURAb xazmi!ޏr:8,fއi{C#@࿈ڠٿ ظѿYTEƿe񈉻h07OZT)mf bf?@ԥs?_2\B?fI0?W ?Χ_'N?}e?/=ǹ?4Ud@?am?b t?R?1>,?=?N?r?G?mC-? vx?S?xg (?K=FedH }}~i0M})HMĿoو+ǿ -ɿPLr̿̅ƾο/(|>пZ> ſD ٹ E[k[7?mVb5/}bANs_+rF@dL/bUl#G:Q:אڋz1M^>f>vrUT۰>ԉ>c15ձ>t;ə>DCma>Ƿ>k>W>E#ub?oZ,K?p?j$vs+@&-=7>οlro?\RD- X?SoH{?A^.roWG,lr670=u.i@tlDRAʡ`(9?B];8<;m04q=7?uX0?`{P8?#3??LgA?^ >åv6jbAE3V>SȃF wI' %t0z޾|V)ξ ږϒ}C .=d[F w 7wsLD%%6?l?Y??T{hpI?5/9?^T.[*?!?Gm ? ^c}>١c#>hWU7>/dS ğ~y_is>袵¥f>2aϩ1`w?n|Ժ?p,#?uh?H?W=忘ݏʳO߿h ܿ#Tٿ&OֿXB Կ_p1ѿϰ˿ڦ1~Ŀg ~'K6ؠM:?77>?5o()J?ēi~?U_$3?׺h?$.̵?i~O???R I?%6?4j?%X3W>[dE!}X4 "s#VBcLV0ᾫ.KӾecʗ* 2h LLgW?G \Rj۩#iOm-?c ӾyTl~tk DÿQ(>DŽ?y yg׾hSCƱ(&.υQ, lzͯW/?Oi?|4_??S?~FBLOH?oc>?Mn2?=4֧&?TzU?*0zN>ьߒ(ޜ NZM7kS%_+$|fm⾁Ow}Sƾ әF>->/X>RΥ<>!@6o>=B5>'L"D?as]d?آ4?P;?k?])?zfRfk٬ Ͻ ]#Rkd,wUv==s.N*9rlg?DZY>Vw}>24Xz>/]1>ST>ri>sY><¾Gwξaɛ$Ծ!EվhAΨmd>9~>xM e~Vهd'O>a{Ss>F?a7և%>l>[P>8ꩲ> y4>96>>dD>%69>7w>urUr>d'?6=v?3)R?aΑo4k>K ?a)wyGP\WHD>F>(^|P4>dN,&]kF ?&'??r[ <m3#E¹2  :n @_4AJw@uax #?ªT>Ug.9d=dAI vra2I>mݶu{0.MR}\$ uԚh>غNCML{DfL龟6K¿s.S@~.$֕MS2%mpվ!9ľ&qKgz/ut0R؜&SI:2:9zg޿?K̂>?/yf*=?!5=?ԫǸ?ڭjI9?IƸ?ߴz4?U]? ;3-?8Yaz?]ÚL#??0?)?K0?`?7,sx?rU>㛋Va?1уAQ?| B?uuA252?@#?*`&?h[6? Wǿ>k>t٩>e+g?B7gf?d~EfWϰ?u9x}@C3?W93{ymƬ?ctȬQ;1i{N? 3YPN7ƶ?oT0dʶ@M?,TEܩOL?gd jǿY?d .ڿqy*?¬ |+]>AxxE>Aޑ;Xq8о$qSk8DWdcsF5Cf|3ѹq(`u̿h ?wpѺ3κ?v'R2O?CK Z!2;?k[ `?>WB:U?@eHnuR<emu?u.i4vٙi?Q%_N*_?ǐߟ;S;O*@S?w'GG`H?xW= p>?xt022?P&kB&?S)njUlS?ޯ=r2yt̾b93<<DװH/ZWR ek a|c辮^> >|o>潆 >BszT?X >?U ^?z?(?s^ -?X'? {0?G\I?Ɯ[ מ s?'6M;YW?Z231`?3ʷ5y:eM܀?wypJws?ĶL3jSZg?@@.4/]?f\.VKWR?ܷR% 4F?ݒZyfҦ>A`|>:>p>_9>dE^>X:Jہ_Ⱦ歹6PѾzw^վ.}־,>}V8AZ{4{fLg>. mq>W]x>!k~>Lp$>f>i pSҤj>,_I$uwabt0!ҿG݊0̿E#˝q2뭴?JϚ+p?Vq?WDs)?\T'š?UzJ0?I?@\nm*q?+,d?lf }y?bSo?k8?_Rk?3)4?A?;Z)x=j 庿PmпTnnݿ_C]* A? 㔻?Nb?جϒH?_7Mìn?O_/H?? ` ɚ2+JY/a !&^ U?9망>UֈQCUxlot^muѳs(@ rv@ݟp2j uVK[5uRyӪC6>ę i˿ ;qЦh\@硂u:G٠i_/yS/BHUpL>ی2?_&ezHM?v|'?o?$}M?wa?(xE|?pgr?C ]F$Ff?Jvqci[?&*Q?뢣z}E?m` ;? կ 0?qH&$?sr[?E<*W "#d>s>H2K%>+){՗)nxccstf>9f>g >`:Xatz;3l>֖(ѻq>YPAv>sZm?Y(2>մ>lKTU=> >0D 0>jtz0\?(R}? 6T!?@`p~,?N]X{v兾yIt._r>oX>guJn>"J>gϝroml8ڤ4Е!s>V~>4):|>KB~]lJtF2jO~,RCW>HxhC3:?G~>F=W]e7xjJ6kQ>KZm>E2L~(ϾM(G,$4?6H[ !?ͳc%aב@HbK-EQH\EnTƷqTo}jSi:cNn0(QC,Y)+S+?CVC?AI_N?pȝʭR?\T?PFrߑhT?+Q?̑C.TK?Bݵ@?փͦ%?!YH4t>87Aw>@9h c0;>OR@qnraGl{V}mU>4~އ>~Ey> TV b>[5au>TcW> Ӭph=;gY63> +,ڱЗW*qe+js%1QC]@ݾLdȁL?dbozK=?֨x.?6ᬹ?j?nn?G[>LI>ڀn>QXW?dr9{D?Fm/Cui`:jn9_q2s9 tk&:=rU$mz b+ۻII?HXTb?Y%>m?1K:r?Lt?ā4&s?s'Yq?-oj? `?ЗC?PDUW cp+cNu| Y\["ħDY.閿,q?nľ?+C ?_8:A?nNʿoȻR;GM(n'`wK=Kew>$l ja 2ByUpK_@.Tcg:5(SE- )CNˠhmo w<>yhϴ>jh>Bg?þJӾM+q0߾ KU ]'뾺a)"Կdѿj5 οɫaʿBǿBjqĿ/NƻAMR1j;JW4[X ?`Ŧ{X4?؞]?JKs÷?r?+?E?[o?4y9??\\?ᄮ?m{b?`& ?6Hx$?qv0?k:?|?&Mlg?nbb|?;p?[/5d?t>'n X?NN?}?v9C?AZ7?bWI-?Ϧ ?0?R%JzOE$:2rs/5 B2x4 >wJX@]c㾲&ܾrY(оx>LS>D&2>(>}s>~ߢ>gi>yKId>Ɩ>A2u>UCHdnp>f/>24>_J`?{%e ?I.?k!q?Ոמz?!ͦb?D?!zy?zX+JL֡11gJZ!@>V͌ ʆU%1SLF! oPByS cU羼s<1辮b 辠i#u T侚Ca޾ŭH> l>;S>)2>g#>1:>F(5>x_b#w!Z¾ `Uƾ2ǾWv# zj(> }i]>wI+>V9鎾(t׉Fp#c>PXc۔0f>9Tqem>oKW>wA6 {h>׈eD5>oɘfb>iZHK>&)[~v>`t>J-U>bA ]?Gc>M3>U#>1l>M;>H {c> O#] ?3CYF?[ Z&?]1?!R}Yh> ބ>^vj݇z+b˥pbwr9N>vqQ+b>'>8aJ~9>/2Prpk$Z &5x˜I?:_ &=?63>w؆wy>H>9F:!|>v)d~ԁ@~RL;]k>x=JU>r>F夺_> ř>"J'&j>4nmYѾMG?zQ>G_w>6?i//?p.]9ڽgG 6с;F+sP^Zm0sS(rTިN~.T%8k.UQ UUIߚ*:& [\>4v:?p&RI?1RQ?*ҷ)T?-T?NlS?RÅO? /F?(da5?+鱥h+>쥀ř/zp6Q(OW>-wq>Àj>`>әÚI@4 >6Ud>l-K1>+`6V7@|>섲H>8 :'UR[0Fy.Sw)jlSl>:A>-3Е[o>F|Ͼ*7n>l޺O4Nmm!c17[w$25D2{&Әc\gu徭Mlվø3ždӠ+b=G  &i&1^޿$hwTǿff>ӚDe8XfXXA6t?;1?kث42?Tm;;ܿ#6d8?+@MҿQ;?:]?XAi>??U?x(|;?%[۲ȹ?NF6?Y_cs?+O1?=+? (? 4?_?J?:?B[>?"_?ƈ?q5n?gpH>II7T?B}_D?3P5?'{%?F?u<?C>޽4C>:3>`>>1c[?lLjQ?&DU?Uz{eKno/rO &tKdsZ[p?hko{YT>nY?-'>h?U˛p?+7m`s?!t?b;@r?qXo?~ee? qT?*W/A5Q~Id[~fs?-}ٳsR?xUt?W(g٪?^lTޫF}?צ A~?sDH?:9d2JޠjS?”Si; ?^,.&9s?5ǖҿ"?%}QD?y濵*v?ň8^*lvPܿKQ nؿտUEԛӿi-; [ѿ"M οfȿ(aEÿ!P%j_MJ4-? #0?83>Hh?B AN?Okq?u?BvY?~?(휽=??t K?nۡ?gX;]?.養`?Tz- $?۹,?'N)?(htߋ贿7ser'3HJeb" )!Zh#lc_+SA??VI79A;II?~ 1F=?_Z f -.+Cd?ܬPf?{)B?czPnxJ޾~}z)UоFF&7wC Ze +s <uQVgga7;Qf4nQTh\،%GWox˫x݋վP&ž`3y둾p` '?WH?4!!+xޔ15RoeJn$v[4^bo(kvIQg¿?!ѿXL2ʳ?0ܭCGɪ>̰谿UԺ{TYۡt{xO8E'4lܺSU-+S缍' ,yY6?= aSn(d8ܡb6GJq~LV/-AX{ GL8:sA!_\6wmSɾ-%/M+G.>j`Z'> YpP`>{Q2B>ę*>N5jm̾ dھzW6z:q~:޳v"4.տL;ҿVgU(пJ?&̿*2ȿt8ſZBbÿ̌BM*$ɺ"eo<l)?04.v?^ ب ?\6?Buκ?)nN?/X?#?(Aȿ?Of ?eđ%??7 l",?.74:ÿ98?qk$89(?6v!٣-Fy# ף?g*y-~_?`]7Ŀ5?={+&{?-piWׄp?|cc?e%&pXV:@tX?~ #ZNQZdN?Q*,oBC?:17=ثѷ7?^P,(M޷,?W%sC zWm% ?"Y߭F-׋?Em)m#KxϽHDP[k#t5a84+.徯dvྩ+?^־%<Ǿ:9 >]3&>'3> |>XoL>AYÖ>.{>">.߅3>n 7>L^hg>A=t >pIWQ>KJ@?W|?? }8?(Å?@ Co?oϞ=S?}!+1?~uZc gP05"_.EQ?}k 93T?{_|!K% q ܡ?+aN࿗?"~SCl.?:UVy?Yn?׃fO v*b?}/q_V?(+LwNL?^뾮A~ A?Oޕ꾆M |6?0\Yƽ+?D ;?X^˛v?Ql+o޾' > s8>PRj>Ȇ> q3j>^&x>j?#>vG%y>@Ћ7-0rpľN\~ƾq,Ⱦ H|g6iLKlPk>"11w|xy>i>!*(4>bS>xSH,>yw ?)%VTChWi>Rm4&>2$M>O &ÿ>G2T!GMu长:OT8d|Dpj44dzX5S͸Noɫ /Cp~.7 ED#-3 V "ӻ?tU?1ȟ?sڲ?N?g:w?l?Zpa?qCU?2[^AK?=14(A?`5?GDŽ+*?[m7? i?~5XaRyVAGs2I72[>sY>\ vp>ٲ_O|5M11ײt>4ڼQ66p99b<^$l1> iiSt֐>я 5>.y-E>="d>R.$oqhRglu-w&x>1YBsp{&%uR8oS.{~_:_> >LB߭QK\|At>6O  'n>yp>b?O>)mQ}P>|>v8$d{;]=OУ싊PNY oR+7Ha/#?o¤6?xq4CO?G`cR-'(kKgc v{)96}t 1nyy'~$[x߿FnU bCV/y)$#J,Qd30o ɿ:_ƿ$FrsÿL[i-/͹lJvy'lT$>dY4dF,pq?N?>?؆,?+2?9]n͹?Q?i?$!p??/8K^?Kw*N? U?/;V?kVz?1$Vwc? Dݡ\H?VnpI$?q5zKuAYimF/p cӞVsAlOg.>zXn>QdĶb yNJVD rzFRgaQf$kt>YnӉ`H>GQ{/!ls,tㇾZ9 'Woԗiq/ݙ@_KѪR >P>)>ržz>?rLp> ~b> ޑ>=%؈>Bb">Dwww2ғAz"ل45>9޸lYa>_{GՆS;As> Ofgȱ;W>|uƿCuQ,ƍf}N^f]_#z2?‚}›6?K5y]?N`b> ~rVI>z J{~€"pcy9o{isݢZe`y>spoe?A)s?k{?a ?ۢlh?x)f~q?V#r4z?o>atr?b?* ?~5]W-.'?#?lpѭ?ZlTfZ.6P䱿=D'[ߩ'Zzљz%\\Kx4]cmL$M>^dC58tUU/ojei Řd4ѫZ y_vʿdNQǿLsĿ?,6@¿Wb~ܒ໿*i/BJeoIX2ʜLxlI?Ot?z0?Ͽ{?<&x`˂>ks𾚾ߓMTŴ5U] )&;iڛM>)-aDѼ/쥔Qu4pz>O8> `G~>{5 M>!-ynN\Poy2Uk>2%E5P><tqO2 )tη>lIHѼ>_qT{d>#f>}r{(U_z>i2o>{q.ɯ=!QxG2|>p>mFr>">>$ /Ea>ѓfDž> Ԫ9h2>+M>S5k9>ϸf>\z(>(u+$vryWHSy>>>HV> )Ҍ>D>t7>#?>{{fj>€E>-1ȶk>UOŨ>K&>Zs1>+6>}n]>J>4qȬ>O/1ի>#zE{>qTvޥ> ˂Ï>wU>bX>" >9m=nYN>0">Ȋx>Y7*>Te>kS3>W>s>=/Ɓ>߶C>z>rP+>7&>jwH>ΡvI>ѾJ#>:e0,>+|/>nz>1HT>%3>f&rcu>,Ps>%ׂ5>3Y>dc爘 ?i?3*;?ˈ!?ص{Uw%?rby)?I8,?hc\=.?2ki0??1?R31?~1?E|A1?ag0?)Փ.?d 9=,?id% )?qYz%?g/!??CE?> ?eqeЂ >P!Y$i>Rx[{q>v9匾uؓG|>z"|8Tƌ>qZ7'_BWz>3Drr>h%Lj>2>q>>ן>R {>S">+7%:e>!4pa+'>0v>~q,>~LdqA`y?tr>O˴SmMf v׭>5L:>Xkn>j ¾>LF>'&ï>'(>cd$r>I%!>%x?>%ד>tsg?$?Ϊd??Ut??_Jú?s:̳ӿ?r0*n?ۏF?42h1? >4?eGT?yZ.?Et6~?\ZO|k?n!jY?|e?h< ?;PP93?h'x`?Vhy?sR~7g?ӾQ?Ŝ?~'?~?Q f?Bԕ s?DjEZa?̵E?L%?τx?0\u?^po~?U;l??Z?9 ??l?NF=ԅ?Dvx6kt? 2"c?}Q?;ra?ht-$ ?=?<3z?8ߜqh?7?LgW?bE?w}UK? {?+E)e$~?82l? I[?Ɗ\J?*zL8?!K::?ae?~`/?(n ?poe?Jp?8f'?$B?Q?[qGF?w9CF?A*D?[h??V:?>OorU?Dz?K1ij/?T]?(h?ۘk7Ҷ?™?6Vm?i?K?&ÐC?_z?=#:?>'޿ۓ?s/?]Eg? C9|[?w[?BX?\ ?T?j??h@?߰MC?q;_K?'-s?vBl?Ʋ[?H%T?n5O?kC9C?b=]A?3~ ~?[=\?)X?W?g2C?hkxU ?B P%?VE ?XG ?;C?>h?0W?;WP\?-er<? tPj@?3?ca4?YJ?ɍ*?yvE?wFe?( D?C-yu?.-.L"@ˋL@/+@ͦ9@ӄ@hI[FN@DiBN@3y@i 9@+@f '@4"@u u?iFC?Bi"?ٕ}rGE?ǃ?Prԅ?>ӛ?9$s@윚OJ@~@W}$c @ij] @]@2D@O@'3@m0@ O@$7@0-l5@< @)b @O2~@p_I@[?H@=?y?kOR@A*g@Hz_i @g0@{.c@m@ }@M@?@H@p0@hـq@G%@1}t &@A?n6@t3@ho}@U@$@b0@wh @z&΂f@";R@|'rsM@ $ @tC%_@N @>=1Q@ ?keT+?VQ>?w̓^?,!y?_{le?rO?nW"̓;?m=?Xiʭ?Ŧ?\9?k{|-?S?a0Jmx?g?NZS?v'< ?ii,?C*?0Uf=A? ]W{y?hU`p?Fc?0Cʙ9*T?$1AC?/t0?-[?ĘK6?ITL"|?˒z#v?ZJךq?"f#g?#΅]?TJ#Q?ڠB?.u91?EZ?8I?@Rin?`mrj?%e?*}_?ƺGU?BWK?vGdH@?z|i1?DӚ ?XFl ?"*T>t#"f]?GS Y?Y͆AWS?ܡLpM?N$lQD?I9?..?F{=I} ?P?ZR >w9R>u)lL?G?PsɭB?w';?[Y~3?](?۱[(?C0?6%?lY%'> >B0r^>X)5:?<5?da'1?!G)?-k!?SAW?!xU ?{Z>j&fN>a %>J2R>;6&i?? nx?[`-T?@2Ҋ?N {?wu?!MӮz?j&5Jd?uBus??y?>1Dz?s?v{?DRa?_FSn?-y?)8b[?R;"b؎?\?mv?vD$[?yGzg?s?}?¹ԃL%?d :?P, ?G*_gU?軨9b?dYl?IC`t?g}?AFuEIƃ?rx4QWg?sP? gA[?R&4*e?j˟-Sn?>&t?^{?zQ?cXJ?/gU?$21y_?jPf?aJm?yzvw^s?ڒ3x?qo(D? p0P?IMX?Z`?xQf?[G l? EQq?QV@?F`IJ?еKKR?FF nY?dDz`?d?]^di?X:?&|E?5(&?y!?i ?C+?\\pK?H?2#1?#I e?^|?^O\?K⌑?o쒕?[]}Q?) B?_J?>}?&o}?AkJ?wb?w5^CR?3u? )?ČR?Ky?sf?5v2?R?M01? ,?,;?V&SyE?$G{?;Q6?=4C#?ͽF?QqԎ?EU?䒖? Su?#vU?Ԏ?3d?{OE$?)`20? B*ϳ?\G?9C‡?WH.?Q?2-">|?q ?u_;?F?o }?"Hwc?b;#?n5e„?|&>?'*)?@} ?Dhἅ?#6?n>? 39Ä? #?t:d?7wډ??W?%C?C |?uZ1t? b^yXz?/zU6{?||?QxW}?d\}?-ym~?~?jҦ~?bn~?ʜO2}?Ǝ)Y}?,)q|?T[={?=+[z?^8[y?diw?n Bv?7t?砏хn?gЗYp?#^q?i];Tr?@6x8s?׽gt?J 2`t?aIu?u?;v?ć/v?bxI/v?+ v?qou? 4:rKu?Et?H;t?L\Ը:s?fWr?(sWbq?GF^p?2(dn?l酇j?ok?l?%a n?td+o?Wo?|C`Ia?,jra?u|(a?8{za?W0a?w|`?,<p[`?+x_?fQhs^?:"]?M[?=Z?Ą1?>?; נ?\S1?J9$ӆ?{>~y?H,<=l?c^?Lyo/P?R1?HjR?GQ4?$k;?R?u9Kz??$':8p?]_*?c? V?7;8NJ?ӊG^PU`f?9Gl4a?wY?rR?>*KaJ?VGIB? )5 8?V),?7Гi?Mme?̀A=`?MeZ?"pC9%T?-!]HuN?> E?P+ޗ>?!4?,l)?J~Hc?x`?gž*Z?,y-*T?uNcP?CU@sH?MeB?C`9?xQ|1?{u<%?f]?̪/Y?lT?cyѸP?Z")iJ?*( ?gD? *(>?]hi6?>10/?|*7f#?O.X?EDT?FAQ?BK?,y3kUF?WA?>T0:?YJX3?}tD+?@Ѣϓ!?WxUT?crbQ?C:M?b/1|%H?JbC?zS??F 8?lս1?td:q|)? l+B ?< Q?#vN?ً}*J?2UE?A?ÇA?C+Ƒ"׵y>ygz9g>t@z>GB>jr;89F;>AA}Q.>nɈ>|6pe>q9j>T_q>;80S>(Te>ri~2KYPvAO.t>6>>!lV>/T_ > r?>&B–>lW>㥪>k3N > >Ͼ(>_e>AI@GnO/P^o#pr>k- 1oo>{h0Z>7{.dyPfĴjcmqƠQ--AQ>%FJSg$ByKPIiduD_]]>ߋ67`>56΁P'rg} 4h>7mRiʓ$ld>ū+X>rd^>(+>,ϒ>-mŠ>n j>*2e>*ô>`>y AT>ɢ>#f96D>/P_=>D4kd/>rͮk>8\>*} >jȬ>mr>Eod>xǸv>A>/z^!>%2 >+LG>b> Aoo>`>B>@ >&?SK>yh>A5>:JIlr> \:>0>N>Ţ*z>dNU>c0 >+G2>,[!>#>>K>0ڥ>1H>Ym?2\ o?£KgA?B;?}Ws#?lME'?~ 6(*?kO-?4Tz0?OK0?֥m|1?gX1?7IP|1?_3ޅV0?,R)0?Ds3}-?ye*?[@'?3ȕ#?+?) ;?gJg?>R?HX}pby>t{yاyMZ> X1>i(;`di>eQZF>D`=>Z0Fc>{o?>-^"|R\>aX@r1Jw'Ib>4oa>&(H(:blb>ZL͙Ĩ>1>m>N`xn>WTg>2BX>:> hCL> uY>S KQ,o6>:>]k>$gu>}6GN>7Z5 d>Ŕz#gn}>#3_R>x{{2R^X9|sSI*?=of[?]7W?-7q,?$.!? _/d?Qr9v?@'d?0r;?(tEA?5Dk?jD?g?ld?sBT_?Eqtt?%Sya?O)g ??c?'9弥?F?i "§?ل#5q?]?9-?ۏ~? ߬ٚ?l?pm;k?&, '}?j?ׯ2FW?[t.?7?D?]i?p? u?IEyc?W~P?09G?Eo?(qO?t8{?)[}?.k?3 - Z?TF?k&;?[&?-?ֳ}??tXq?6a?*O?T6d?sp4S?kC#B?12?xV ?R,?% ks??+?b?ׂ #Q?o+JA?k0?t w ?z4M?YM9m?c\?cpzK?;*D;?0Us+?Vɼ?_XOh ?vj>3Dܛ?aڪN?SVòά?a?*V?vȱg?4i?~?i?^?Ԉ+`? h?ZmX?!(|%?t?I^?ځV/h?#U ?v]}꾶?LN?ovͬ?LKh?‹oڛ?ќq0?;S[c?U'J?M(9?|!?W&X?u%lL?񖰉?:N?eﵹk??M?߳T?HYD?k?rN?8<d?zg?cI|?㔍?ׅh?|Mi}?FK)b2b?H /?MIB?Όԙ? ?TW+?w ?Q]?v?I0aR?EeQ?rK`Ay?-?xLƮj?-?MR+-y?oÄP?HV?ג?>c?7ݝb?֍}?ML?&?? ?1A?6V?n?_Eu?ri?'sB?I)d?^ZeZ6?Z?,?n<f?{0W,?1sf?x*?#? 36?jqmc?`dB?3&ox?L[լ?YΣ^Fn? $s@??1ƽ\?LU ?&E?>{,s?{Mg?mR5@vT@)/@ݍm@.ݠ@8k+@`Y@c+@+Π@W`@6τ@"A+@\5@ρf??r5aO?T ' ?T{[?Dkn?I6 ?j{@܃@ih@ R @EƍL @^Bu@H"zh@k@[? {@N[l@{@{`@h@u~PF@a  @m @T @ b!@@?& ?dw?ZB_?܁\@*ѯC@ם @ѹ@,Sp@i{@S;@ߪy@*tw`@@ZG@h_@D`@y@;@|~@)S@'1@| @BLš@@?R@  @b'@wpF@\sV@θǵ@@Mt@0.'D@J]@f @|- @fJ @> ]@8AD@rw@.oP@Xvɓ@a; @+_d@4{ϫ@Λ @z@d@.@Va$,@Y2@ r@  ݥ@`"@־={"@ADF5l!@.ә @M @,R@@:tq@Ȇ+@cW@U c@S.8 @戇ws@^M@۹" n@}@*Y}@ .Ń7@b k@- @)R.!@ /"@w u"@L9B"@<u"@ "@&2!@u'г @z_@8'Q7@me}@$m@ˁ@H s@a9 8 @Fh@ ?!5 @?4@yD@ڦ@NZ@o@eU@>[-@SD&s@Od-@l)@f.@T&s@qu+@ž9L^U@@:=@+}|@M;D@إ|@n.t[5 @qz@ ?h&g?2eE?bW?=C?_s?,f?iwͥ?K|A~? ?: m?h4T?5?> MR:?^83?ѣ?9nI#2?JPW?|,g~?I* 2? E?jjCAp? hZ?M5'B?_pN?2|B?¿>t?TZ?M8AN?'-r?*'{?D0n?HF^?L^K?Ki~6?=(?x@?FM( 6?\߈?ʱ?|:0;?5Ft??BHpEi?ў\?t9L?o9?h ]y$?\<0^ ?UT#?w~?#i`Hy?{Up?:[!F_?, v[?4zV?'=Q?(H?we@?4?T#Y&?[/qF?,mTW?0M4>>~!uN?A(J?;E?BSc2@?l;7?pv.?Ug"?yIe?=8?E A>f[G >SP4>kdWј>N^>M:a^>k/xa?W5Lq?ӛ ?'J?\ҖST?;N\?IMЙ@c?OMh?"Fo?7S s?.O8?fX;=E?'Q5̺O?YdV?L]?Ao3b?wLp g?nk?C`3?+$eA?v:I?70I@Q?(IoV?ORk\?ma?!d?FE]W0?''ª?E?R E Ϩ??Rz\g(?íI?̰,?>A}S?Hne?.o?dO;?2a$\?`i`? Hj+?8j̐?Ŵ?s} ?d\s0?n%?!f?}e?v3?Zuj?װQ?Ș:j?ᾤ?n[?[S?%?n1?Z!?u?M͐?@b1-?Yb?bCF?zG:^?'Y?ρ=先?`[q?\=Y]?A?ovݣ?`Ӹ#}?Ld?x3?}?XԞ?m+~?{1?}??dB2?R(^??ʏ"A?GL?t}`?4 ?P{?5}?9h2?Dg?>? D =?Okǃ?ie:w?M ?o?m?sOQ̬? ì-…?\?@8m?^{ ?7o(w?hyǃ?Zv?i?!?+3?"%}?Vɷg{?Ăs?jJ~u?-]v?aScx?Ǿڸy? z?ɭm~3|?=|?:C"}?zޙ<~?I!Ґ~?:xZ~?yS8~?!~Nf<~?ĝ}?ߧb|?&:|?aŒz?W963y?bIgx?mFv?fbgԂu?ݮs?LAm?Z9xo?vp?NLq?$Zr?3̡s?Uat?*qu?ru?§u?O v?AiHY4v?ėje!v? J u?Ұz<u?J%{u?7bt?|s?XQHr?B_4q?3/p?4o?*m?Eb;zrf?fhh?J;i?v !j?S[]Fl?vR}m?JH n?6uqto?,Ip?#pZp?ߤ@Wp?D p?M7p?Bp[p?KCip?J d*xo?,Ihn?%m?2 Ml?j? y}Fi?}Oh? z7f? ba?FAUb?S!` d?g;e?1Vtf?=Ίf?v"g?>ڦkh?.S,5h?yڙVi?|{i?}i?p]?Vup\?-NBRZ?>'xY?k?>w?|w?2ip?QL?¦?1h~r?RD2d?̧?V?;KG?!Wh>?6?!?v$Pk?'2A?drOI?UZ?+Ytz? 49Co?a?3͢XS?x;$[E?J3-5? T??5F?r~?"C?F5t?JpF?Dan/?NM`C?r?,.x? r?K&"W?~[rQ?[VI?5UB? z>9?(-Q0?rFC+"?nId?CMU/a?yWN\?~9MW?Z>:RR?<)L?E?4>?I5?Z,?K&?Kg@`?`#[? $V?w[R?_M?G]iJG?PLA?'z_:?(?2?$)?H?3cZ?PV?&-R?j?N?;I?;pDC?+=>?[)7?SK0?'u&?e̔;?ļ U?=/R?CCeO?|J?*_E?4t}A?+q;?4?H^.?K$?oݠ?{8S?&ؒP?+}L?wG?%XC?Ii@?ح?Y9?w3?A6!9,?AaLco#?滃ؙ?/+zj>&T՘>|=(>.S>Rkhfbg(}>R(#s ^ZYG.[j>Agx^s I_>7ЗnI ʍ>B8>">5`>jsB> T}>w]U>|UX|c>l|>U.U^!>]o è>V>hj->% >!2}> f>ܦ>xѐ>U 9>A"65>nf>B`Z( D>`lL >/2sd>Y>*ˆX>XӢ!> 3D_uS(tvnMaӆZ, ^7z%='^;b>h .}xn䛾1+'k-c|>[%ex>C%>t%>>TG>Wր(=wa>򦄸Yb>(֣>_4tz>7v敐tXQtW=>Pί>d.>K`{>2 >,VIC>4R>sb>Ud!.>Xf>mqxB>^i>ʻ>QP>5>Af>U2g{>L>wpT@>])>WS)>n\2Je>݈>b}5>4{1>J#څ>{y> V܉s>9+D>5k_>(g>qԑ>:sª>cuX>-}>`B;?~O? >DK ?[? ?Y[?} ?aX@?^֒?? h?Gn?EX? ?E ?AV\?'?B@0>7|u׵>w>sה9&?iU'[+0?IV35?rūE;?>S@? wC? {F?[¯H?F&JpJ?`{Jy=Aj@!c> 7 DZL>/>Mc>0",Mua͆e>Iy>fxbw?6>(1'>"U> r`U2>w7c}Lv*uP"R|>|x> E |>i+'yp +ux~m9| }>DlScI>c_>yp=J>(+[>ŴQ>; F>;N<#?>b1R 77uȵ>1HA>2 >lg/s>B`bЭ>\aJm>M<cZ:~> >Љw>Ȉ m?C|]?7?Ɛlzע?An?#@4?$o?ua??w6/l?tH31?Bl?U>D ?yMm?Grb?kjyҍ?^x-?2l+?'CΩ?`{? ]i?l!"i?,˃?ھi?앦li?<4s?mvv?d?5l&h9?f 8?j ?iQk͓?[?A.< q?! :^? vkE3?8ӲX?9q?g9?qila^y?0g?|kU?|V?rݣ?N{+Z?-B?c%p? C^?JK?-H?5#OiG?Ւʄ?N|˵s?~1a`b?uJQ?`@?қG$?n^+?`tHu?(;8Kd?5S?F`{B?nc1?=TKnŠ?ҋpt?"Ȍc?i%R?s>kB?0 1?Mr!?,J*q?Bo`?)u$G:O?JA??E`.?=2?uz} ?QW? W+G?aRe6?R&?q=?F@?»>0?U/?}Z?Dΰا? ϳ?B߶8?uW?xd ?\?(6x?*|N?̲L?yx?h\թ?C ?uqrV?m΅8?,>W?P?[\=.?T.?g/?Y||?CsJ?ɕUɺ?*?aqm?I ?g???w??Kz?(z?Hl?Wh\?R ??U$j???q#?ZȺ?TBI? ?d~a?_8? :?z?q37?'?tZ*?,"?5:v80?Ϋr(?v?K>;&?ä~&?4>?Ob(?)1_0?Sh?$?x 3OB??yJi?Ƌ.Q?u('?*$b?r?Ы$,?+x?#;zY?f?vv%@?Hg?g3wȢ?07cG?IxV?? +G?@?'j?i@܈B@R@)$@Ǵ8 @{0  @" @hy!\ @s\ @ P @ @n+< @c.@NM@ W_@*_@)E?ZE|?wK?L2Q?cum@}r@94 @u @sn@,xd)'@e-_@?QN@ܵ@B@_B@E@ZNN@3ԡy_@ '@}@ @ f @Ï@)޸@l2dz?me|W@/ @@GU(@-<3 @t@P,j@ o;]@ r@ =a@q˧@MF@`2a@)/_@,·]@xC@]@|*_ʦ@³X(@ '^@l;. @ʅV@)A @*oRhs@J*R{@-@@@w6L0@V+h@ G @#9X @ID!@"!@p[!@D!@:N @ rO8 @펆h@O@iD0@@76:@;"u@{z@?(@: @^)x @fN'@Aģ@d@5Ge@@0E @ߎAo!@ |}$"@{O^"@t݋b"@:a"@rZ"@e $"@zo!@;p3 @̯˶@EX$@1vr@p̅7@3b&@=~ @/_K @G @;|sK@)@%e!@Ų@?x:@{H8 @ { @xfw?!@؆t!@^it!@u?!@T>cW @)G8 @o$@ Yc@9+@N͚=@H1@yXu4@}"K @mkQ@o1T @; ]rc@6 @u@`-@L_V@Od_@~@~BOD{@c@@M?t{@]s@d@h+V@oM @@`X @:@7T @C|P@ o?e8?p,?:x?Fr?-mW]?픶?/\vt?ɉ}fܕ?=!?{xj?.?y?!?u? KdA>?=$q?ԕA\?-!<9E?n_?h?d/7Z?Ax?:5?3*2?qAmT6?Map?`^?g۪"J?`uzx3?܀ژ?X˗I'?엕qw2?opP?qg?=;LJx?靂c6l?nn]?hCRL?7Q8?]W"?ڄ?X1?.O?Zy?Mpf_q?3nf?SY?ZK?B8:?ݢ-c{&? :8 ?=m_v?+Cs?In?@Ǥg?6w_?f]T?}G?rHp9?dW(?A?`$2?םǃ!ge?iZ-b?S\?Es!U?όS`ưM?˩B?ݣ<D6?;'?({I?$8F?ҳ>T?yZ@Q?9>K?9DX %D?)ӵ;?зop71? #"$? V?1ZK?P0mo>yҶ>3ANC?2=@?U?~9?ȬX2?ޖ&)?ߊ ?Ug?t?l$>L>=K>Ŋ\T1?~@œ,?Zb&?|j ?cg{?b& ?_Y:?V>6qW>Sh>>(^묻>#{3k?"E0z?CyF?6^:?#?=4ư?Ͷ?㣣" g?$au?`?Nkmǐ?r@u?C-V? 29p?Jtb?UGcq?]e۟}? ?8$̲?U~ e?t1pN?DSs^?ąOvI k?`Sv? 22?z?C?S?L X?d? |op?!^x?ú?#?cJx?vR?{_?Ezh?pQq?Cx?`g?=?M?g!0^X?t殺 Xb?y}'i?AKq?sv?uF8|?Q%`G? CR?V[?~Ac?6i?dnp?Cr={it? B?+ÞM?coBUU?le]?8Bc?c.>h?8񲟐m?Zl6r=?cÞ6uG?.=P?4aV?`\?I!K b?=We?}K<8?03hB?x"J??Q?hYV?S[?+`?C|G4?oKF(q??4 E?,L?d9BR?c&V?]qQ:vZ?cnQv1?zKgh:?.c #[B?8!H?˕F'N?}MR?nȅU?i:Մ,/? "7?T]7c@?֟<$E?}O=J?gToO?J|jIR?O,?註\6? >5>?TQdC?G?ZҕL?%P?-cK?ߡ?73;]?ܟd?-- ? !9?O(7?@6S?tŭ?އ?W0/?"e/?/xF)G?~?y?t0x8?49?Qcv ?ze?.y?D '??>K?5&ph? 8?$/?Mq?p\?O3?NS?M oI>?޺? ed?^?uԟ?,20e? L?"B>?T?t}$M4??Yq?g!?^ݼx?(uh?S ?v]%X ?9]N?SDU?'iXEI?,^'n?O"?q?ʺ?(1x ?yكO'?ҵm?\%m? '??ȭ0e˺?}+l?%`n?(N?&&}U??' ?X ?ƒN??p,ۨ?eJ+ʪ?٣\?SBb?T\D?> J??ZI3e? ?FJ ?z*f?[S?饕?$Y?)'c?2Ws6?94jWʪ?/Gۨ?0?6Bo ?~Tk?/0Ý?h11?"S;?RZ??c?_M?8$P?ArY?QsX?1IB?ZKaB?~?[7vꧥ?wˎ?8M?)S0d?dlIa[?Yk|j?Kʃ?g*F?LW.?•R.;??u&?Jآ??p?w ? ??W ?2Lb?To5W?_'?f !d?Q`?Y.^La?ij,8~b?+pdc?ziRb&8d?id?6e?K f?QS? f?מ3f?:#/f?lnv\f?GVf?f?^F!f?*ߛe?T-Od?5w8>d?!kc?b?-a?D Щ`?)][?l;`]?l_?)A`?Z;(N`?J.өa?RFF]b?NBelb?{Sb?r:b?SbMc?=c?Lb?rb?Do"x?X~ r?c׬ii?$NFa? [V?f9^M?-*B?X4?&d3]|? w?էd.q?6?Yj?G -c?IUZ?s~HTR?eDzDH?3>?P2?>t?_+p?@bj?Lc?*L]?D3{vU?'r9 M? jvD?:?#V/?ᒞ m?oAQPh?i C^c?/^?j йV? ]EٖP?9H?!"@?9H.6?*?>Qr),!f?%Jb?JgČ]?ZKyPW?]Q?)K?EʙDC?,E" ?q8 R? zJP?|n|K?2gٯF?je@B?&p0=?K7?bZ1?٪(??i-Q?.D;M?@|(=2I?3K E?Qsz FA?r3 ;?m5?RӶz0? '?$j6P?R]턌E'=pnuH]Uy8+'R>\Ug>e-}oh1fJx+n>lfpcvpbZCmI1>U=?,feae>`vVk@&P~ĪB.~>yiIϦ+'k>^NxXȽ??<w>"`X9>PDy{B\~G>p >7rv>s>e>⏈">ױ6i>9@ِ>Ϫ>MV|>_&|fK>1{~>`9mXɿ.%*qAfqmx`>ofrݱ(yM[?u>vU7jFg:TӃ`QXB6x~>ԮC>XTWo>Ne>B[o*:>|k>i-w>)J>g>{>rU- ~ܫYu]$72}cb1O*x|>md/Ap>ѿHC1Q[Q4{k Fa>kAm>*>.f>g>wǟ±jSJ3>>rTc>݈a!첱:ZhLy1[t+tpbaWP+IXDmE>@ZK>NxP>27>iGl%>{ ź>D &_>.1>龺>ʓ&(>k1> Y">X7~>;>[;>ID˅q>TP>d#M>Ł_5*>Tߍ\C>ݧ<>1a˰>WIFu>p9>vhdn>vt`>~D&>]>.h쀟?Lb?_= ?rk ?2 B?t3? .dX?Р?]`?g}-?F_xA?vY?. ?(>g[>v9>&ѓ"!?%1+?O_E2?xUŊ8?8KaV>?.tB?u<5$8E?vG?וWI?|oAgK?Ϗ^GL?YQL?tL?X.yK?dpM~I?H6G?:Q 7E?twtB?h=/>?yvhg8?g2?P<+?~'L!?ߩ|Ct|>|]Ƌ>kGi>4{Q=y>-d6tx"s> UВ}T !fDa1L`9>XCnsg=:P~6wV[^g>~5DQmw|L)PO-[P4j>+J@S>Y>@Knr>{)Ns>ƅ->Uwzy>g?d>Faɚ;(f/YNac@rwiwU>3(> Nn>0E_>1:}>ݬ9>,cO>)4Ά>4\Ld{>dxSdێ˄9&D_OlTzG|jr>6ϏX> n>V>G7>-9>Q>8̕ >7]>-q>|PV> b!A $>UO7? QE?DI?2?!;?\y?)3Kw?nO:d?H,l?%1ʂ?ik?'@Fʐ?Yl?s}p?au?DKc?j( ?#t7?|,ι?o}§?\4Z?ï?]3r?h;m`??o"e?T??6t?ѩF'?aU>?nJYfn?nZ?᩵Jo?WЏ?ؤ,ԯ?Tѝ(?S e??Gަ(y?Wyg?qİT?vH?k6l?:"[?ZJ?WHF9?3!(?4H? q?].*x?g?FV?XLF?ɼ5?@%?嵂d?vql?u?2a?ρtP?8v=@?]0?"0 ?k/??H@->:+??f ?tPy?;3?M#A?ЊRQ?ysG?{?+8sJ ?zyŷ?m?gŷ?o_S7 ?`ߵ?OG?^zO$Q?o<?q3?os?e"{?Ҷ?Nlx*?V?3?,+?Hp?qEZS[?f=?z:_?}S??@?+ X?`h2??g?UE?? W? 6?]i%!?e8^?a~?FZ?`?c~?'=2?.>?D/zּ?5 *?Lk?Z ?9?&HA?X ]s?8}3?3?v?< d?B:1?= ]?_8*?Pn~?)CE3?As&s?8NA?7{?0?VJj?S0F?4Լ?Q?kJ?`Z??Z2 ?I{kZ?B;?0:?O2?d4?ȷ{?*?െ8{?c1&?![2?N?w4w?L=Z??^6(?miȀ?a?H?Oz?47c?̛8T?}&??ϓ76*?ۣq?L?|1?BL@M@@1ȕ#@ߠO:@A@vw?srg?Oƺq?٥?hP?\k&?S2qW7S?CDc?2W?Γ'? `?f!f?\З? \F@6_@ʤ[@W@/7Ik @ @:Yi1 @Yj @A`1 @zƦ @",k @1:@F(@,@d2F@ O#m?;4 de?9"+?y[&?Œ̐*?m"?`@k&@w @ޱp@/}`q@'@ r&@|"ѩ@Ds#@KYOL@Wc#@)[ũ@բ@@T @юU@d-@t }@oV@#V @9=q4i@.@mD@Wkm@gq t@h`@\Hy@}` 4@Ka!@Jo>!@+z-h"@ǐy"@/"@nv"@¼'h"@c274!@8cOv!@IxL @U`fy@"@ѲPt@fl@ϔzC@ K|:@Y A@Δu"@9*vJ@e@d>$6@l'$@ht@@2@7V @s7/!@ `!@U-+{!@&`!@e~-!@tcb @N!@?xlX@.:@S?5@5d@Ѽ7 J@[i`@פq@.}G@@ @\r" @̶ڠ@ @4oH@yn@^U@ ï;@c X@E ju@-K<\@Zqߵ;@ @F q@xkH@I'@8t@`/@Kϱї @lVB@U^Bɣ@kg{?q/?P?amV? ؚ?b0?0Q6$? i |?Ƥx;?l붑??v? SbN^?T?M&'?5q~C!?Dذh#?s ?? m?U„?nHv?<5of?qIgT?2@?Ա<&?..?s?!I?:|?YM{*?#'~?#,r?GXd?7§T?TB?eJ?o.?:w,?+ y?%-3?M?E;}?u?D!l?+ma?7w\S?(E;1C?l1?ɯ)+?ktA?#jw?Q, {t?D"kq?(~鲛j?'Tsgc? mY?ifO?@fHXkA?-b'1?yc ?BE6 ? A_Mu>>D$f?iqc?{ʢ[`?(C^+Y? R? G?3Xѓ]=?ڟE~0?J!8l ?'-?Z4>Io>U?FYܜgCL>#X>sA!&bD?TKhA?R*~_2T>>|*>'R!2?@p2/?gq)?rGKJ#?\! 5~?سM?!~?ކ8>*a=>P&>p*%`>:>85ƝWb?p࣫Zs?gc(?yq\?-y.?hL4?K ?wI5I?nU_?op?/N^|}?ޡ‰?Wd?]tK? W7е˩?>y?eaNZ?%U씰j?9v?̌?9XB5?^T1і?1l&?M~X*?l^jU?ivyd?c kq?D{?Gd?%Hs?*& ǔ?.߭p?$7'Q?E`?n]#\j?^?$xe?4Pdn?Yp3t?}dy?IZ?r*A?kXIN?#@m%W?Hbes`? -Of?&B!m?c%Dbr?DXv?,5g;?kG?;aQ?hYW Y?]{Cѱ`?xe?5Wj?dI39p?Ug5?"C?O38L?6mS?n;Y?&2`?0rdc?G&g?h1?>?\!DF?R'N? T?:^Y?|Lm^?\42Ab?i(gK .??wI9?PGiB?,rԧ1I?,P?7d_T?JGX?T^˲\?2)?V6?*H??M7MJE?5H@K?ФP?FS?FtW?%>5'?W3?YWE?L?q6Q?|?Uׅ?kc ?K3?O?ޓ=?]"T?Ii?~]ld?;:ςO?m8?;d? ?"-?+?e#(-?*,N ?aԪ?z31?7n둉?g"?n5ω? Qz1?"JZ?B?d?;?, +r.?.Z?DآOe?Cz3?j(oO?H[?ۦE?dEز? Qy?a&?7ˏo? uϮ?RI?Ig/;?*?>#VS?kv? [S?]zE?;?@5J?OfpX~?)1?G,k'?,?C|2ز?n.E?,9?׺ -?#kxP?Ǝ?si3Wө?O>m?!g~?`&F,?xH?|l\ذ?xP#@?3d?xY䕱? ?I,%?!;.?VC?Pҕ??p@>?Y,RM͡??XAMܣ?BuF? Oa? &?աѸ.? 0/H?.?ãm? Rb?'j?&\.'vݣ?A.?Ρ?/e𭧠?Y;R ??"(D?<w?w?b{?I^?һЖZe?E?4?q? -Л?ȴm?ZzbI͜?/HIa?O`,Μ? 1 n?^+Л?_/?Y/?s]? )f??? +|?0u?hx? `ɘ?S?52l?:U?yE?Rt ? '?۲ ?E=V?L9>?F+Ba?S? js?J;?Rk?k5(?DO ف?pɩ?xw?FLy?{?V|?¸e~?f/?w?ޡ9(?@d?[ ?'\$?ΨIR6?{gz$?NazX?@ಜ?/ )?,[?M˜m+?}h~?w{{|?pR {?%ݱPy?GE{~w?ژFq?>2ar?+5s?Qڅt?Lu?h'v?w?nx?66eL\1y?vc2:gy?+]y?oz?y?*By?`Y2y? Ԍx?KÀsw? v?NCϵu?M)t?oġs?"er?’Ԕ q?@$ll?@j`Sm?% l?ꇽl?wI3l?lEk?됝ܙj?`+i?yh?ϛg?ΑVf?Msz:c?xA_?O<4a?դDb?]\ b?@c?avd?hiJe?DI㋢e?VUf?diVf?g`f?CHCf?f?\f?Y}CjXf?-%Ge?ͺxNe?J8d?56c?F?Ab?w6b?!ۺ9a?jB `?xkTY[? ȤP\?GKeJ^?O3Ԑ_?`?2eӿ7a?Mua? ^:b?nz_b?!p{"b?c?c?qKc? b?G7Ub?H!>b?^w1a?aW.h=a?_`?_?W2j`^?2 /\?:$[?2 X?/yY?Hj8Z?&:e8\?^i]?cmL{^?+j_?bܨx`?8ui`?``?C&=W`?>ui`?н/ `?a-7`?ܸfl`?AxT`?fs_?Vm^?* y]?=4K\?[?3_Y?i?X?FXWLV?tX$!?k;h?H(?4㯶d?QPhC?Д5?t?te?1,P1W?zr~G?(+6?l[?f?i\i?tޕ?&T\.5?i~?E{=Bq?!Dc?[Th)U?5sתF?d5?*u2?w?ѿ\5??`' ?ɑ睇W?bww?Z@&l?jDi`?"R?tD?a׊ 6o4?xC?k=Kٔ?X?<ʰ O?,QL|?!r? 9㹊f?ȯa[?G6P?^AgB?&ޮÜ2?%©d?@ R?p+τ?ӌ}?L!t?D3}k?P!a?tV?UK?Y)& @?T-0?^pWN?7#?ÿK7|?<˓oZu?own?-1Me? 7/\?@φbR?~SX?eq@T?gZ@P?3 0K? @hE?zTw@?+ U8?+1?ۜ="'?|?WW? +ycT?ik6Q?.(L?CtؓZ=G?,f݊B?C?g#?tl?M9,Bv&Lw>hPbNcYLkcɅF5>O(s><8Uz>^>~A䅼Բb>g<*0 â(Tׂ2)>6!*l>fv>щs>$`>++ '>u EΔ>-m0>m%չ>dGye>m-M>R_쒠>D7k>Ôs> ?exI{*2>N ~>:X]`>8q4zv SsJω}kAZ>,9؝>z zҏm>1Mz>X>FBa)=(FtKx>v)>^>~aF>DkV<@5.jrBͰ[Dj8(`v`tot>ۑLx6>Zj[`47vFkp}] H>&B.5b ~D1>ne> Olh>ezj>C"{2W?fZ*s>Sdb Em>s~h5n>#H6LN[ux~S>D>I,3@R*>ǾӜEIrdZM<$r#9¾=ihƾ'W ǾIžwƞ,PYi%ߞ3%>Z$,>)!<>Ul>->5>mg>m)H>uqX>1 T 'b>L􂥾vNȯ> ,>"D.yf{k]c H㭙Zp+;s{;uܾϲ}j>3>;*1>P;.v?F?GR?l=l?Y&nB>Zԋ>-*ž.z֗ ܯa|U"?sX>_D>~ͥW[-> <]ԉ>9MW>G.IA>mB]ZqLx>&~= h XoW>vJg'aV*y(ϖ a>̋Z>Z.§5usN-iA݂rG[~!!>6VUQQ>bfRщPD>Ke>k~x>_8<1]~ݾ36/;pѾ¾H+?n :x򕾒&+ Rf,2I[mc.4S} iDf?^̡S?Y?T,~~?3?zh~?\h o?\.J0Ь?˚?ϋJ3?x:!x?4 /h?>P?8-m$?6\*l!?*w~?>6?56]s?Q6 ^c?4?RT}{?T=t??Ae؏?B1&~?l?.U]?DdZ(%?1!>Sۨ?\?UrGD? ǭt??%d?|0TT?6] l?0?G'Z?A%8{?1+j?FζƥY?fKJ?h&?4?c>6?j (o?ㆌDXU^?TN?kL??ȑ?';k@?/LԜp?01>/`?4O?@?1?ʆ8?mNo?n^?? ./?=B ?O5i? c7Y?kI?p]+9?/cO)?ߟ?ƳR ?%o?|6`?H"w?]u"`?EZWXlpg@thvEvTw0@sNztqQoXkhkSz%[yS?)"k?`@xt?H-怜w?H]v?\4]p?LW?4UwE`ۖNw,d ;p|Y_hޠ?Jz?:??4e]%?*0p?X9tMts+C{+k<,y1r# Z4Z?7r?/Uy?7{? \t?_NdW?l+p嗎Bi󧓿&JͩO)n࠿Zu?Usְ?]K^?EC?;=F?9N?Tt?̗A 7חccZ[pO}QP?Dmd?i3c?J@)~L?tQi#%(CZIG~\Ky稪yA Eٰy.yX|?fG?Uċ"?~u?o=?jի?%)?J?a=k?u]M~?S'b?OKz0:bۈy+~ f sЧ'x/A2߫jeG"Ib56"I¿S,}ĿG$>?\?tܿl?ܥ?LHq7]?3k?a?b?v沫?(?ƨg?TՅфũ}[pq cY ZJ'GbƿRʿA5qϿ Ĺѿ?ӿWW?K;@n?Ln"P;?<'?tb?΍O?_?|+? Ýj?f ?xP?@H21h^p/ƿ@CͿ5UQҿ ]pտ;C*ٿ)8>ܿ&h޿@{W࿡ߙ?{?!?[Iꠖ?&T?N??B?ķe?>j r`RTTmkаr(d{9I@$[|8SɎiCT1ⰿ!iqd&E`Ūh[9"-YOޓ+?Yz^{9j,aqW}jtB {ߟIai{4gt{E_+(JLݰ,-KduchB//X|,XԃkP]EDq1?qG eV0s`LГxQp5e@d4XV Fi]4zW Ǔ|x}y94 uO/pz7Q(gW)#^~ ԶRlDJ$P5 N#b<-kK=hj cf^SUP)LAՒo39|~ki$C7gX=1~Qv[dYW{>`RLrMMD+|;KN&D0LĈ*K #ƴyheK~P;RJ'F{-BQ,&rad?yҁh?ACD??eHH?{qN?X1XXS?PW?u\?G?M?Db/AuQ?8S9vT?<_j.DW?+4;?F@?~sB?PvEmF?HJ?Slkz0N?z8VP?[Uӧ7?=U:?~3>?'A?GuD?)\%W G?j>v\I?K^4?c7?Pb :?a o{=?un@?`xiYB?2.zC?`%.2? 3E4?poA~6?di5q9?ƑKd"?62u@?%?^t>?S7{?vi8?$ #2?H?I?qxJ?Q؉հ? ٮ?%d@?sN?^?;e?;XҖ?x6t?qr?}r)PFVؖ0yXŞzG秿2׍c,خYx԰նѣ鱿3>&?:gt?,`?6?OT ?c/?`?_a?mNJ?z2S3?NAe?lQbe:w~̊f,brC4 ]]ߡF __sn)F?Me ;y? Zז?///?Nmo?.5r2g??7'f3?}?r# 5xs?>* Z?Na'ZslTY=$]5A6~%.D:f֖/|>}dP gs?҂݌?T>2H?vEv?F =?|s]? uw+ ?X 4{?9=s?23 g?zO?_4Pg=gL#s6{a a[]vW|F=AYPn+sm!Yی*pǔP)?f>Xρ?j ?*?{Ϲ|?4 P]y?$e`u?NPTyq?Vʅh?.A0=]?;lD?đSR!DVBw]TצhqY;`u1ٷP]y|dVe@ \6 T{΁:'v?Nhq?v?'.\!u?u+m(t?nͪwSr?*Ϳp?f 7k?q׮e?r%_?|r+$S?0"9?C!g9E5%SCE _De$ 0 8kPep/X-Qr6&ts̕u gv*v8!m?'SY*m?ޓ$k?5 Bj?Կg?g4d?Mxa?o\?;3\?/T5:T?sH?PF0?F񧞺0-2H6K@T̉/W1\L>ea ~dK)QRg>.íjjk)*w#m% mSc? Xc?uÁb?<(Ka?ΝTJ{_?IhT[?t"rW?R? ~=K?%0@?XH*&?k]7&V@0:KPwRhqWSb;[Rq_i3Faa{b$lPc,U[FcB|[Z? SZ?.$Y? yW?c3ZU?N^R?pߋO?~_|fI?_W{{B?j8z6?5 -?#3!'s6OT]zB aI'^'OѪRVi VU7RsWv.}Y:DZͿ~Zl)R?NqR?jBQ?&f}A?-iC4@?ӄ v>?ݕJ&?G%?#oz?'0S&4Sm t.'3qWX6nr09AluwR8@WH@07*7We eLVj,8rv".K@hF Z6HkMw.xABJ|_8cSt>KwVb~dVdJlcl0{蚂_CcyWp~8)Z{X$vi q ,r!i߉a2t0X%#[XgҮ5Gq<[mg?\aOMZ+RhK8Jl~BF:#9Y3o-gZGd}Pt`,tYjҋS $JALʥ@DaeSX>[2'6A0s m` !M\lxWIR VMnXF?͉@ 9ly!#2|y-1IW~P5T@QaSL8kFAa&;҈*4ǢvI0_eF*̹P0MlKI!>:pE0[A.q̬s[y>&h<$Wb9~Z Zfh=h/`a3ӳl8c>?0M s ۻfuo>k>Q$0"cz=ye>E8˓j>3%p>%wsY>[͋ R{>\ {>>}>{S<>V<>|>Jez2>( 4J>K/xƴ>4}u&>Һ>]bd 5>J>k(>DCX{,+rqcēj"'>mq!zE">Ѯf0o>|bX}>7vu>y%U>Fo^S>.Bc>? Tr3u}DC[dw|{Iʱv"6Krȥx)3B8HWWitn-"'u>|w=z>p!r>;mvosT [JGKGps(`i/[jBp> V-FYBvbcW3k rr>zsj>D¬np> Iq>gChy>g>;8z>cMo;#twUHۮg@aj-s>j P>d!*D 뙅5ۆwľ Ǿ/4ƾ囐fþyzK6.QZKKP>pz'>WZ>no>j(>}$Te>טR>_ >zSkS>/$> :CT(î29?> x3>6-ω ̾!?Q_v2F+r늡#XDm꼐'xF1Dw56>cG>!2>e?'?w齷?[뢗j?^^>>>oL>S2/߾i5l1;Fh>֏Q]߁ܝU>"JBncq>W>Ya~_ls>po[;%ϼЀ>i%>Ff NwZ >sL+/d~o'w!#2xu\>f6+J@+o>&p{p\ Q> }C>TPfPƒK>2pk.8V>{r>mPxR"G㾜F׾ gɾC ]2!+h Qu6NSVĬ$v`UFk9Xi-knU2:? JK?+:U4?+iu?! %˖?Cl?bkҤu?:%f?dV8Q^?&#E ?oz&:,?M?8|4?; 1?s? 3d?AR^b?.%?߿}2?+ ?t|V?M5`?&np?\a?ox?~#?_?\70ĝ{?}אk?qjp{?!pn\&k?s-St\?%5?@ AH?9q?(ӿE?,օ?Rt? tVd?mcmU?`C?uH?֩?u#?{:3#}?]7ӱl?^bQL\?vB(eN?*?`Y?Ic?B+䷃?zr?̏d Ab?LE'4R?k aC?G濒?9 'ט?oz?{ac?vMq?0?-dv?2$ꉙw? Iqs?TCgag?y#O[&Ӣo!?L1')?T-ڞ?y?.➗? rZa?}~? Q?D,B)m~\-_)yƲl}{wvӇjiů>V{i?4v?0>Gw{?Q8 y?Q~ϵl?L[ Rۿ~Щ WKݹޞ%Bp桿_!o?CvZJg^?ed7f?W)mZ?ʙ<`_5偿9{hᒿ:}[M즿>J -j[h/c\93?o5IK x?>?ŪAP?o=?K9!g?sb=?5 ?pI?4to?n %Js?;kY>+rZNGSJTz%FJEl"'E񻿩4yÿ5ZY4ſDPl?4?e?d?B2?bx?ti?t?L ?ʰ@?]r0?2?^ё?%pu8iOZ+cs+ߧg!!Ŀo ȿ"d7Ϳ?xп>o Rҿpڷӿ[ϓ=?zM?L?wV?BJĈ}?jF?/ F?; %? +Z?,ĵ?c>S?C,s&?h!kFHnQ~Yÿew8'ʿd8/пOqԿt׿F֚[ڿJHWOݿn"߿~ǚ࿣]Y?z?Ci?_٫?=P~ ~?+Sn ?Ýn?c[>?u^̃?& ׏h?3/cp?ڧ!8?g2Y4eǿX@ Aѿ.GL>׿^UܿĪYK>گДdB1k-,3Y鿅tFaƁ?佩A?j>i%?[8 ?WHo?26??A”?<޺?@?Z??r?dԌ|¿#ѿҝ ڿ[Rijc7k_q쿊!#^wA! `ρlOe?OL?z?]?`w>z&W[߬Hsuean"u҃tsgpE`SiG8ϣ6uQMNtwsUDh7~{cr.HaNgM՞RG6[aL9nw2 Y隿Vkɕ`MJGHVxzic%Y|Gip Ia_TsPE Q;*;^$a%:$jjFߌ&7+6_JG}sMMtI j|M^(~P l=>:{*fGS ~!$[{AiZw,roSk)^cWS7XjZSLުB>N8|O-E:Wuc!l^,mzu,jf%m:Ѓa>VYbQ'yF4#:?,#9r5躵v<\,VYzt3U2P#i1H9&A/,$5|RD)odvn wxةc㪜LpI:#Du C@989Q*=0qΘdB% BH1 <\6>Q,LxԾw0==lI9aE5{wEE0kwc(o G-{BU!/ 3GSef>"I`پoWľ6j Gd?,p?؁|.}?Ic?h%?2` N~?7 ¯?".?7IBva?umk?ȹPw?q$V?p:?-Fؙ?ɽp?_b?&^?g2u f?fq?c|?Y/$ek?{}ې?Ŵ?mo拏?J5Y?Ua?p8k?N'et?/*+c~?΄q?2iq{?Uo״?9;T??L h\?[Td?i_.m?nA]?u?}[$/}?Au?d`/?MbP? XV?w ^?e?Dm?i%s?0rx?:zp}?)K?'(m֘Q?fW?( g_?SC "d?}ψǿj?+np?yIJ9Vs?tjF?K??Q?hrg"W?T\ w]?ɁTM{b?2+uAf?'Ki?CY*B?#BF?NOMTK?*}XOQ?4ZHU?V*Z?Vf[^?kŪ a?*:$?? C B?vE?hJ?F[O?K{CR?@?\$C?'X[BE? 9BH?³`NMJ?E5,4?(1G5?*8??lQ;?aӁM??KzA?9d4x*C?b? D?LRاRquQ9sYOW@g#M)6%Z?9DL?A{l?]V1*)?)EpA?m$Чĩ?Kl?c}\?Cy;?QtW?{i?37_Τ?/Y^?o?S?2?c³?r?0&?}gՅ?D:L u?i8ݾ)(ћpup wRXK s󀴙gJXnBu>Wq}L̤:\` &?6r7V?=:|?*6?(J'1?m'@?6ſ?2_%?,?I܁y?h0qj?>7оwjy`}.yc6D/SU['{4jnOk0e uzI YTCvP6[v?ɡa7_@?o5$O?NnV6?/W?֦aڅ?KKwȂ?~? 1w?.o?jNx#_?<^ṾB/ A`=ʞo(F #w/U-~sȂZڅ;(X MMx&=%$sLHi-?$1F ?,_<{?0u?4kn~?0/{?nlw?iBz;s? &ikm?}c?\`T?nVjyT cWw-nmu9b?qwoaY?JWI?C1x%犯ICcYڠjb[Xhm p$CqMrHsg.tkmvXv7CivA$/m?ui=m?Bl?8g>=k? h? adf?Xc?.M_?I0kX?RnlWP?V-@?^逾. @Z­rPdiXGS_<%Wctaf<hD*kh7QlZ(pm۞?1m*-Cc?9҅c?o8lb? ya?멎`?6RR-]? Y?/e#U?55P?0 lE?ujpe(6?QI]>4fS!6)taE3,;3P OU27Y0[ajW]`b\aS.LbIk=cmZc['[?=#{Z?obIY?66a_X?f)zV?ݥ"T?~hhQ?P4fL?jVF?3/=?X .?iA>/?[ .4;=guE[^_H L3)cQ_ Tᎅ$oVݖSX6RY uWZ9߷[K.S?VyR?BU# R?vhQ??Z4?[%?@B^>$`X"϶48z@> *Cc68H#4LBFLOA%PQjR SԈ.K?B-r?K?FJ&J?\z۟H?}tܥF?0;AD?e4{A?[""҈,-- 6T3<+DpA!P0DFFiTHJ]K(nFwKbCE?PD?rC?4F,B?X'DA?f>?CW:?f5?٣0?T&?lZ?Kwö>%;)Oa&/Ҏ07&5t:4=:g>+C@wRA"!wB wC+n4eD/lEb+A?"j8@???*[=?a-];? 0^8?765?WqK1?`z*?x!?aa]S'?1p">}P*!z('Z*X/e31cZ 4TuTB8_1-;oo=tV?G^k@D18@:Ip`r(9寿!BУZ~Czs}جż_paAɿS,@F&:#=! ?11W|< >wT(sjr`^xQ+"ZD~(:[ǡۣnC6*8,F/Y枇ZU|&q)كe/ Y7.N3xBB8̓ ,9օ|"zv ~Y:-ЪtouFj&q`lr}"U ibHXJ&^@ȝ6a^섇7}J8==ur> mʱ cĖ]Z "Q.WZ;FFq=Y/ëy4lAɨ}NnxZBQsħjmy` HecRb])#mTkȂK}PqBYo93n"%6K$E0Mi5z,f"-\bG6a:]~'~Vz'PP0nH {uA Ի9O2o&3VG.]0hoa^ Y[n%U3ھP5:I'SdCe&t]iud> K7wVg2{ -].6(.:vQ)>OuKljdzGR/0mC% vw?zy 9gRL33Y4/N8)%G@IFۂEG? &ERuKB}))>tƖ9ۘTƊ4F0=+΋$b:'4$W +DF1BnB@n=Xȅ.|9S{5 q1E-'?(bRK%CߗK"ƢWΊ@F_ >:A<7k'9.U5iM2/%*rxo>1AvJAէPny/ЧT,JBȷhN>e ,>'c r>dK@Kٝ}>?Am>:%}>,,#L5>- >Hwn>%>w_o>>y#>Jdj]>b۠ԋ>}{E>S{(j>]>Ɇ _/>KNB_>9kS) >rft冯S;c!~>V =p6 W>*a{Yp2ny>D>6W>B˒K㯋e>}=+u0#XGd;ZI>Y3ro;<DWҐ 0~x> > t.W>3e>ׇ(ځ>Rs0trҁ:M(e>Lb>Y2:>m OgyBJף8ua8h>n vy>d>gx?4@d>ZeR>+ ;g>GwNjwZ}>' Zbp>ɛkNtT&j@q>.Mb3tScrXJr 骭l(%'F6T> 8'܂>߷p>ۙ>eʱ>@Ԗ>Mz>Yf9>>b]ڣ>mq<ҏ>^ViqfHk>rvB+پm 澍0A򾨎QVxvzv:dC5[ᾳCȾc>)v]>tkk>-E.>'3>ߴ>#e|>kH>i>c S>ɂvɾo?dJX>:|BR"r㜚"m#s*>h",lE9vRmG#rѳ>j'7l?/??gLwc"?QYPE#?wפ"?g.?r~q??_=羥qڛpDoLU8h>百De /Fuw3[>6DS>_1D_z9ُ$ l>87>vk̽5RbT.g/j>#fTu/Tx5ayqt rgx]rYV-h}$WE|Ù,Zs>SB/*J{*8d2>+8t]ౢP> ;i-xLOg>)WžWQ50b;$jXWC?t{vtDsmT>qRo}nV`<쾙#ݾu?T+Fe?.o?̵?{*?`}?N?#p? U'T`? \s? ~ܧ?bf? 20?0 w0y?WMnSh? OX?M?1a?gi?x3c?->fp? 35`?~P?~9P?q?Ly&х?Pk?t?^ %d?:܉AS?CD?))wN?bk_?Hww?zf?pJV?]}KF?ΑSY7?N혖?7mw?cn'f? $dmV?gX8TF?o6?*:g2(?s[t?knL+d?-?S?4C? F 4?ރp$?qS9m?^r$^?^+}mN?4(x>?JTk.??Egq5?f#n?C.4~?‘v?g?\]mv2?ƉT` m2+prr` p2 ge@SMk;lN?:he?XT p?&*r?S&`r?Wmm?K+I<`?Ze@339?8g5OWv7~x?nde ?W ?ԶЪ t?W ?oung1x va{axi!pWPWY8W?!Sp?3yڮx?ºOZ{?-/x?BIn?>GL! ub  Rh s 0F?+jϼ̥?Pt?b\^Nѕ?lr?ლl?4i)M`rtr-Yv@phΓXDc X? p?AOwYv?4^t?2`?`mڛhiփݕpyCХwqW8o\>?18n%?6b?(Nvį? k4aȦ?u? I"?B5t?n?y<5R?ok5*?}i¿2jƿZƺɿanZl̿|a?SAp?jxa?MT?"fb?'K?V?]?8K?1J`ɩ?!5 ?.񐿬=տn:t鵿v@f(Ŀ`KOʿIϿDҿFp dտQV׿V`bٿ_~oQ?Q#_ޝ?m?.a]?K?Ss?R?0?:6g5?ţ6?cP, ?#i}1>Q|3ƿ-BJ0Ͽ"FԿ:OؿNܿ:_࿩MUQ (-:!俶j?rW?i] c?_iѪ4?2밐?5&'?GW~ J?\Oå? Nhw?:7C?לD ǭ?^%/?ƿhֵuҿ>ٿpBJ࿺ByB㿒[2R6濠f69meߓ9Za_5q?kzR?ZR3?q?"(?j<F?U%?l@?9'Ȟ?&ۢOv%?̀?+ޫ11?3aW'ϿvV7$ڿ v͂~O;y&뿉ah(H'r5Sl!i8 ,?Gݿ5?;п>%!Xۿvʹ]D'k*쿆ƫ)uxo񿉤e'X15%ח iۿD}ۿ-ؿŇYӿ̿8¿!Xps& 8〨ȣn V eop4ʿr1LɿY4f ƿ#ZAu>:f3Uj qMrKrMŊ]w$\>Q޳w 8uw)|pՑG FNr]esBaEKwՒ.*dQc(0ȧ=x2g#Wq;Na8OhaRn9&ȡ̓W>+R|jlOo+>ZxŎ_mޚa`)}PN{J6=̉'7ᄿGj~~ٹwtpU:xf.bP_[wGsPNy>=;G,qS 1NCtEԋqO9s5lzw$fTe]_)rTV=8I fJڽn!DfS i?Xb*s?*x_9~?bZ?-?rCY?oZ?уdc?/l?RLvGu?3[.r~?m҄?ک?)IzU?[ ]?o9(De?GT n?s`:t?ǎ8{?zX ?CFQ?8W?;Bu_??!Kae?h+*Zl?waI r?RZv?U-feh>?)A? 2T:E?ijvI?J0N?w^Q?TٯGS? 9?aG=?\}a A?eNC?< G?FBJ?G#M?Y=LO86?z8?=?A;@?CkIA?Rٟ|82?J3?0 5?˧Z8?~:?NR6?*A?1~?8g ?Mu:?T\tI,?UE*l?"-zT?~s?:]?;"K*??Ҩ-hŅ@4H񽪿NKvEV}+cZJ9¿؆Ŀ62ſ騪JǿS?aFS?Mzlb?ZV*n?x4?iڄC?D찳P?̤?[:`t?YU2?|Ox?(t^zxݒqG)[R_#wȅ 8WRСi蔏Juz3r \ͫ)j̷?Acg?tf?7l0e?70t#Hc?="`?FIO \?%?'V?57fP?%Z2CD?Ԣ9+?b-](+6>D‘DPd DdV3Lг\A(`)r]DciDR,eֈfgi~,h8 J`?iq_?X4i^?!%4g\?R1Y?R.JV?cѴCS?}|KڽN?y.ybF?*1;?ǩL"?Q5"0V,;@C~_F,;^ɷNuAt?jhe2?t-?2(*ߟ;2A>MCE;;jJ۷?O@Qhޥa8S(TUQY^xV4(P?Rp>O?_*bM?wVgyK?YI72I?a#.F?*gвB?cR=?GT0:5?K;it*?x ?k}-YRW*_\@5S#=AV9`B~ F,Ic2KsúƨM4="OfPy>fG?r9.G?twPF?@}uD?z;!B?XP@?D;?h#n2&5?\ȕ0?}6K#?Aͨ@5 ?W?G 4߱H#/[UF5ϦI;}'C@^}BXݖ.aD,E GtݟG˦u B?jB?#A?w +??ՄS4?EpEu.B$عvf+Mjv1 47}yw#:,WU.7Q쮯KWh^Z43Zd@f(@`xʅws(jS\!7gN*OAb8f,^0<'x"Snu0\sE(KfU*yXJLsL-@MFnljX܉ׁS̞Lz鈭GfoyvbTb/U 90|I`^?@fl=:v.h29_UN~iwsZ'YhTsNH]]U>R[[2"rFYo<ݼ슿Gh܄̀~$sCujl!b֕|W#ZNpC}ae9 y';{|@Atum͆od e\*W{R=O=HgN@j#7xevRr?l )+e-Mۤ^h C7UKM vDwM[Sa&M6PVp˜I0Y8CuN>FK6bʄ1+et@SƦIAQ:~wGzM /pH@C1纤YX?2g䪎8,113\`.M v(JNL#S3ID7]FIFrBC3M?X6q9 Dx4/&q0K#*pay&_EPCڇ+TAY+e T>Sm;$9$RC5׊1e,J'[Z('7آ$랇MA$@=4<{zR9H\P5 j`2& .'84)_Jv&Y#Q<#7=MJIJ;[9i46'O3qC00, u(|IJ$?A"j Î>Z@|74znp_h>iv,􎾿C뭀5S>Q[4<"{>-KumZX>g({l*Ƚ^h>_xEnx> B >C-((kڋkm~Ctut>׳q>t_gAEXD-]>0Ƃ>|>gH>생z>hq g~>T[C>-tfw7> -Hݫ>q>O>.>fj\b>m(>~ٵlV>I/nMk>u:>D4d>H$t5)>y|w?n.Z!u>Tц#2h|X(f>o(6ۑ\G4q5Ӡme E~>jde6Mt_ |+>]S>$n |>UE݄>^L!]$>+&>Ӭ zmHf>Z1|W%u>zDxrjp3[e>wȷHj>>uQg|w{zwTs>h>kMo 1rr=yָS>f~>()ۑv>o(`>d4>eYo"L>j߱'q>uכks>[IDsy>n)M,fv饾U ,U+6i[D)2~,ԇBm5q^~NOU]&ȼO#Lw[>ٻN2>OLϰ>ہΓ>Ld>B4Z>>Dž>Ae>Ir`S>}eӲ>Hos;@Z,2뾃3zR 񾄧 5b_nʦ$| zؾl̺`7g><6 > 9r>R.>Ĝ>SS>>}~'>?B>@7r>Rv Ҿ^XC?řz5?`L;eN:)]{GsfugU!b #jtD\#2 1Jdhˉ Po#>zTÇ ??< ?hDV#?r3z#?mL!?֯F8? ?FNO>yx_FOEL[9^f\~^#k5o֒6PT{> t3H~> S>3)щ~wm>6>0`9pzrK`.ĹRf;ܹv>r4yo`g~>dN,Ydz~>1k7ўw>Ȑp>3l*_ 668S?P* yoF)doиgvᦄ?gS"S>2j>n IXNh>C.Kk>$ S>.G KARʾo9l(x𠲾.'$\-b4l&FZFVKYUH> 8EtQ,)M16bI@@侵pԾ&Yľ&*g^JcuQH?BbiЅKiPԑiP? I# ?߸?8ne?:kш?DMX?z/v?bїg?oR?x\?B?.Gr?A7.?4{:?`t?œe?4?$?lj5?E>?Fßc?HxP?ٹhr?WJc? ?i8rU>?VG^,4?@?FF,?Ii?"#n?-_?I9S۸?JRZ?&؊?FȈY?SU? hNx?i%5g?U1 VX?ʻ?k?a?%Ԥ?Rd?9FgB?_ qq?]pe a?'R?\5Ck?-?*$#? +A?w?hp"!g?|#V?5~H?w'պ#?rAĿݠ?Z?C~?A-l?(^4\?ŌpML?̇帡>?Ng?H Ց?-]?\T Pp?gQ_?B,iO?>??)ŏ1?=ԑ?iٯ3?3 `p?ga;t_?־(O? ur??}V`0?%Q"?h}? ;օl?j% {>\?=ªK?lXhh?ZU|z?ζq?;#abY?б[`Npg[j@q~1s+EqnTJk*wx]e>(=~]?'Hk?q?*s?G6q?}g?$tSN?#XYN.˵q z}(i}`;?J|?ݞpQċ?Y %?uAd?]`#[$og?>޶Nu?\b`,z?:x{? Žt?1LX.`?1tdJIA.2`΋}N#~:ڭ~?2?,? ¯C?q ͈?+\#6Z}?r;? 9ohv-htW>uggW#>&0g?*K!nt?)Cɽav?zM {n?lÒc==ۧq }&AOr1 1]f?-??h?ć=?}?8:}?䥤@?xO1.?֎(+x?}N}a?z!A?\r>ND-@J//Tai۷T,xz=ֺљĎ â8 e)"9;4B DNY$ׯ潿v/A?$<6?-$??ˇ!?J H?'y#? ]p ?Af 1ƣ?J?WH?.?ZK冿yTBKmBƣ5@<]",Or`􍺿:Q<Ŀ=53(ȿa2S8˿ڳAͿk?Тrל?0͓? }?DbW?e}* ?;6J?p'F?Z-H?_KEbMV?x?rNgM ?p4K_RkIU LJG¿ Uǿ"gJ5tͿ3Yѿ8-Կ 3+ֿTvؿIٿ5,?EЯK?ԅ?%E?2t?@<#?1PM?yW?A?FS?I3`沱?yN?JRի1Uʿ"ѿ"Oֿ5%ڿ8 {#<޿$]#Gῲʊ4Ib俲hQ-?¹}??d g F?Y!FZ??3!?$#?ӱ%?avX?px H?kǺ?ʊ p?+|NͿ?5ֿ>PfwL&ݿ=.1ῴ%AB?翽IM\꿬ʪqG-@Hf_y- x?KЗ?F?{[I?X _?,&?6#?  u?si/?a2?-Ղ&?*rh?xD!ſyGUտQ.߿w* v)g , ,'ӛȕ`/׺|HI?/M$.f\4?,Ug??)0x?I?}c;?N?4??P`W? ?? ?'DzɿHٿL{]kB7wS5|JQş'J0yZ!,4$i ?+I? Ї &?nO?5.2?: ?*?!a?9 ?(cÙ`?>KG?-})>Iʿ\0w`ڿz㿜b52E￱*Q ;o2WF '?G.!t?\gBl?jڜ԰?b0F?@ z6?19??xN?1H?z# /?B +?|zM@; ;q /ƿWsֿZ/AI࿾MOE#]ӫ : NOgm  y"k@#RڿlRܿ!} ڿYpTֿ!{&пO,MqǿK]wd}Ӱ 4cj( ɤz`{c'ɿU 7ʿǿFxÿE^ZX!lt9/rНz7򎿀w|X8h `KQ|r郸BW`4$!`SαNw$YǪHg]4qpE ?=xĻg'{;ǿ=jVL<8K@%q߁uSWԣH `vE #\5y%e?xKviK !XDFpD ._I_vj:Ke(1~ tWG~[-sGAf3V:W(PTyF:3}.kZ؃;7 u\C{DtmakӑaET?^@LFW~2945AnN"8/h <t<yr1 pzѼ}i_rbr"[aZNYPhvpC%&442]=$i*&_,ed2 9,b~Y e^!XdQjHGp?:؊2ʞ$/ ÖqI ؍DPU)T8\Q Mo& ;GB=!A8j7^{K.ȟ~!/[R j&M"۾!|D!! ABIu=8%P7ȈO0vPj'DTSC2:&ʙgZi}=˾kBt63$KS3no/A,F>(a}[!"y3 O#N. Nci5iѓ7cJӾ3nZʕmze?2Ar?Qn=?A?^]3`??ps6B?u>$i?~t?s_΀?D?g?ocL?ݹ bz?.?(߬[? .d?fIo?'/ax?ʳ@?P󋆯7A?De6YgC?]f oE?G?r]u3?mOY4?9v6?*׵9?:>*nQ?%ʔ?Va?U*|?K Ȟ7?|N uHΔSM ?Pf;13}{Jp|l嫿L ? ?Ko?k4?މP ?It)?ӓ?K'go2?^F?P!?Tw@p?Foվ tsxp|f-="d3>ӓ)V)U4 i<z ӎ?g!+͒?_B,?|]43?n&b?`c? w? ?= v}?5t?H0Wd?;8žصCbd:t}I *=R4І]싿 OQd+a,+8[Ԣ˒(,??O-?^?("i?=Y?q+eHYi"O9ĎrGx NL}.c0]\B%yQ񄿪j+Bㆿy u|?Y8'|?_{?4F9z?x,)x?924u?r?}4jn?og?l`c_?tdO?:$t O6ϭ_׫Rrg>)nDby5r5uyU(xV@6zжN{\_ϕ|XWnw | {r?%nMr?p q?2p?f Ln?yJk?BZg?~c?.p2^?:)KbnT?4,jD? ĤDZܸhpT7U3^.fwc>gX!;; kWngcppqC`Jr5>[@vrSIh?<ؽh?VU`;=J9ShW'YVig_ӹ+bEdbszeBf5g{gb#*?h7_`?~/"`? -_?݀{]?;e1[?%|_X?x- kU?T[Q?tEJ?ڀ$B?q&82?OD͙\8 /2~ B#QUZJ;ZIXQ UR gYX$.Ю*[+?U`5V? oLV?`.U?'_JT?fH:%ѲR?F/P?A695L?ReG?;*CNB?眿n8?Z)R)?Q'כQ>n1(1C8q#ϢGB~anG&LBkPgz-Rɢ?TV\qUxt;VGvV/=P? O?YN?eLZL?fVX+J?taG?RTD?"9@?ZS[9?nh1?D!?LBA>8!31NUq9zF1՟@W$otD{^6G*}[rJ Ln yxN?O%T`(PʽwT0H?<;`G? {YF?V2FE?*DCC?֤GwA?*,>? Ǚ8?Y"8 3?y)?g, ?oz>sJ+7)4j2j۬80> `iAClyxCL/ETg0F=^uGοeHE&NB?T9mB??f=]A?>@?`&R>?w;?R,V7?&63?Mt-?<#?pF?+5ƨ>d:ġ#Z;A-t\34`Ǽ>7bI:CKZ/>-p@9ށA`HBRNBI??FǷ>?%4[H=?W6ͪk;?}߃ 9?X°h6?֢G?N3? dy/?W`Q(?O9u ?M?HuSp>YYmLa$X V ."(1y/+?,39SC6ŏ8[7̂>;Mj=ƾno>c~6O??x?{zs[gJ[ÒKϚ׺qKr3'cYcVkT̡F=~9;FǴͱ: 񨿙iԥ4Ԗf]Tb_zUGmwp`! VREɺyy:\ܑ>q\L[+fp)Kl^tiq 9hR]<\|g1POC~}Wz9ϾvZ `aJZG/樂^3EcxH)n^h;ch{`Wd ܍L_pA.7j8"PՍXeyㇿ&ĚYyR4<q`&gc]H]A S,,:HR,2?nXc5S!;n~98kw7qe{_ieREaFD6W:NNlJTD"~;MW|3wLw)tMhp6ha"bG-/Yn~QH/f@0\7is1q^|*_o/ߡ)j'ljѰf< Pa:=KFZ7\S`YKc`6CS@"F<;.4+n/qeL3abЫ^!XTTSDXM~9EAq @hN7Q.X1N~m,]Q]a⦚mYEU̦3RrgLݹ5Fڍ5DA<^A2:)l[B3/gR;z)0ɇT%mqRe]PA|JvIX FcbA$i;_ 5gf6]1:W/S+ VE'؇>De";9,7!쿊 43⭸0풑tI, #'E }$RoƑ@"I. >˦? <,k:ɶc7f4?A=1g$.g?))ty2y4&vS#_k!aVYQ>5e>)C|LpީJUu]z>Q]Kʭ~p󇾓Qq~Xs>ыv> in$i 2A&{E>q}$#݁>{mYɒc>Y%#w>FU>>/uj>)A5X>Фz>)L> "~Ʈ>,>K>F>q8aO>$N[Cr>7%}>N@zڛ~K-r>i?>um3=>jB>{dQ !Eu:(aU&Pwdp>ueq((u>!B='>xL>`Y>(KPOXӷjxxlH'g=q4>nXp"ݒ,\N0܇qR}ɕUr׌[+NcyS/r~.Kة9]iLdsB>`' iq>>\b-s> `>J_>Vqi>kar>MXI>xmܝF|>tKZku)a >E,Ҍj *ľ=%;fp_Ӿ}־|(TK־yFˈԾסГnо=bFž8ܭ̊qî>lRߨ>RqY>>sB>  >͂k>z8>hd > !?>[N$Sj> t'c8bb)dsGg 2~r_u@] 1Kdt;F3P-Gɫ>`U?#CR ?@_t?t&f?UQkV1?3x c?rz ?b"e>5"p>W)ɾ>vk3 mĂn;ol>M"az> R>MCeHdZvt;>si.>{ϐ υsP`4D]@t%p >G0#p>`cnad~%,um4u4BplyCڗTdNs#Gr"$R|> W>`^*%yv;>6vܾvDѾ_¾FDq_]1D)(" Ilt>ő\J=2΍5-gV7yZyLHxj@?_*\]F?0mB?`NK?[E?\4HH?-;?q_! t?jf?\9D!X?|bJ?fV?g v(?yb&'?|et?` tvFJ?_,; `?3B_P?{m9A?̞tt2?9$?g,Eq+H԰xn3Vk`5>KXU¾]I@ ̓ż2{j?{? ͓?\0C?340?3?N|qF?<>e? 0?0S9<*?[t?)_?!6O?5T=?,s<?J?K?_s?&94޶?. 6?9h 9RÿRI`ͿiqpXҿ)CԿhH^Կ^TӿvN:Ǚп._ɿ{잱'j4՛8 ?ѣ,?h?A֗?oR?{ǎ?A>?;R?׭?i~?X?胉?m`x?f?C?ʨtQ??) @f@6c,Mῴ2dV3UȾ߿,)K2ۿG=׿p/Eѿ47{\ſ=lIЬĖ(%?+O&o?hL?8e?|c?Rr?%$&0?/@Ȕ?Bt1?3o??`'(RhHƛtX⿾ DWOEK޿I ۿ#+׿ Y2ӿ"~̿Qm#W;Nh?$ 㴜?ƍG݌?Į6?ݙPǀ?∜<?M9?\e_B?S?>T?z sN?`ggв? ݞ?mNy|ݧƜoOJٿgΝ6'_ښLT9qK6V`] :ql?ćMv?:;~ ϻ2[7Eqb57JUM}7^^p-|p5 `??tK7#Yx?666Pj-y/Ɛ́z*}[)֋?~v[ufykVz,,^WA!4NY;9ښ I?[`S*`b{L\o'[r~sa"r4bDmdԛd *Zvi,(M5E<2n(> A>YtWȾJb1K~c_=qa;Py\*T&I+ E;@2a+ycc~D3'aQzWxhTcf6|zTrgxQ9yK&9zvgC#;8FiY+ Hy|gl?(D^8ODFŦ2EBmv-;Wd3Rz}'K[tvb 9ʇ'.A4~778T6V>@2)ZX+|k"biTE=A di7@h#=dv)YA2+yʐ?*{uI/'e{s"% %p=m˝Cޑ#)ôؾ6 EVH N1 NSnU?c 7R64v_J )۾JȾ%.+ه+K% b_]vc>ciPbwʢ ?Ȩg:!je3cG5K``rlX6>ɘZJ??)4J2IdGv[lι.k3oyrĎ4D* OHo2U!TDDt9@U6(GlcrR#UqH|{LQ/k݂m۔@orgOk\RKf odvq _x$a\**`9TF7oUSfI^Zg. f9ЫmUiZ$t$e21{9Y@GlJMShTm[ ^vhQbw_w̘Zz>+\|6 $oL2A2R.J.2Qq .V[]y4#+& /,XRv 8:{.A"I=WG0-gHLo(Gt c9%7Z/pp6͈^̓=[U}RBv 񉠑G]F\4#$@[$y,~S42/-78>mxx o'{ᯈ7!b"{u'e9,IY. Q2Y0K(h0lV$w}5!eJधSWxh4Q l~qNnH"$8ֹYﳷ˳P @k!ʲ,i^f]ڔR:=`7l/8p?v>r?[it?|].uu?,u?O_.j i.$hH9pf͑"]dV6=Vad}^+݆lW*_;QDq +"l,?!D?ՙAQ?rVb--W?+i4^?^Wa?_SAd?Pf?p~]Kn>A +?>?T?Crx?0?cuU?@?刚3?%?oq(?#?Ӻ.?wtjމ?W_Uw?Kz!+c?PwM?ِN2? j?}s]2#V Z?Jz?= dт?S~r?iCa?u.{=EM?J\5?eu9?J/ҾD ~4yT8?x5|m_?,Sy,{?< ;q?`'$@d?U?&E?me3??kE>cZvG*F px?q?'$4g? LAo\?j].9P?Ďe7A?)|0?Uh'?hA?xӾQ"8m?,])f?L^?ZMltS?55G?J:?`~*?oP?om>uM<ʍ_b?Uه*\?T?YJ?{ޑ@?9Osr3?A$?1C R?+>BïnV?.]R? f{J?&w:B?97?]`Q,?9Ҡ?g ?\Y-><Ȼ<f M?]ׁc4G?LamA?z08? 3C0?d~c$?q ~O?xd Q?VIAٍ>զɾ#qB?G=?"]r6?{d0?̌&?O/L?мFi?wƒvǢ>̢"o>s ־Cc7?XD'%3?xح1-?lΎv%?X8I-?k>m:?qf* ??`f>F!>&d޾lO(9-?֓V(?"?P\0? |?ܸ?&uO>95>|-qsE`Άr==!?G?Ӯd?a-8?Wh?> FA>#>rNZ'Ѿy kt.?WUn?lM?6sI?( (>pk~\>!DƋ>">߱ wszӾ A޾.tGqz_5m\#z>i\E7>n>{>y,v7r=> q>?6mn|. ] \Mh>O2>$gˉs>/x>4xNpihf>u=9[>!ѐ6W>g>p>P_{6>ܾ-B>OS>>1T>(@Հ>W`ݯ>SMͶ>WA>}">Z3.>p> m@>d*>>pa|'v>MGnf"_x>`o|)rE!y:Fa> /LP><9#e۵u|>N[Tҏf|>/@ɺr>?o~0lҧ-N>QdMa > S> >xqjZGԌ> 2PO ,逾k߀TQ}Ǘ-9Wt8YLl]t ɋNdg;>&9x>(N>1D(>E.) W|>V*|zb>m/>c b€>=u>E mHc(sD{:6q>>8r֚蘤LU/Ⱦʆ@ lҾ&̳ վf;־dm?վ&ާtҾ1pܲ ˾»#:cq>k Rd`>IK>2A>M>T1T%@>-P@]>Ýg >oŃB > Wy>:𘠾+ |c>;Wо׀N$AMXzgqm Za|pQYŒ~)64 [O%.C*@Ef>$B>B`_!?& ?'=]?T{^? @l?5Q ?2T ~?6' >?;q>S˺;ᾲ\!U>q/F5!<|>߿O^}cL\|>T^1iTvx>cnC`>MxSe>a5y>鐜qkt\ey>,g|ap.ޱ]>iTz>Z <3T/zM{>rTjQ}*` L>l Q)sh#eoq>Go%>Zs5pjlu٪ʍ.؏Ti>}=IRi U|o~iy^vHa>ݎh>A | վT(ȾNX(|wљ<\x5Cˊ]z&M)^j3d>U[9F"-ѥ[c8S͹1fF|?ߞQg.E?<$БD?(:<@?` 8[6ˎt@4Wg@b\?1j^?: V?CM?VPlC?G*zA &?U4mr ?dE;u?f4Mj? `^?ἕQ?пgE?EO?V݌֖??/I?N?iXw"?v|?')m?͚k^?IM P?4'sQKB?IWè?Ñ=?§啈?']x?3~Eh?o)Y?+J?#uJ=?@A ?p`,?A/3V?L>)r?!b?'W(SR?(#C?$;DR5?qΘ?pD?2=y1w?g?ϑaW?MYBG?@Tr8?u,?x4?X.ro{?Nn\k?gE[?#[۸tK?dLuaɻsy?9qF;?p?4I歓?uɸ?EnA߲?R ?EpL?&t&z?XڱF?ˣ۾q.y?gF ijYx7n9 Cla+abJ>osA `~ˡ 犿@({4>V?ڃ)?T4|ʡ?r|?}*j?1š? ?2?we?"EgYai?D7ԁyƌ?v+](| jjђa)q%2 1ɰ9"e4˥`>IV;?#?@ 0ɰ?SOk?]6{ ?L?v'댲?}᪎?pXS?17V ?a،jgQ?cOxD*ȫlQ,- R¿2Gz¿ ,vZ*\Ia (! ?s)?Y'K?jZ?0L ?9*w?!BM?z ?asYb?6R-;?Uۅ? chIс?ꬿG nӾ>~2gƿ^y/ʿH!/̿CN̿w&lBY$ʿ"cLſLE.qﯿa߯H?^ݍp?|%þ?Ꝼ?!R"?ﻰ2?,=?6?NsO?zEľ?(Ҭ?3US犿XBD^Si#)ɿ pп˫ӿB Կ<#Կc߿aۿǤտ&W>tο<*;i ǿSCȍcĊ 5?TH?<21?r?3q?5`c?6]?ԇX?1?wC?S|?:o?j(#ͷ?[䉪?TtG:?э: I(Bf㠥ϜӇ듿;F⇿1yf?O R)?-h?:|7~aT-5ٌD䑿B㈰GbVUv5BvrcKgC ;ZUl_]@Tj憃?t (Jc?Co-)D~W|wҿnnj!zq4?QdʳDU"hD$D %0 ,b?I.EF,h2"q%rep=i6u`HSsDM3@<43kv8|?}Q^`LD{c'~-,c .<`8XEtPQB"J3 "Emh*Bs x9δ(L} SDTTx39fwS1 "2" P/G;wm?g q29,aW\㷟mż#6d@7cQڊf6P{Wh 걉;7ܖ xjPPT'QѸ%@m畓RϽcm/yRsvo 싿H,lUz1ᖼ'N8?AüN+f/jX\ :qbi`A[p"!ad"+M(E3\ < D t=,I YOv½jVM͹,ԾHNz]z߻,`l#;$t R^D8~W1 ظ|>}]u%LgCuՖ#v%q&?h,䤿TΟɳtirjI5?DgSo??Veq۟?84? 0?\o?2???w?1ǎ߾?S߭l?U=?mĤB?{E?Dդ?!t2?*nld?%w?ٌi)?GNzK"K,bYdzNRG1h©t`nn} hӗ#z jV >.^6(k?z?oJ?NZ+?۵ a?6h?ZPM?iB ?nH?F"?0?rvĞR6Sv县/bԻnwv+~Q0]wic[o.tMr_Pu[>@_?3mo? {(?=L`4?vpt?z0YEĂШ?ؔ4ցzATh+~\z%kpv4O;QrV kQb1`וRn0>t}|R?طׇb?A>k?MJTr?v? @kz?NZHǥ*~?87P:?TNՁ?nH?SJÂ?B\ uxyfusA)9uS"\sYqېo%ޭ kTmft6`,Vc؆cFB.й>buv*F?\ܙV?^w;?sK?8xT?}H[?hUQ`?٦Qc?Q[$e?~- g?cja0i?ٰj?G| *j?JqC&_S_JJ^|hy]AbZQWVslTӻP+Ikh 5Aء̕K1p1y.>V}c1? DTI??P?\ƆpT?4W?|$Z?_~]? ϳ^?_4H_?mc6_?ŃTFS)mpS:ri3R8=Q @SPPMA?{I#hDHt>?95W5(aL%J>?x%? @t5?U@?O%I D?1ҀI?Hwu&jM?--RP?{>_Q?0/R?cwS? 0ɟS?jfjH:rhKHP֯G 6F͋gF>DKY*/BLzY@3ÍQ:+HF%4T :+SxVa֒>Œ?xK P+?zK.4?u/N]:?ܖ8@?.QhB?IGI׷D?ܔlF?*G|G?؉ XH?>KƉV> qSÄ=8<6fZ<9i @7y+B4y("0~^h)_/1!aOU1ڞ>/^e?lC!?Ho)?20?ѓdg)4?[\PJ7??mv*>?.?52_02fZkC2rbV1( 40d03,݀-D(J%W$)ɱ![LqRn:0u3`>9lհ?㐭Vv?`ns?^Fص$?Ψn_C)?.;,?;h0?ˆcg1?xDT2?ΝN2? wk2?l&vj&IS% FE$>_AF#9&EY!zGټ G^]׌ 77{.b>x>nj>P ?'S5?hsR?GG)?SM[m!?ۙk!TL#?c,$? cA%?.ڏ&?·L&?*v=PG$i rU/:lZ"!48>YH @H|+ 4zSCS\[>(]C>ʾ>,9 !?U+ ?ؙ?2?< [A?8${?wr??1?|M2? s,Cu?m۽?!.?}n{n?Ej [X?{nmA?S#!?RJgp 5Ieq,IQ>_?M?J\C>?n8z? Il$i?25lfV?v2A;B?ײ52(?sY?O.vsT3?nr2, ?xy3?̴IOs??6']d?eſfS?l)A?Sc*?n% ?(Fݾ(c>1?Ms?{ Zv?L2j?ns+]?f<O?kA=?kU{[!?)?r*8?>pm`Y[m&{?{[t?0[Fl?XSb?݌U?JG?&{L8?.0]<&?b>u?y>",I~ !;p?5:i?>b?{g恸X?".N?9LA? :a 3?>m"?1= R ?3ED>Wͳ270Gkd?(bCQ;`? 㿹X?>SҁP? =IhE?$w`v9?N,?Vٲ?FG`7?ǃD;>Ƥ}jlPQY?i1_T?r](O?.*F?>: =?ʪsk2??%?{E<??&S>I'aOSO?~)J?!AD?a=?<:*4?P 6)?i2j?(Ig??r>d>B7G5GP_D?skI@?TpM:?9 3?gX '+?s=!?_}?$j?ިG>}=i>q~xf⾞LpS9?zJ5?:p0?TQ3f)?&!?!q*c?Out ?ʙS>*R>TcȾr_ >/?Vۧ*?5'kDFX%?ʡ0 ?1?h ?s[I,n ?̝v)>8>^:TiP־rN7O:X"?z?vͣ?!ZIO?AY ?.j??2g >f\'L>MnY5a s(۾F4[=?Qf?T#L ?˭?⚝>?b>V{> >?m̾( Kھj8rD>j X"OT w|}>`-Ypu>H@%3> 0*q> PT>ў]i>5K@Ur>ʝ!9J> .>y)C|>'slƎQa>N>3Rn>'dEVT>V8JHL=Pq{s>e>M v>SÓ~> " ل>,jD7c>}`Ѣ>̮>y8}X>IJ>yr>^q?AӸ>#>->m,"M>|?r>>5F&'>su8U)Բk>5?e>>rU>oi)'du霂RM>mZ i`\>:I>5WR>ZhI>!?V^jWj_/*e>(Xy4!Jp>wDuem8:u 0)+6`>[ԀzTj[NbbF>J-|ŵ] kp\>PG.~a'Mts/Yw>T8 V&b}8U$F ]]>^9>T|>Yl>Pl WlH[ap>k*NRpʥb>4]S>t=~I\>ؠKK_>;d`lN)ңu;E% a[A3DUlvX]uा^ҐȪv>fZҧ>x>Cs6>><>m+!>7 >>c>`>lpVYlY>b=A'5о-0HX\P {OUe[yc:Id5o0KȺ= '`\̾[KEm>5'Y>,C/> 5>o B> D>&k>ϡ :>n>dl7>5m*˽>M35`e'혃8!MZ&'I)>*ґ2B']UZB"Ӥl8?9H;A?yi?@ؠ"?֛A'?սi#*?0Ϟ)? T&?%aR%!?ns?i ? 0"o辌qe>p>%+nM>bb 8yg.l>Pgk6mR[M&y>zQ/e>UÄ Jd>?zW:>\S >BBWM$mBlH,Ԩ"W>Fm ',1KFq~ev>lݭl>r62$k'DzlbeT YezWǨc>|keeg-NU>aRgeDd>ょ``T29H9 OߎKx {* 깶$H9&&c<'g>\}jMMi>d '֟èHپ?ɾ/f尺_K˩Q௘ֳ74I-H{, 8>_\Y!M`=Q#, PXjcL@8;? :_=?V}9cZכxKTye*ynD?PR?CB[PDN?E?@/9]?oIo? 5i?b87a?\I6U?$P0J??b?{JWۀ?avjs?)Яe?q@ X?sZ%`K?ɿȡ?JMX(?$^G?Y.5@u?tK:8f?x6qW?/_3I?{?+ h?VN?_Ms? &c?99T?sE?Ƕo ?v.S? 8{cu~?4yYn?hL^?=r1.O?cͨ@?;?ە?GDp?Pas&u?e?GsU?+(E?H7?\-?t.xx%z?WoPi?>>Y?)^IJ?`5^:?,?W|?%\5l?B [?e SnL?Sf3V?`p` cwܡ&f?W{n9_\< IX+uxTX` ̈́`?OCux?1+p ?,?B?,bg?:ޒ?=n8I{?S=Vw?< G`?%hN W.kd?`:w?7$w^RBpg盿Ly'W -b^\3+қXHs%Ǻ{ s?Oo?28Ț?KYG&Y?<,|?ut?̺#ޛ?y a=U?kиg?}ww?ɻ}d H i?!&r$`"5Yԧ b3u99O9u3h*ߡ egȂ?ﴯSl}(rAi0f1>pBLi1'/ɯ~,!*Rn#^ ;w7J$dz"pQ@$G$f(#1wժ!'2w`RX YLgxj&?@о}hl"4(izm O|ʯfĖ6+m"< ,UCI.X־2cXTNNžeې,'&36J+ɧ+,>c&x7> ϒLΟ.Ke䯿21f v@MCLg b&xtq&&/OjQ4Y-JއL^p pOKH_'TËůeXQkz3Eۅ{DGQKXt2gykJ/uҾCdɘ %Yf{=ӤP[W0^T &A/ ޹1O6U$w[KГ7G*I^ k}9]n}?qi$?4jR4?!9?`?L/?Y]u?wHL?ծA?h??,?eF"x?B^oe<R+X=xVhQ(-FYX>V}\k\ㇿMꋔoaF%p?7?vT0˓?=]?OȢ YZ?9\L?>cv?fF?̿}?fأ c?L?M`jY9|>]4n,sƝ?Х,;ԩf);WzrUlaz b?Oioz??!ϯ4?6eDɎ? =i? .@/?=Dv?l?=lz?B $n?wD!iw!Fy#ne T& 'T?2n?ޓѓy?UH:?Mﶔ?#ļ^%??+籏?z?4}Ҹ?n$?m?]T׍WDFk۞Ra}WfXKIz#2tX8bn> bFbP&H|eH?5.b?-Bn?t?$yz?ջ?OF }?Ly?̚s I?k? *?|RD{D-3wFzݬtx{use?1oKhbWzU[ p=dlK=?|BU?%,b?&Gi?Vo?,s?\u?0ktx?@oWz?s2eK{?db|?o@!pRppeao;nImO*aja"f_#_=|:c`g^8$U0P؋J&&"Y1KѨ1?J?F\U?Vn^?d =c?4f?o28#aj?OԃHm?Smo?rǏp?Ap?^d7$!)d#5euca%s`<4Ҭ(*\ +6ΡWeR%ӠKh@9 ~%d&?X "r@?=RI^)K?zR?+W?l,\?Qt*`?-ʆa?o[!c?+8d?.lH_d?2EX.X@W`FU+yfPqS5t uQJZbMa0WGB@^¶e4JP2{ǟT?2Lf4?hv@?DrZG?;lQfM?܅TxQ?rS? :U?.$W?ِn7 X?BX?6\N^|kN4MM^OK_EHHmԟEդeHoB]J@,U=mE5nm)p}:FV,yj?Y)?,X5? a=? uB?p5ZE?H[H? yZK?SP=M?_zCsN?,lN?{ MCBE),?B+AI*?Ao;qд17[M'2s$*L E %a~pz ?Ti ?PFF*?$G 72?z@7?(w;?A0??TA?RaGB?~ C?Of XC?j¬8|d7ʴ:I6@h[51:Z x3:$Tڤ11E~Z-\@;'( |CFsz)q墿>Y~0N?LEc ?)E{Y?'?K 3-?X%P"51? y3?28{\tS ?~Vi?B:+?>a"!?-7:&%?` 3'?O8Ӳ6*?ove+? H-?ʞr-?CxB u| ") tikYgH> @pu퐕`n>3Hgl>r^u> jБ>&t#,[?U?e?5m?a??6гc?i<09 ?Ipr ?3iM=!?:kW@jܼ|6,H5B]{Oژ ɛGnќx>KDV>sh?(?ݢ?T%8 ?1?k>?/H?tVn)?GwJ&?E@2H ?mG~v? ^;,y?L-c?)lK?L,--?(,x>m;u C1EcW'?ϱ?ĽH>?x' u?`=b?\)W9M?&74?Q$M? raKx?'u?MG%s?ռxQp?Ȱzt_?=K?arq6?[D@Tr?o9>3T r?GT?>xfu?2"Cg?: wX?lЊH?b4?H?Mq@* >[+:?NP%v?6;bl?Գ4ja?aIR?"8tC? 8K2?O?V '>Cc2߾rIs?Χ-Skk?!Tb? W?2XѹK?]u7>?}_m..??r@?"b?ƾ{Wg?h1ja?' X?!CP?NC?ia?ƹ6?* ¯'?<?i|5xd>yLcN/]?fU)V?n(SP??*F? gr(;oj'ز@R?T L?nʉ|E?_UO=?3? )'?!8?%f ?IB>QZiOľOg'G?/ȠB?<:?&\>V!Ѿ_Uk=?7?tg2?s*? "?sx?#2Q@ ?fo>(>𧞧ؾy2?`m.?m'?l]3!?2Xc?B ?y>WtY*>Zׇ]fb >\/̾ė<?4a˪R?]??Z:@?-#X?Lt}>ʤa>0uq>u)Aվn@h U^ ?VQN?:΍PAX?N}% >w>6$>]p> }(21ԾuhW֌ھ05fD>Y\Mx>kj/a>M;pB`!KnُUF'P6>L>Y]F>ė_p>}) <>qJ9Gjd3T1.U>  bTcnU>}p>Osh>)Jߚ`>UPP>L@>mi%m>nQVLfan>W˲M> AЉ>ʬn* o>C)*->cigϐ>w$T>\CЧ>@e>*>L0 pO>dbPH>0Qc}>ݏZ:>Sc{>p+DN>s@b>4x>oFS/>d7PgōaQeh;y>]\W`qJu>O']#|>N)MI> yxx>2sC>`>Sb>b0e2S>H? g $Ś1w4yt mƾpd>!`8jjiq^:=p'iļ qܑ* -L=>p7Gkd7a>zGB)lE~]0D'= Mɕ!>:s~?t9(i>uQ1X~,US>I^5`Y9~t>EL`X>l">}xM.Z>u>E>?kd>f劫b(d>=QP>Ab̩i׺p> h]}67B؛1EH1G5Ʊy8HDK a\ǧ9ǴxFBltW'Z>8×>lۿʬ>"E(C>!})>wO>>>O!v>6r?>Ry¡>hDX>mA]ǭэZD>]+ h۾2{q2龫rda+>bgY>Yu>VjrG>ɭ>UO>p} >!>e"H]>etž7 >A#t,w)YG-C| B\$}(/1*`bz8)W*p%_K9=rwKcCI>?b ? t֜%?L1)?dj**?bэr(?$8S$? eN?(?~R>7>o_U!8Z-u|Ib1V>kg>L3Qn>aY~zeSp0H>FԬ^dHg>y1nOr57j96i>GEbE|Jb>mmsuG)9p"u*d-C $>yE0X9ad1_:bMumNy~/>7S<[8{u vQf8~BIl*>g^;:s6F+Jp>-W>&D_>uiA>|iOm>3ƾZ耻"ЯR^el@QjUra>+~:YJӴxKhgV>8noԍyZo1_KҾ7[sx¾8u_Xodf ,pbvS}EX6rHEsiFĿ(-<ctKtM"Z=1? |]>?%u4=;?[&YOkă1/G|uZkc>Sl?>m?u0qe?aќ([?Z̆P?=D?~F?hh?yy輗ʅ?Sy?S xm?s `?Vm%=R?XHYE?^"?4y.?BR?#a}?-)޹n?`?m& 7Q?iȽC?D8R?ʦ?YWb?Qw#{?x?t]m?ڸ]?-N?'@??.s1?x?;cᡂ?3]r?i81]=b?rJR?PUB?^;u3??w%?\36?jd=s?T=c?kvS?j80C?|Wk4?,Z%?O ]e?O&r?ÕKb?丘]R?N6B?lkdiI3?,;sZQ$?pwi苊?FgN ?P8]?"0MN?|>?fp]n/?5 U ?J"h:?# ?4[>Z-.g?c1#%%oZ~HZgEA:_ 2׊z̙VxK̅EeʬpJV<>t-p?F?X0FɅ?,^Y?'mЊ?1\eW? pR?B?~~?o?鵀D{0?-76gz $Cy? Z"䄿9Hƒ@]Fus Ie..KYրȘv~ݩ̂"]>qPς?m*?ίiƘ?KS}F?o|?0p? {l?$U|ս?kfք?RY?)My #c?ψ{w8'$XZ4u-ªˬ/Ojq/,7Ђylͨ ݡзv66Gv>;g?MFޡ?D N̨?8~?k*?Ix?4y?K]R?Sބ?nkNw?&с JE?8Ln'=Gü :Hv}z}+ŷzʊɞj> ?Ԅ?+7w?߹|1??5b.?}o?p[gI?>./}?щ>t??JepT6(־u߃ÿDžϿwI ԿzHֿ)׿'K ׿fԿhN"пۺnqǿ2If S"?r<?#d? W?v?߶5L?9?E,?w:^?Vc ?Hb ?8L ?W־=]>ϿnNֿH gڿbU#ݿ:uُݿ[%+ܿ7ؿ͚!ԿШJ̿aIB*Jq*?9WB?ڀS?`Yg#?F?:Jm}?n<#B??/1?D[;F?\&?u]¾?ەпܑT|׿wTA;ݿ0HtMtS࿺:k+ /޿ ٙ ܿfPٿ7ֿ1JQҿOͿÿ)Q:M 3?Or?:$? L!?),? 457?h?zM?E <?iq??G*;?=]'6?5}?4˅u?=?lJݕVǚD:!#f0礿C3#{w(f|rLpHKZϫ?wMEuX? I*]?'b>uBؠ.s[zٓc>uXG_r q63_yi_HǏ;?Fz? mDlwXRpG""xJ:悿`jyTwn^fHo_ lAMSWa7"p't?.d1?L=m~ xw3@xkzsLOwfbr>2FCh645\Q=3N8s0|;RqV&'K?HGQYdY*|jijf&g{ADgal!)W\PdKH+<2 ﳟ*N՝yK'0 3tP!}Y.>\Q[MV^WP*@NFy[:=p +~c- )T(++;x+;'G8KʃLXpVNWAKV0F>@< 05)]Dն#ra N3(`QFŀ6H sX=XE@9 @8;zRr",9„h5KLM:#O/T$8K-D[뾇a ھjgǾSD&bM qY}8ll&S5y4 ;&L6ٷaP%N[<޾kWe̾ZM*N?:C\#V U1ogɂ*pUY?؈Ҧ n4K` aMM8@ckV4k{-(u~:eui'/Da~&`岢@]1zT lcfPv| GMj 㑿.ds'ަ1(Iz>f:P4ea&lo4G{V#ɅXo$p&0?9MJL䶟0ྐq&\メόc}(gP{2身 cd/¿Ðc,듪E"(ʔ8WdlLwXLf?^} w[T ?z?hFW?N ?lp1^?_胅d?"9?䬷?!?0"с?z0?>Ԣ ׏? I?Hf?gp&?y"?{H':?ىf?S?%(?#m+?4cii')9ݏ97j܂Fr[6j{ !򞕿{|^}Fw|#'*ʁH"Dqq>`]q?%}̛Jց?)55??!J?՟^'?ٽy?:?n,xSD?Ԋ!D2? %?#:+)M.Tl{eے%'萿$R[򀍿*ȎJ&c+m ~*_ vk{t0l=d0i<>i\ħd?﷥t?;o:~?T.? _?-y?U'@?0ْ?}_)&ay?&b@ W?٩>>?HƈvuaP/yA~j!{…G҃w~<+WAD}zSGww|qh[j#0X᫸ʇ>{h}QX?t-h?Wq?8Vw?ĈQ!G}?(UQrA?^ Ĩ??ȟh?w?r^^_Ĉ?{B^-|3sf^|0WkO{C y9=wʚWtHJdvq]Rdl\eڍY\ĮMPx>=ܝ/M?+]?Y`e?͕hl??wq?!Qmt?_-֋ay\8ZC]ƢQ3A}>A>A$kA?2vIQ?$׫AZ? ň5Aa?',?'e?E,{h?ok?gn? x\Q:p?H{p?6g p?Zd"I?dDAcu,lbMn`҈a@^9{|Y?=9U(++PE{5 >WBE6?з4E?]1P?M=U?1x@MY?JxlB^?MM`?K)\b?kv4c?ڥ@d? [d?VX5ޢ+?qpHK;?W4D?prJ?W:[P?j;dR?XAT?̭V? [X?plX?s8VX?V;NI]9NM mYL*'J`eG)-D!_ O@4:=\9A+a$1 =!+L*UI>[ X!?O@-.1?aDg9?Ͼb$@?ފv L2D?7lG?h p*J?Er[L?uR{[M?XpN?)0N?߲ SLCh6C`BXA=ѺA9s9~`@bM'b=vnc9m TP4nR/We%?%Xq♖>H-?wT'%?)P 0?2 $+4?)8Dk9?\m=?ig@?ƍA? XB?ieP;C? vxTVC?i8!b67K޵C7BbS6XOu4 r]2 e;/-*9$xQ4 #Pag LHUp> ?C*rO?i0$?&_Ӕk>*?o~ Qǩ81mաd)]Әv=z?o"?M?a_+ ?=z4#?h&?*&{')?/}"+? B=M,?6[(H-?-G7+n-?ֿ %E #o #OY4])?**[Q |0~Dڸ4P>\bf?~#K ?6A?mZF?+dfLR?|7I?U}?gT ?ʍ ?y!?Ւ횎B>S52i2؝x* |_qs L]9je*iG^ (*AxiFy>@>E-/>v~>qE-?M<9? Qw ?Rp ?J?d/?q>^?(q"p?|v?-]"?U?0m?+!o?x(UW?x^>?x5]?jC$*h"6?wA?;ذf?;p%v~?siQyFl?,=ܜ W?uA?1c^%?qF>e[I", jU?4?Ǽ?4?3?|#v?_rbzf?h؀4U?ZA?l#v)?H?^ KfmTWg?y0?rb{?);)p?moa?UzxzQ?k#@?dE**??¯͇jh*?ۛz??gq?Vܺߡz OE_u?mXtp?l#g?|"^?_FR?6lnD?+Ϳ5?3BuY$?|*w?Q`>)A^ qj?G[|d?&h]?y4AT?(ܙSI?Ngvb>?uWw 0? /p ?&t ?9> Ǝ = `?; ,rY?#)TS?VxK?2#A?I5?mǪ;(?cDpp?3j8\:ྥ쬹T?1J_P?:.I??UR=B?3t8?@9.?e Y"?{^?dSPx>>Uྕ՚9I?,ID?M%i;U@?NW>8?u0?`%?HW?J ?rFJ>鉵e>Ҙ% =??186i:?4;'5?s\/?(Y7&?E*?(!?g z? e>49-U=Ù2!7[ 4?yǴ0?y*?z#R$?>Z?-?d6K(?͈P> ӾLnP|ٚ(?!<$?Ƚ ?ZvR?Ch%? ?oZ>h:C6~>S>LپÐ3aUZo?B?2'q1? 8x ?IW a!?ԺtF>‡,2>{'$.>05Bƾ4T۾>~z>@e 3>d }Pd.˾N־Kcܾuq~Y__.vBW;%ݽET޽B(BA}C>8FjCw D)cH)Uӌ{<H{ygvZ=;zp-? =lky!EE?ξ&x>d#ɳB@?#ʓ?Nē΃ ¡#=eQeApGYz݊&lk[-n 쬽@"m½&TyؽB8^V}.Ž-J_ʽ߉Խ1~ֽܟXӹҽk2 qȽ ۩0b=4AѕR=sJ=*S= l 5=0zI5=@Ƌ2=?f=&pS=42e=*թ; BȽ(7ҽD[>T!ֽdԽF]p̽F,vɽ8^5Ɩ9*2հeuaJӦ?x9_a׽Xw`wX5&xmu[8_϶QGG \ 7D/5%.-r_ KnQ_)+=Xer/=/@;ڏ3 H*ľl@ԾP`f~4TVm#{O gv% 5o|dCk|Cܓ?fBY׃?[$nܕ7ˆ~, f=2#? }75?gi4??1CC?3O3E?,]^3E?0^CC?7ܭ5?? mr85?R4#?!TF,_7Vt?dBUCafCL p^[<$w{zt^7T8| /KD(¿ǶϿyvٿV9X%0T7MvpA{nѺ<3H;!F %d.b3N龻vw*ؾNz|UǾoZB%J#Osp#,nГsrdR`n^4Cٶ"wA'7NM 6(z0!4\1h91\rH-8#Yy~?؋C"?T2K0?rj7?{*??(?DkGe7?: 0?lY!"?E_?]y$C:/z;k2V>\r35<$ߍf֮™kŽ E*ֳ7!Z=`C=% D?=zkc=)2ǺLs=ց,F=w/wyq|3ݘfeЛ#v<}8|rx5*˒z6.}񷻾|䊝;sU Qݾ>s&쾬){@ `]{o{.WM= =3JC.bC\ C8-GAA!<`453pO AN ?cjw/?z:?A?m&juD?p^Kn2qE?61uD?pnƟA?zz:?ֶ/?(A}Z ?|r E۴C33}uL<;OtFA-RCCFCQrHSxSCo *)}qPjehNcߗksz9i7;F4ȿWԿ$dYX޿\>-必f뿦:?o}q`h"k("#Uޗ/9IL񚺿= u3ȿ ZI'Կ ޿v^忴d{sD\;&`6F!L )"C؇ wav^smU{s.^:S%R従4^uƿ;eaJ׿R9iTk:m%\J6꿶gۿJ[tQ?`?F?9?>r5~?%Ԣ?&?)l?貥4~?:V?E?~?=c'?YHVDեۿB6Kdh%DGkHc0Tr!Y迢~U׿2ǿ>RԸZwp~ɜNY^׏(%qځg5;t4gD|eZͳjh NNWV@l%g2y=#D=9i!O! cV%迚!e׿I|ƿ 2qct*$AazK> ORXt|hgd@)#TC}1{P)'e׿*ǿNCGոRxʜȥُ܁ At"2!gjo~Z֗N{@N[3Aɪ2 t'$fIz9n= T%-4mHT#j,{7*re~/yx1o&81v40M)w>wD?ᑌȍ)?)^3?@JEW;?No/gA?ilUE?qbH?][K?b=M?3I{O?MЋeP?@)ؕP?KdP?էgO? `sM?_RK?xVH?K.D?ьM2TA?qL';?Hcn׮3?|z(?1$?Uо_cD 8{*=[81 49RV%3Cck`3$.W2G]s08","޵J&!?C)!XBW k):Y𼠵5(3=aJB=_Lc=d^$==F& =Y'<=B"=ka/ ۸;=9ۥ;=›zֽlM(c*guؽ򥬋s=ơ!=HS=Ef}=@o={js=˲M=oG=!1,!=Vݻ=3o6=jJ)V绽"mȰŽ9G˽̖Mν9Uν&nyn̽c˂QtȽ'tGfýpC#Flr˖=4N>=͢Wy!dz4`L>CP^#>Hm*N0>q(?CSā6÷׶Xp:<˾$̆ JRcBFF]~Iw36k1!8ity=O ^{x=A^B >ok; OUVIXb =*Vh=>#"U>"39%ƾR^ԾW'rǫ6)~"oH_ wX!m08C}%P"}6,\оQ]JiN7Lһ*a5r}3#+U/O7Z'#@JF_L%~>`{Q,m1T́H)P?1l?Q{? 8?5?]# \$?`he?2e?q6Coc?)?Ȑz?@IG+f?TV+fy*~,rUg/0cM"-eCn]0Q$=H25ê5y熃Q{Il34'P*U0/Q_n}EvOq隦0Z`8d}Jw ʿIԿ8S޿W47h%e< sņ T_P\Y4?:~!?P\!8?3rU>5>bt>W/?>.WFF>qkb>S$>^47>6~>U2O_?=zCv?û t???nc7?!H?Hrf??"d?iu6?Se?jf)q?!c?a1>KΦ>^Rx*>ώ?>OY>~&#>-8i>T`{?FC ?CRFf?k?7H?$`#?Ww1\\p2h(xbd뚿ye>D*mlϿ%lP ÐWyݟSX4TW㚷V;b T/R*P仌,M Vx;IQ驯Ea-cfBeg!}@_lU={ىz: Y G!8S,7aXů4Teб^ ň]? Ai0^ T}- Z`Q >Y,Qbp>1 $f)ٿzO| ?,BF ?(綩?$GGY@Q@D6YH5 @^ @uc? @S_ @t;`@ [@* b?mk.C4ڿ=mοǦE¿hO BOmeӪ#TR4SCXZvuY m5QCdP]nvGWDS $­.?+c_?Ҡ\?|?3bQ??ϡ?S y?]-h?6W?0e+fG?f:8?#^y,? dL?]*?Nm ?te.um?Xz$?Qػa?qi?c?[iP?rU?ucu? nm?#w\7d?؄]?/<zFV?hV!xS?+_l)*?`5 ,?vP .?W/?L@헵/?ƖLu/?qt-?]8%zu,?k;*??So,)?N? '?T@^yd&?is`%?hhĝ$?Q6$?n[#?-zV7]]g98x/=URjEAHUDGh9}Kˢ4OQPM(< RtRyRђ/"HQw^PtQMOtUٗK -G )JCqmQ<߄UO13U[M$?#@1?HAO?&P0P?aQ?&.kR?%~R?R?QP?8.ưN?vJ?LS mG?mUC?tյk??@Oq9?q4?tNyq0?Xץ*?w&? $?@5}dF*5rj!G;I6s*O?.) i{ʅbH"6N7 erC٩=cf;m7C]VĄhJ-z56Fl.P )lXW=6]Ψ="^ƱG=8*|=xh=Hs<== 2{=YVw=&NB=Mg`=Fk[N=aoIf;EV`Mwu_½w2AɽɈ~ͽՠϽ:UFνw%c˽9;ŽhOFX{t, A녍?W=A_=Ce >|R>>qn>GY?r_w^cFNf=W ZG=@ǰ=t>T=Djie=sH=ys1=JL%=@?}McT*/sI[B]u0iR5{AؾKOdQ?$̇=c[=w/=SM=Ճ,Ч>mzͳA> Ѡ h>@6(Z|mξS a"Sܾ;wa=뾧om"[J s}J-/v&8?ЀþAgپQp ᄇPM|ς_,% ) 3]1P<.CaIT>Ou@RYUI?D? _Ua?!mt?9(?B?ϓ?wˇh?P Px?#|[?[2v?&JƄ? u?NWV(يu%?yLƄBPwtWzr,_h/wU(PG{(/HwLt&a` y>?a4*? o ?%?Rv>+z> 40>B, VE>n>V>o!q7>O@O>Z,wpBz>)wR?j?Svv?+7.e??\Gxf?w ?#K?h.s?Nd2J3?wO?]5)Y?JP(j?J?S ~>-zA3Z>Ǎ}Ա>*>1">m7œ>V">k)Z?> ? V.?a7r?Y{?֔J혗!?m!%?>WoUbU uqa& ρ\E:K:s&9ſNѿ[׿NM#鿂q2WcL1XYϩ9X؀%^eWtOU=*SWOQN7GO &KR}oG](JLRЭ?~l?V0@z@ŐV @XEō @w} @ie} @|le @b-YYN@7Z*c@}{?>?7ڴLFmu43Կ^|@ǿA}⻿|DwȹYJވ`8qTYӿL0O tz:=q"_$h4az¾YaRZU2SkRI4-?7NSGx?1KU?TF3?uRУ?9Mݒ?#] ?vQaq?5"s `?maڏP?ށ@?L2?xzIW0(?u>?S@m?cބ3?T.?_Jx?Cp7?^0`?zJ 7?Fb0?"QI? oz?=T]&q?_Fh?5O'a?5]Y?{T?-vwUR?@Y~J(?+ +?J-?O7?'>/?'B~/?{/?+.?~PV<-?݄0ʤ+?)?y'?Mq6?@?~E?}I?PtM?U9RKRP?:.pQ? dx/R?By7R?!՛R?IWR? Q?0P?zL?J=N I?r%a$0E?TA?:N4aaMօ;~],⽉2$Ы>u>u5U:>1>TѼ5w?1q$=9@GY=7zOUuŋvvE:&3yߏ+jr4"A4=0L{=l{d='踠#>59KP>rX򒲾Hj`Uo=yoȾj־ 14侫Mko{qb k"lD)/þl?ۄվ穝A5iafS3EjS1>}:PjS?@9M"?Z@sR\0?W.8?WBDZ?-U/r?j2؀?1 ?T? E?EҔ?)ަ?f[!?|$!?0Tu? ֹ7j?% g7jL{x%"{/ oաq ҔBSDy7T³ DE3؀E{rG>DZdL ![aufngpyI3Z zˊ9v3?[?ȹ,ѷ?R?R?F?WS͒?b7 \?/ch?lx)L?0>j> q>K˛a> y<s>DaǪ>c.#X>!>>,z>S{MJt>eL?ߤI[a?]p?rϢy? )z?DL3򤖿oRKQÿu_5RѿZyߓڿ_z/͆[Ĉ{:…>&ij>h$>r5>_%E>]> z\>I=#> u,g>Dw7+ ྨĹA-P1:99{F?߸qGU?o a g?9، npz?[_?H1M?zJ?]{6 ?m@X?ʩ!:E?EuI?+vL? Z!N?DN?<ͶAM?1vD2 L?YI?ۆG?jPD?6 A?:;?L5?,xhO/?0<$?|8?? @ @[}U5@#F@Wʴ"i@D! h@h @o:i @`6@C$G|?O0?x#߿U^|q[$AGY iQ kr &ir$Fr*Q95"n -.x63?y?P@,Q?}?@`vȹ?MQ?:Ck)?-V ę?;Ho?و}T?/ g }? Ss?si?k`?=i_ sS?tjx A?8DٿR3ƿ1Ѣ}l.I? Gad(zz}gc|joUmG`HCcMd.1ʇ 1}SL뀧ږ濗.ԎܿQ)P(QѿϪ@ſmeȹӕQ= w)ÙEcPµ煿_AQw}kQs(iNRj`j< qSf\AZ6v) }!7v#l3A% 1%%]G$f8#y0!_t#OFX:[-zWfXgs=)Usa{(ýBhͷ W,AHݎܜzb=XRz=^lW>Цc>1&>f94?dv$?K,rLQ%V,CX\faY`ھlI<_]#@V̼eR@W"=*N=.,7-Y=, >::>ng34Qa>/y:k(XrAɅFt¾[kFcо}XݾaF\y` jd@vnz(wlWe]2=3;X޾JQs4K-%S]+E_6 6sty΀=V8>Y*o?)UB)?i4?(7%=?(WB?KM6h? y?-?'?,֖?eA???L`ٓ?e?hsd?C蟙y?V_p yFOhYt㐿L+|ٓ `N'f7?W'jZ'x񄿟:jy8o$hsBPqD`?Ѳ6kWOiLiHu|r?rׁ?:z?Ţ`$?p??fK>= ?`% ?pk9?9uj?ѥ?]?,>3'>!Ň >բ$->' Ѳ>N3vd-> j>C`d>;hx>mm"ʉq> ~??Ǖ{>{kn|@ >bD%[ >=̽>HGN>sz{8>rzp>¾s>)M:> q>;nϾC_D2NLC`FG/+B?8e&WNtN?zq_?bD q?o'4/݃?Zo?Of撩?+?6'?k3j?Ys?@̚6C?JohG?ڇt$K?<uM?6x{N?EѤGN?} M?=u K?㖠w }H?GXWE?odڜB?-??mO8?*2?k3E*?Z #o?ȗKEe?#?V h@ Z1 @+@X@;D@Q9Qtu@jm%!@Z@J+ @p` @{?aK?%*o\NQxL>[7:k U ce/b\!swuDZpGB^Oho8 /bnxs;. Oߋ?䬉@C?pqsB?P61?w(p?vM H?X\?g?FަqY?}? !, с? ͺ)w?c:c|o? d?(ݭY?puEK?e1?}Bbп6gx?&:⩿§xٖwR!:q1y`N0\L=nM79 u'79n#@ cߋ49C:mBֿ)ʿ9Pp[GK'\[>󳔿Y7 ?ЁP )w=!?yo_Cd&;Yd:{KĪ5d1\d3ڠK ^'3#@}$2%E %j?%@ ${\[D"]V 8-sM?py-0?۩?F8 ?], ?T%?*ѧ?Rن N?CUh>o&g\ZSE3;5s;MGC8g~mL#M>(rp]x,߽ؐ<%:.=%S5[/UtqSؾS`ƾ`ɴCc򽪣SGhC'mr`g}a=n"L9f&lSo*Q 06LV Fs#TF@IVSy6Oʽ&5,nLI!&E[q2+Z885ܾʄԣ(Lz:^%)tDa"&h ddgBx}oqQپ¿ľ IX`Nx F48 I*Z61-ο;){׿`_C῭ēw6Juj#wJ9fz0<,vޠD%۾vobO?M "?t^0?:+8?W_UL@?a D?".OG?`P]?K?D2N?v^ؤCP?0vkQ?ѯS{Q?0}e{Q?WQ?Y AP?7*N?dFx5K?0OG?*\C?]q@?CR:(7?hȅ0?Pl!?VL>QN='o(\)(zm'.?U&;7S$#lL "M@lL D֣/|!-?&Zv x!//qU|0[(h'XNr0g\V3+k*4r%4dVN2QF˛/@&_`Uu*9y$%:fEl'-ۣqG@&b>>I =;Ӱ{S\IA_ `VŽPKsWr 461KKLiHܾ"{\E{WZL mAmkZͭDɾ6!پ e·ʩ辙=C%U6;^5 M KtZO(|o(!ys}g02gեHZPUyCDyN+s5'.N #`(Uv#/q>dtR??b߂?:fC ?н!?NxC ?AT?#?NcvNT?@9>gD/t`&"v@Ԣ o]r3= cJvF G6T3V[wiBW+/]R,ͽAM6۾qC/  ̸CX 2F򾜓hg$Dzrо8]^̏[u@3뙠 c+zyQi@S呍Wi3;>鿇(P:BC7 A?l=XwW\q:vdyT4mL.KؿO.{1пLۜl%^=5ſw3f9fp1ꨲDa'#ږpTm(Ia 4|^w{tiQɴ?o8ʾ{Tz/][CkO2۸,"ۍiro`2593;B<оou(H``Dfw٦fw8BO@J4(- r'.e+_K/=!Jr$ο 'fοܪ=]ؿWLؿQ{@68?%6EOP<迦>QJELtu`;ΛtI79C!}ǮF述ۿsE]%T;?БQ?? >C?i-?Aq8 ?z)?" ?pٰ?J?d(?>Q?HƦ?IlڦK\_ۿ迪(_}c_86`FBῠ0k=QпLfb@]*"txTbiR+Q>e<u,fqkWG|<_Ѿ^GTke!ΩL[[BMfظg JC]d]!9IӐ˘$ %^;Ղ1SwS w(?, Zm̀#s+*O //YѾqv$VZ k3k7_{^80kC2{ۿ;fC9TqͿ-eMvA?V·>dž<(ͭY:0E/i:K5KoS1~LVwX+ph|1(?%~pI4 S `Ӫc iT&\W3A +VxTK,Fm] 26D$@y0woK3Ʃ.!&&X]nޅr nRLDr$+A˖+0֋2 :3)kDR1f%+{1][Ge[UwѿX`ѿXHI_PnM*ַ|*Edw>toǔ4Ӟ]~ȔՁFdžȸ-ɆD\?yRCyT΋E,l0q6lhs(y_`=M_ tQ>)QOB7qӟ&CU3@ZS4w<"^_q}#s /ٮoU*]?×A)?{lFiB:4?-(FLR ^=-Iԥ2@u4Ie=4aScE3-1}ا4-Fɹ's:"ρe\aK|DezY L9֓U׽{ 0"a ]YY꽯 VpS(}sf-iڦKĬcVy澷zqk$j1,Aa),l*ۑؾG].xeܿ!šyֿ\п /ƿ)= ; wr3GJPjsJ{leiX`ϸB\x\:~uL6'(LTXk,οq&ߺ׿o8DJD}% "ń>ClCQM3пSuqʣt_-*]֜Hh"zDiHQsHYqԯH|A>7s|Ugs:T>6@RT`O/tJӎwF}V.*)bC7˳`Bi ,Gy)Uii%Fľe\Ծ{KJnr)/&Syx~B#&=~ =Gx=m=p=" @=#im=k$}=X'립o1^߫ Ž*'˽/X ν- ν"4(˽kh0Ž!oK妽ov=ߵɼl=.5=UC=ѽ=Z"/X=ZB=[Y=u?=|2;aY'S*8ٞ)&*&w:"@"T؉xھ@<?he?zQ!?ymiB%?KT'?G%&'?1z%? !? n?e0?3"پ7ٟ 70Po-"'o& )%&*o ovt=;ՀS=F=6=+=gw=A|=uIb= ;'dL=L7=}>[#=WnhE=*Tg=JLdt<<y|^!_  n_5|AM!t% 51qo뾿?fپ<Ǿ!RXmIՕO|;ƅ JQRu!7C/aE`+>E\пz mgIjَ᝿⊃֌(^33{&Sɹi-_[T,_DKR.I}2OӖ&I^^XxC/F;-22P[&*u'{ ahH ]E.Gn:ёv?Ѿv[(@^c&/ikB*8$x9S-:Y6߾ BVξOhq:6K qQ3p޹POlQJmC V۫06G||}z0?ExaA?{QbJ?d*P?gXvQ?6Q?H3?̛"?d;"pP0?r7?YU'Y??"KnC?uj]oG?=t6@J?7½M?u)wE>4u  ,4p{HF/p%}:P/Ƹ 2yP3YFo>3\"i10.^\u|F)dǴf$8Aq`"KeSj9<_/\=4vEXH=LB ?%.Q7I?:Y5OU>MEZ½ U =?w^Y<ɐH.L< sݳLk鶵0Hegvf8e*d {Nl`ાVܦ| _s̾QiܾwG'{s7iKX 7kS(+./+ڰ=Ƀv=;U7=U=WR= =7c'=c8k؈][=˓N;iYЏ&ŽɽЄAʽ]ܶɽ ŽM<ۈg:܈=BY=Uܽ= aB=W;9=#%r=yի=v"IL= Wuӆ=UaS=)G =Gdvdh_~FA>o"@/u*;&:ɘ?)?l@5 $?bԤ '? Z{T&(?bT@'? ٠ $?ܒ?{7?!{x>Zyi ۇZ%|Ʀ~(7 !Ih*]<}<}*UX|ɪz= ܥI-Ueփ\5&qds)z1'3=-45=zMR`TΩg⾝DM LѾ= 6Ȓ7CcݿT81@!.F4Կ-7)ACo˿"aC}!וB\Dg7>T܊#"᱿\H(i!Y FڡSڻoJrXb较Qy<վЈ`p!b$J\ss66F*d6Pt'&妇~W%l"a2/ l־m!ľݖV ֓P9UtQ4ڪTPBL_ GT>q ` ֛)w?. :?8F?3x\M?9 9P?Q?;P?-]M?9F?~ѩ:?kA#?%/)T>XG!LkBzSPxQYlP-dkH"ckLQ'IFP<U򗿝y<y܂us* 5.XCwV%d ǿ8OǿR5Lʷӿ:.ӿ~ޜݿh .ݿA^P俣g4u r3뿣@_Z)cY%iʶrCi+>8lY3'L\Pzܿ,jLŠ ?S!yo?}R?Ou>?!G g?*.{?X_ʍ?)#{?;Ǻg?O?FyW?Do?Ro?aOà 1ܿU}UYo|Ż+ѣ鿶$9:鿪)|bAS oxܿ顝a_Կ#X{%ϒʿX#LԿF#k]/ R#B>ZxTa{KE_Bؿwi\D#3EUrCǿm!YKtcхi`8I мFᔿ7C\BZHپOA8sQȾDDVcǸ1p(䏫R6mx͚+cB\xo0tbs_g4ض29 l5P/`+,D } |Hܾ&":Ͼl?-[&g>ꏨOai=&?w?#?i=D?q?bB?&Ӯ?]B?ϻ?v҈?Y?(v?z-&?bdwPYӿ,R\ R ZI쿊k)Bf'@$ٿ*0!P$ٿB\=ȿ;ȿ,.,!^^|8^E/7#S87֠Zl]^cx6rr۳eDA-; U~@,t=u\; .|iWV ^!pwQ^rhJ9a"G`PMx6|. 'RSUk#.9Nl ̀ '+*pc71n*w3~Y3Dv2gŤ-0Ve,'VH!ҲH ;JI?=A⪠&>f&ڠA.ddvW G^=Ń C=~#CbOQII6;B =:>a\򲾥y=FϹZῚO4߿2ٿuRlӿeI˿$WC¿㙒G>"8$c& nqzX:)Blk:P\&=C×5ܼ͹2>8ǿ>l ӿGܿ3AGtH/&C[R1_ !i:yJؿL0ƿ7!۵l\Jؤ>6I%6<$rdX bGrŧQA : AۤÚ.B*ڡ/TlPajIпA>ޡ¿L˧?yXY͏L5}E`EvGjA9`bVSvdHׇ!8e>ť0|3ZX>{*rwZUpxgPnΓ§y`c'6׽ FM$'z¿)ٳ(n-4M8 RYO.%~rϽZۀ=%-=4 l= (s!>|^>QF>!DW>Fm="=d=CgRqϽD[f @S?4пvSpҨ:8?JսC ӽ6^du(LMwzcXudrbqXRFA_o+ пjT|ڿM#g^zK g9|Fً+- zԔ'hU`Ywʗ]DX"2x6RC?dRwA?NtR?a!fY?lj_?kr=@a?J@a?<_?$Y?7ɯR?<HA?T^C /4R`Xw p]juC`T|[7ܿwŭTֿkYп(u/ƿ7rG%l*u\ZNΎB\zӉ*OmcqvNj~;1{)qފ'JgP$](θI[rǿR4g8ݿ<ҿiY՜.?n}?jCᢌ?'X?Պ9}?~Bm?s|QS)?S)?!kl?57}??Zޡ?W}?-c.?a֎@ҿ28ݿ)Fj⿾9ۑǿxP5* ~_Кȅu,|L!l7":]0 Mq#9<2}Y2ET>nmd^ Hn\|h,B+ vJ q]=W 4xf_2G~|aփ5۴6|I=ui=?C=q>^ ?>[>܇>:3a> on= = J=[IG65񽵻4{xkߖZ*u+q.==Y_=I;;y=K91̓?qas|IORjM9WOcEb AW4%p%(Y52ҌEYؿ^ENbǿ .}+C+?qUE/(Br1A"`Z`ú#%_vngs[msaU7LE(5^c0?}-Jg#K?v0N!V?kZ\|\?U\'`?Q c"pa?|7`?.\?y!V?%B%K?|h0?DE׷5(~LDVUc q[v^q"_E4HY`G7w޿yhNYٿLӿ'(˿Fy%a|_'%y\޶rI%P pExVLjIPaRrNrżC$em#ڒ4)t#,汿 |G7Ͽ#NGLv࿻A`ؿcfɿƲ9?q?zYMΤ?aar?.m?$qCn?3J5?k?'N\?n>g? =5?qjBn?s-,m?ׂpp?_X>Τ?m?q?`ɿqd`ؿcRwTT/Ͽ&9$ ffI!= 2+NϠ~j* tH$9wd!bT1"D+uA3| _f=Оھ=>_fT>1&i>]>e5`'l],_7gоaƍ07]߾Ąt)̉(ʾaf=R">dҹ;tN?ǾJ]RR3?h;G?֩OT?r҉1]?19b?BQf?{{ g?bJsg?/e?W|ݼ`??)U?q=?=xpD.Ua(޳``ejsg5Ag#3dBf>y(b S1]Pa$5TfGȲpmR3:l(=5# 511=J=O.+>hC>xp>f(>FZtKR>>J>"ͣ>˹;F>U}>OxFC]d>൑.lY>*\Y̒d{BV+ i_Rs?8|L:|fE f=WU3"=S(|KEk\ }1G"VeŴ (M b?6;Va*vM +ybW:4뾯ʼn޾謸BӾ$l(*؃:闿#NYrW.%¿ iȿ_4 ʿjpĿ$]}?pǑy??n8O w}*i=@Ƶg`4kqO=).#Z++IfW 俓̿-g?`1?:Eȡ?al"=?u3Z?@,,O? 6)?Gl?l} ?h=?Y4*???=9:wJ?V7?lp~m$?lTĻ}?_?ח)>Z&>Dj>Rޛ$m>}tC>1>'~8@(?`#? x]?}ϒ?GW?U?>(+B>;>q >ozAٯ>L&>d֠9>σlؿJ9qϿ\y "ĿNQ?$*^S[P)oLz;ت ?ᄿS+3q{ty@r5Wiʘ!bxWZ+, [Uxq8+:ފNJ>ʹ!~B3$`E'j(Id-M؀P$Ph ;KRYM[??+!?ͩ?j5eUl}$2#}/wݻ??2 %j2?d'>?e!_)>K>,,hհ>bI0dhGZ=X }Ⱦo@;`<׾ui|ȞS$q Y)Zs)'>"_6=T%k|[2+ub.=t+Bk>jkƔzb> zV_o0)>o1$?g??|B/KO?\tX?^`? Vkd?M$gg?[1g?sf?"c? ݽ[?IRGM?\mn-H(GM[]r"cfeHgL%_ZgcHpdDU`hV_kXzO KOQb?Pѻ$s/5WGZ­=Sv#=`5U>h?9.=ڇwZ R=]6߾ę'>F1𾽜AK>n">B >7r\>~܉ >gp>Ƚ>9>@P{>ߤol>~:`>RtXV>^_*-U4ʩ"PgHӔp}HESjU׾о:? :jуT?fWE TVih?%alh1Ӑv?'Rv`#A~?H~eTjn?fDžn%q⋏u"? ڰ װ?XҗpſC)o?QĬտ)?dO?? :쿱:=0?i'W/!/1n%i^E 3@ATWeZa]{өmy 'kVۿ'O>lj(?='?s85y?PګRr]?? jgA?!R ?n\i?b7? IP??D/;?om?ݽgG?i>L4/?+Z>yw?B>HSf?ݘ_>^{"V?S(qұ>efE?  c>-n6?QV>Ah*?` A &?+G!?E??!?0 ??S#[>keP>ۤ>U>LMiٵ>4YOH>oو>jN7Qu?YƊ jkOĩY%Կc^ƟYܥ2ɿiQs Wv~BwAU*l1Sݎ٦f#?QhV0 \aMxe.3I ($7Fx3~ձ_.C7p.t I&@eY6^kc&R={Cc43Ǒ:f\TN9mLOVi7x@%q9A <_/zk@f+VC)J݌o8Gu(KL S.O§ШxQZ+|S71l g ?gP޿6aP?G%;ѿK;;?I]UOÿ <@?wir\OŦi?s 宰?#F O|V ?]ـV ,?ޙ@Q~{f?]7  ?u[h?B?PTG?pmBBL?}E1P?D0 Q?UER?@ͯS?BT?Wr܀T?P 螾S?'1X?wb +?o?R^tR.?Gh8?[%0?̃}?M~0???)!|0?ܦ?c_A0?c6:ۃ? dV.?P?zG-?yst$?:~+?guE0~?@)?Xyt?(( D"(?]\Rk?roA>/g?9יִ=Cݺ=ӽ$R` gPҾNI࿔8޿L/dlؿXRREӿS,".˿e݈b¿ W"-fzq|7fzIR،-[yadj#l?B<؃?:>Ҙ?r??k*' ?ih?jS}?w(Z p?,v}szԿXֻ4'$??W?lc?#ݘ?"s.h?YW2v?/<;e? ZцT?CF4D?+4?>t]>].g\V-ZfrhX&;kU]HR\T35P>XKt{Gg.DzA>> 5&;hM9|w[ ]J[ӿ\ޑſtsi?hF?[F> ?UZ ]?-:?υ{?kJr?s`vi?~ž$b?RUZ?O|N9U? {)P*:'n*9!d^!;>/&(>iMD>GAmpG'ž41ԾB a?O%k`.Y+;g7jkpRX'_UeɽXDY)ҽ-ֽ֡wڽ'8 'HܽI,d۽%s.ؽ,ӽ kɽ";= m=yЧ=D9=۲=cNfG={Crbu=q=)%%= a=yeZ$(=t|9&H=V w23Me`ʼnZNR!H63U"^в`D?C:]?6j?*t?= o?z?jIg-9~?D"?zE>U~?]a?r:>D&>\ӯ>H؍d> >ɝj>5l %>d}n#>0" x>ʓhm>#Gz|`Ͽ@=EӫVb2!^hۈ qwA@gyƐ-%[1PRXfohYT`PId:+> B҉8Y}PGF/"Y7fnBUJU6h(߾h5,-AVMX |0?40XC0/!Ds+ロ1<sTxҾd#pǾ$N/+|`?c_.yf{?⏉?#?mH?/h `?̍e?YY?P^_1?( ^?3y?ts?.rrRsd䀿^ ,\1>BYJiWw/ `OS1ۖq Ȓĺ-%Vf{9C|`^''KxQ,dA?ҺY.?+=d?zH ?&>qAZL>O>5)70r>9>oyrǦ>|lN>uр$?{ : ?p5?*Γ?o. ?́N?di i>8ڻ>Kcq>۰4>>4Ud>?G> 4]YrJAi[ȴxzfљ#k0謪O`6k̿G~SݿE+$ӿz͓jɿeiѿŏֳ1W(4ר3*\5&؉S Qlދvjan>ge_*WVb`6S+d8'8&H:r >gA/aY%hDYʢdKH%5LO, ~}Qwnu3ow~$#f.4i2H1>'GLdo-q꿨:Hѿzm?Lq?MߥG?S ?? Az@93o@5@7@?p@I@Dw?Qw?I8K?jKSv?1_?V)?؞ `?Ř{+? Q8?3?tg?*Zw|?VEr?0"dhi?k[2#a? >Z?iS|U?5} mS-S]R޸aRS$klQczP&gLp\:P/Ho8C =NΊ 1b :{?/1?'=?Q#C?GIH?l^L?AQ P?{"Z!cQ?0+MVR? TTR?IAS?R?!1!j?M ?)׻?Nj?^90?R&x?%/x?ĝ3hh?-یǾ)X?\SQH?V+ً9?>R%p.?Vwx0?$<1?KwSK2?(e2?R M!.2?S$ek1?uYݭNo0?K.?4=,?Q42`u*?eJkX(? |='?{'"&?̛DT%?˿$?bZQ?5HcO?sUK?G?Tt7C?/j)@?z:?C4?5 0?'Z;+?A&?ͧE$?>3n=n*'D(<4=` kC=+Jb=F,:~=Pɓ==oK\~= e"x nEÔ`¸=.bBB; F>;q?^z>;LFeQ~>=/OD>1NC^F ,M; mܾ!z;q01 $ń,`R$1-gĹýBiaν~Խ9`JHؽDk&۽x=Fܽ'Pڽnֽx8нhc&lxexb=p;=*x=P=ԫ B=i0?=fK#=~~=P k=lI԰=`=]P 6=jD =P d۽VȂ[>L[;X/>E~/Ȥ> ݸEKk1:?!8v\+v)?lVS?gd?.ep?=]8Jw?|?|H?Dg݀?B?0s;0{?;!ńs?*d?gI"6F)]4d s90{ `o;}2E݀DsH̓B|]MJJwAԎbpdBpS\m)1sH=Z=_j!cpSSma's;-aQv[xGa[,yBr6K*)~IX -)fv&NI=+QCa:½r?ɨY<mDy=yEsy=ZĔD̾3e>xϓԦ@?B>:OM?k<?wë? m1>m`b>3= >LCa>VX7>؄⣞>r>wGF>|Nr>Drj> ~鿌bt׿0cſM2Qݞ?i{1J1ep*^a׫4FVyhWq#T ܉ FTy QMkc࿬,%uK~]{ؿ5^E` gѿҧ[i>_)@ƿ4q*x4}vj麿L/@*?D,iHyBC؞fv*{njvXx*x;6ZX͚qb+۾-Hh5K9}7NA& :msӱQ|W^MɄؾD@ͷ̾ه|ľK옍0?8^q?i>p?x??`< %?q?xb?:֞?ޟ?D1-?O疙?YAș?M?X,e, [ *˙D料G'!mޟ>֞rcbq$;k菿7p :Oq@ H 0MjK?qૠK[eya?# b?anGr?,Jr|?VMi|̧W|?X)|gseg? M@a]{.=?UA $4?B47KϿ㧈qI?ΰsŠݿhܤ?,Փ翛؆8b?)UoS?{_obCQ˝H';Hʻ`*:qgTT#Q-|wxJH]J q?3> ??Uf!?-+I?ۥ|@ģQ@B@38G`@˭@ ƎL@Ћ@&&i;?^? G??|if?*A?q6?e?v?q@$S?,6"M?>%?ݞӷʋ?\8w?sEa? ( G?/ɣ{?)3lSP4?[ro]l?$"?c_?"?ȋ!?I[&R>4a?YK>)*? >Odkdmp?iklC>Lg,_?D>O?sz>.R!??@ΖC#ܚ> 50?7Ŏ>lg&?s"?V.y?׸ ?ksQ?!\מ?)m>>e'>1ê>v~>ZdK>Q/ Ͳ>,۝>DTG>$hX_=byq=S;sNV̛.nXUÿG̫vԿꄼnŕY%ڿ;~YfЅ67пHy.XCÿs"V7{3STȼ{7`iRС"`2^,wPD" K84Q~ԌLmG-6j9~şDԐxn9zANTpas?7\Zf:5nF?"\?K.1wa?K4?dӊ@fi]@$R2@-<@|w@aع?oN?z?z@5Z<5?iֿRb?*$ʿɗ$?^ x̺Gcx?^ K~$?Ao̥z޲ޝ̥?b܁š]š?JֵQg?*d=5po`;? jo,{`X{?F29r`Ge4r?ghŹh?}ۅ՛a-/Ԑa?xLeZfHNZ?~yjqUUE=7=U?%RM)SySĮR8!J]QwDPTMNPu=J=?HF@A:7P!$'R v0M'?L>Sz7?dP8A?D>F?oz_J?CS={N?"FfP?,Q?MC R?B S?8lS?}听fR?sl ?Yi?^'?kIb?{c5xˢ?[@?Mǁ?=afq?cI%a?Q?bBxA?ߊ z;3?)?G+?0-?׼\8;?y{zSW/?x#?H+V0?Y÷??V0? QȬ?V0?Ϗ&?& N/?Ո @?9M!.?_ܗՌ?P?d,?Ak?:4*?Ծ׌x?](?hNp?Sk'?5Eڔ[f?SB)2&?Ses_`?]"VA%?jvX?n>$?k z?T? d$?g"R?sixP?$DM?Kə'I?*CbE? NA?-paR=?S=T4d7?57!2?0;".?HZR(?%oW%?CZ#?̋ԷZ8^%i½{vCCSD U#=f> e>V0.O>GNV>I]U"?lٽ`zqZ7sJ]Y0ktҾ)nۿO}4 ֿ4$ пgǿduL !Hi$BԔJ&w`u˼apM qXx(oBx?V[?*#ʡ?v A?dͣ9?$3"Om?Ml? 7?E-z?¿} [UN~??fq ?v}?6с*?Z ?b:?FVҨn?Ix]?ڝsmL?[sr˷LA9rdCV.E!H{|r<qi a!Z}ˑU:?P \x?dc?'L޳?sߨ?qTd? 9?F#? +fT?B݈? g7?2w7xߎiugTvKC#ɩvۓ#GVSS_8l=v/P$kq@;y/?TS?dc?*BD[?1@A'?#?-JU$?3_қ?/F}? v w?74ab?3̧DiӠDxK 3|'d4Xݣ +=<Ӹq*ȿ- 6mD I8&wC zeIZ|)q1rg~'1!ɿl |?X~~?i7,?cd}{?Q?kYUI?p'?82?y}i=&?( %?^>?IfE? ?u?[ܺ?[al?i3ax?#PyTh?8a vX?ozH?*Zo:?`7Aop5SQ 0Bi (p@Z׭W4y[BWӽȓ@=߽v=!ؽ]3yiSu:uI(16H yf_ɯ|+ٽ([=30=d==,=A%ey=~=9Jx'H=Z6cr=򩤩=$[U=לq=L=I =sp}1=(E>=KS=Ie=2;)O=-G3=vƳi&=JA/V<&` =O@ֿR8 "ſ%-#8!OG׺d9Z`P !o1MӦ`6##)}?$n?z<ƚ?fοx?"^?ڟy&2|?`??H9")?:f~?'3lv?깰?yq%>epv,2y}پm$ۦ?GwK$|TMXx\hzƚxlnɎ)}s^?A]rV+s?㭌Q?c)&?Wa?,N+8?Gvx ^?4E?ĸŠ?/?bD$=Pn?>dV?DbL-b;^q#һ*@8gU Su7oǩwѿy`u(Ŭ.o!z@Zg^8-rpP6q of{I迁3nؿsՏ>D ?UsI?o?w\??SN?e@??4u}F?Rt?X?٪??88&?&wô?.7?!?qJi?[8H?=5q?mi?9a?'@+lmQ?n"CB?44?kGŽ" [Q>Et:c>)ɯ( >fR?>]蒾1JܛJ $U1 PRlKȾK\OƾWJR>j!5>=yI2*zU򔋾i xlӾȾ4 u#}9?k M?w%qX?a?j<g?&)j?Jrl?l?Xxi?RNbd?Uwb0Z?X?B?SB9ʣ0Z]EbdFa|uiSLlcel2jy3Jg.\at 5gXIMڣs9dWT6=H zy=\=mH4(>LL7g+Hy,I>3>ݹz⯷>?>hE>G P.>ڪ{> ~KBi m>&_>H`׿S> p@?bLMZp6?bT$ *?Nu?gUE>6hS4|n*+@賽̦Ug^ fپu'S\;IR:dyS*-P5i_# Gid?Em߾;PډѾƾs[v.nC%P>pL-Ѕ}E˿K4 ٿv1*D)>M9 ǀ-|mM@`IH@15@j@jO@VP w@Q{@_S@T4b7@nQA@ڸ\s@?}w鿁,fQDOnj7zYOqV{[ç$w" ;454MHleoM6z8?54&?2 pr?G $?=m>WZn!w,>Y O>sE#!>*? @>?>Ζx> +8fE绺羙*v 4>Xg>CԶ>H>O+l>tp>qB Cv>ࢺ^>n(~qF>7?P{e,5?&殉 ?[.? q?L?|$~?P ?BܠЊ?$K8u?XTcdx?md+p?ݧ/f?1|\?^8Q? /<6>?yHgj?[#k? ? K%?rv+?\I1??3m6?7;????\};E=k6|Cֿ"ʿS8N\U@' tY 3G% *si*t\;kE+NbaY,~T!B?րF3lC?[C?Bg[pC?#B?(,vA?#K??]%G;?$c6?ω0?sb0K$?[u[ ?3zQ` r`L$ҒDw0gwd6Aهt; m?9CATB0:ZpC?HNCHpkCBB7ÇfݛM޿#fT%M,&'L̛(S"F)L)!("CTx'x%|b!#H 7/)E<F -#! 9-5?pu4;ɲYf6J1! !(+vq$r)U6osvsfyvw,$b(ۊc;=pʽ^òoBϘ=د㽘^/l> l*+k">Nn˅d%{a%>+:̐Ð_EӝٖZm| "㟯&*UOľlcʾOZڳ1"k:3>4j? v"S=ō= ONض>Gjf'!6 >k@Ⱦ"O?B6*7S-?uf ID?ś<S?$8'f^?nd?UЮ:i?,Joi?l?ցrm?{xk?{ڌRg?j -`?0zQ?忑4qȸ%Q{``- RgaDvxk͎mZ?l"9i"EXd٦f^]S5ȬIDJS-M-\#=G@T X@Aeg0=.I$k =] kt=t<.$%>ɍxG4wH޾av:>Mta.>I->; >9m`>Jaר>n&>fRp"t>I:\e>^0>X>1Q>M}p?$ :?,:(W}g?Q@1?O\f?v+^$?*?^-=?UW? v>jM˥?kg":ۉ?-k  P3kM0y]Kt{iB\r\F󾾛gþ'b}NX5?o־r} uPCű2SK9"YXD#$0fg;Y{Hj׾ߤ,(˾w}ľ7n\F_?Ј_\y?:Ey@l?`NsW?00BV?xLJꚑV !O?g#Nȿ^S?[ՊտB1?\ ΰ;d?V1꿤U K?mJۑ\?&W"?slXunq?_a*ŵ @WJ@0 Pcf,@\.A@n]|`@[>U7*@r4am@n:E@*QV@=~g@_?̒\D򾥈+ xj<^g+Eib\gmHF$<*qM`s#ExNi,ǂ6 ^7aK̵ NJu+tH׿LK4*?S~OĿp?h?A;?; z枿$&h>~Bŧ>:~y>K珫wU$| >Fd=J>R:s\>Xevx@ۋq>sm9-A>Te؎yM>$>$ 칡1 OғC8پQЮ#G>>UE@?1>jE=> 龇3J> > Zټ>A:,>읔>"!T>n!@G?%Z_M? C<2K?Bz{d?%N?[T?&ϾaO?Eg'7?9,O?Fk_8? O?NÎ?3)g+M?w^?{J?F?EG?sa;!?yD?l?zJ,eqA?~Rz?Q+*C?Z@ C?򄨙C?Έ#S(C?pGK;B?3D@?=?Q9?gIA3?х*?5 ??HB1U'AɃv*]I(ŋ3 9=rzN@WD;Br(CgcC"櫕C;X)Cm7dB/u߿&aj3_fkտo+8\˿R&}?U ƅtld;& +}"2-Jch`$#@ EOkLy*&k+3&:d7r.a&l#~f%7lI|#鋻rzkj!tOqܥ:|c>g4G w#tD^NZw:(J=-dR]_|EM@Xa=8E04cbqo/'f! :1&i> Iަ.>6Dpsb\hB=Y9GqKwPz5QLe--KfܮI8E>!`>.biCl>u 43 ?''=WwI)aU)czܾ?B?+?_A?K J?Թ*?^2N?En_q|?QWkRn#̶sjLl`?"iB7?rz,1?O}3B &?>E?-܋k?;o=C?=??\u?h?p~2'?q?XO?BȲ ?X-?.At?dxD=k?h'aca?ET?*.$տnY[JϿ%]ſۥ\0C {?YU|h\%nE@cB֊msC v7gxGop$}w/f7q\˨޽7Qj{<2]|rƽs'내&>'>.CclZ XHA\r=KC?> +mt>sksnY>|N>-Dvɲ|v?9ƾ/Ծ@ژ}IS龌PE{5Oa>+s` 鿐kitȽ0ν.Z+ѽxhMӽߖ3ӽ76&#ѽ58o2˽6(yEkM=q;y=>3=ݯ #=wZ?$=-nM=;Hq=:=dqh=^=^\=xShQ= :a'SknOא=4XWoa$8HK?Z|Q,a?z,n?)(hv?ғ4P|?lFĀ?*R$g?hD݁?`o?x#W:y?ho-ep?ynžV?ЯV`EepkyҢά(r<݁_mLȀĀRs6|YJve$G,n)&,aczKZKL3ɜY=Yʇ='$=7n8"=̉ˣp=I3ȷK=z-7*=Xi="즠B<"޺,TV@>V˟Ӿ"+>N >v=>o>҄쭔>ikW>.Y> >fG[~>3p>Sd>ŹvC?JϵF?` ?˞?6e?Cw?#d?M>S?=–C?xe;?:}1?MM6["?ً ?3:3߾h(%tHוm:lTWBk`\wѾH;T,Fd QTY_PAN D7=aƲӾBOƾ%i3Lh?Td'/?~NS1<Î?R8욖?s>?..&$?UXn?U]3?jzGX?rB?h?BR9v?vMUvgOM뙿*FX;2 3_ӽm6 $0s>b$Gњ2 Îv/hERs'N4/Ig^.:#ÿ[C2ҿ yu#Fb,0'$ t CILx.e@x @|*@C;e}@ Oᘈ@@p$6@5G@Ѥ@Pv`2# @ 9H?n;?o;i'WH|@# 6CqjפzM vU:V]8buĀKUug*tȢ= 4rދh߿`OؿtxfFѿ-ſ@_Y!^sУ"YP?Qv `s?r?C5{g?)^W?iC/B?d"|t0?bh(?û9J ? O>k>^ڸv>ĎI>a+邹>>VB>x>/;2>K2/}|+Ὰ%8nݑ>OW>xȷ.>@գd>L->|n3;>Zچ>kkN[I?W?U5li?f;[I{?r˵cώ?h?t?$>(;?7r?#wexaYZ $l%ڐ|*;s.NJ 1//2fd2}T3[f287WF2 8ؿC;Ve`ſq55*$SLmPj HC^|@Oi>'WDpۘEܪb4G5L#g_-)02s&!%_k$-kn6&~(v<))oK1(&r *g$G΢!'f{9qg~7/6U .)|*%,Zc!j~ri%]]Zv | 4?N4r4DWL[Q3M60 =x U=br+&=)`#:=2U=_)x=0@#=ݫ=neS=řO7˖ va m=%X!Ľ3IN>W! ʞ>UgIb&6P>a|{K>ZowQtRgiC<اξCyھ8` /Lث sݾ;qS@ ?P>t/: )&ý~E˽}94нN4ҽe}ӽf=#wҽWYϽƽ9\*M%=;W==%=kS=Z=̾(w=^M=y=X)=Zσ=PE%=vFrD=@]m= :=ih>e }'ob>CHb[JaŪ>r˃uʪB^RG>g콶CK{E1?a0-M;?SO09W?Rog?yfr?ty?iMLCM?oޕ?90)?BS*?ߧ2n0-}?u:B7u?+*Tf?SHJؤhȜTfv1E7u胬/-}**( yՕCb,MNotyٟrNog䊖9W&(; NK=.>}l(e.0ɷv9­S9g[K7k$g$BSG +,#4gI<%FhV23#=TLo9Lސ=".j#=OHKMоXՠ& >Y{<>KC N*<>xR\ >&709>z>>d>*>Sp>ok>dy@{v>'Ѳsi>?YQb>h?c'?ag?w[sM?( ;oX?A ҁ?Ccfo?Ș(T\?r*J?~ ??.w?Nc+6?H?+?cT0?q(?Zt?Oq?8.r%1u0*o"vlb7tٹGnԠ VH>ia%hK^Bu׶Xv$BPl?Jގl;b}V?qW兿2b@[ٜ?]Oٜ˰?/Us˰``u?XZʀ'Az?3zп#9?^O8ܿ_С?aq!?aEI←ų?#z%`?O0[ن?,޴? @dyY@?E8 @oG@Zk䁿6i>Kevoٲ%g>Y[wb*XW>j[HL7O> 6&+>@L#$"L>z< ljj>:iɟ(<;uLƨ>75A>:y>l]>j$>5P&eᵳ>ǕE>HL̒>x1p|>: oD?6e8P?Qa?6mr?64?/s?M16|?סc?|?$eF?цWܪBI?1BX?+8L?{nk'?K.O?}?հW.P?FA:'DR?zO?rU`E?8S/2N?O ?0CK?qQmo? ?I?p8@?.6F?IJ?em C?.UY?D)z??>r`u?Qmf9?'fm?4ѰXF3?D'~]c?$N *?D-@X?ǭs?t:fJ?q;2?wIn?), ? ?%?f?뺵?#?{]Bz*(?߁Y,?d€0?9?h͹?XS2b6@M {@Gqp@24o@؇@B ?C@XSa@P)W?/(8~? TW*??RZ}y*濞l[faO!EC)_ouuouƞ{tig6yn q}?yzZ?/USٿdbj? jοL'X8?~ΆR8¿ M*?+Ŀw*fuug?ԮgS,!]7?'7"/"5?~S4v?uuD˨?ZF#` x?ӽժx2xnRp?_١ٛQpM3!He?:4Ge6?[f%sZ?UqZNĦL?|2Lo1? (ʛ2?e41H3?Ǵx3?,lA22?":81?պI0?Zۧ,?wE(?9.s"?Rļ?Hζa ?ɡ{Gk3d -k_+"jpF(YI0,hI0,Lx1MY2<3| 3Ǧ2#021kX1PhbO⿕~ Ͽ5KAȩNCG4=6Ӧ*sEQea_GOy^=>AC+_--AnE:?fVbڿ*Cw/t,ѿNS0yt͹ſm2-!voWPzl#ꈦIŬ%এ}i ߰&*@EsƧ֛&XF 'L%;}?=F7$iZ"~%Xu3*bp 0m6Ӎem,jhP>\cxjL`*>X sa>X[`dJI*u0<0,^,&(gʏ#Q_V(9KG>]|GK"Aq >bj\V D澐7wdʁeŽƧ L >(E>qbXk>ﰅ> OFS>Be,$?4BϢKWvS:; Χ:8tSMv?zdZ5?]H$?FxI?(???n2\]?&hRi9m'Qe_FKeXH̛0Ft8^?%&5?qg?)rc`#?fF ?xh ?*^?]3J?ȯ]?Y?<<@˟@!V@N˿dxٷt_Z" ZSؑW~Gju ُW3#бDV?ix?u{?H?8ק'ؾ&pH߿oxGXBa( |Y)i1mfqI{=K X7eKcU!K>\rXͿ@k G#HHd:ooNsFbLQF@ᗯA/t nr~' BUiNKɽI*=۽f],C4n=a84l͢ > ހ!p1nc@iqĻPU4 -Ep$擲U02vieY(uEyē»6D9rp Ƃ̞ _lt2 hᄒĊTʾ'P1[pV5Q47Ra01έE% + >>):vW/>S 7>t[U==>c@>G΀c@>>2B=>ԥk7>L~/>ؤ+#;>h:%XPK014J[5B)`|1nT qפr=VrVym&sf7b0]{BӴGjMV>"j>V4 \t>#m|y>Bʓ6|>є36|>Ԇz|y>gsQ!\t>V}j>DC2NV>лB-r>b*z^ڞmaor9rq}B1[5"21"tTWMYW˪8爅JD>$T3F>Xᡑ>Q1>$^>e > 1>9qȑ> >5W̼>G,a6*Ϭ+XG1B3 8E^/B^n9'n̑6y'ؾa8dĖ>&.D>m > tD>oY]>b4>3D>W >46D>YT>zi]p%ؾ<^I㾨7dhA(AG,;kӽ],*>⪽C1d$et57TcPo MŲa&k 9#dٌRsD/$Ǿ:=}x*2Al z'ŏ5\tqIQpcULRfBV[1T!Ͽ{\:mQT_LjoEw֘e ʿ_Iȸo*ʘ6nܕWɐM^l6Qs2bM4Fſ* 7(p o#2n-6\OE&CҾt>v6r ޸w7Czf|TԦ#@^\x ]w3p 4<^;yVL|9<O_Wn<Ć᥁uKkTdYJͅSRBt?9/lW  iz؂5 iM#X7U*>G?P59Y~ș̏!);?}[Plr<9#' fQ~a`Rpl3B=[x/%Jb9bܖ(WefivHyX|XmGSz6!B˖&_Xľm6wRHSL$B_.2O %@!<Օ;_{jSdGVweN<uEQ>dqxF1h>|#Y?q\?ꟳ.qk? ?s?(,Ew?s'cy?-9cy?Ʀ뼴?:D,6?9ԹQL?0Tf?7{͝?0?"?I?{J?rIϦο?d5鿴PQ@Vwο22ɿp(BĿ:V<6Jz0}~_(zɍ^fP4 6B)ⷿMGyqVEn񥡿#ޱ5@bo IQyDjg[ SV^E=KϜЪeM`Z/+dN /jxБ0D)v|h:fJjVUرAS*<\ީ̘L\FI@QkV[}O%q4&7d;wTR(SCFHٌx0Yj{#''懿)ud.S:?}̬'S ti 3Cg5kRe`nX RAf[CVq12"X-[bIb=G!v3GKGrPź?k^cc49Ⱦ~Yl"p%OWA92hEE^1!ڠ1= ]_O4dhe,Croa%}:!"ZӑwY_RICF%HdPG=do0Xѝ& a!~5y8w,/晔 3'U*`@PnI L'A177 C,ُ L+M!@wf|뾆(Z)վǜoD'U@>U.7|C0uWm& {w'w3HiJO ھmľ7 Y.3Ćg.!Y&"R^ ƜէnY p޷ oB7E_ݾ!SɾοuMkHFhjcBPx,s6-q+܀Hp]𱿧l9便SerY:ztt8Xd r}GڔX_ -$ub4eMFqT30G~aWY50䔿Z?nKɧoW^+k=?w:ϪB;댿dE7bwXOe6jkpqظ~Qz p}=ug:7=b_5.ANS{`i訜iZrzݩz4(]jh…BM7X7 3b[jTjMq-}4vBDz3LFgeT||R%$[+fDbvWω+6hYqm8g\p3x[-AgBYK gS:6ZootZ`c3΢IceQZ:94).DGL9R$4VTYCZmɴIv3o_=^h@\DN{1IsX5jNKuPl8۟Q3t:-<0Pee6O5?=~hB1+EWVWFQ-V!FP%'2a<14ې6C%;\^>nVn?AMA7s=eph"<_x5+T1Sրի!JCqȶbV:!?%g?Y?XAw?^?k`?#B@h/?ar?t#B1?=?+?{281?Mh`?nT2/?Eb?H!M?(5w?f !g?A ? %jhb`ZFqp(oa ZATM漆+=C?-8o2~b?V< $p?f?w?;p`~?@;w?T?̴?VcF)?%EG!?0?X?vqv?T~?cO w?R1p?{b?h,C?f")iMruadPg?:S\?PηF??/}Pzu>.׏?E?dn6U?%#e`?زe?X<k?BNo?4q?1>cr?LEšs?T+1s?!M"r?$q?JEfo?۷&Ik?j\e? ib`?axU?.BbE?1r?nj3P>K6$|usP)?[rFC?kBfP?ȠH{W?^?X6b?e?:i\g?UwZ?|@T^?'qvƦ`?S\3a?+:y8b?DE8b?0*a?V`?Pª Q^?݅2Z?+RV?F+bQ? +@I?U}@?b<ŷ#/? {־ ?_ض 0?F>=?E? #K?%f.P?mWxS?,k_V?F`X?{|Y?;8G}Z?F|Z?9Y?X|[,4fOP(u Z352ݫYIVR4K=Nn]M,GZ /"AcpMAb8DϾ1sy0eB 9$:d\FQ؏WQ7kWuN\OK$T>CF&:ƾĕA]: 3B/z*[ =\LFֿBG8GF 8C=>V}@); ;115D5Ш/Ͽ[&` h]TFJ>süQ@Iķ4 @$='X 9m5x-B1o/T1kf*p":dS|5>8dk?8 xb\7=U4]V1BW-`&KS, ˝c#Q6{yԝ﫽űJ载ÿ|'uϽrW )1Z[y'!ix~.fU?,(yrQ-7 'Q@eb3M>ɦ+4a?>dĔNM P^}Ӥm#"5}I(=i/UHB,k6h($ Tz`:ٸmJ홾J"꨾ 'KmqiľxѾb\M2(~4*(ش44f 21ű+ 'I%tV=#%>ĕ^3>vc:Z:>&1R>>ib@@>X>>DZ:>2%^3> nZ%>e<%9=$=$_+a煮2p4ޫ;v4u.2XXcp.dvr -lrxzpB+PhWy)-9>Yôc>odp>Wfw>Tp uz> 5žY|>z}z>xw>Ӏp>۞ c> ">19>%zW# lOh GyprSOsr(gvpQ 2{ 򱾅˰׽}fh)NxZՊQjx>7f&>J3!>wH>lp>V>#~>q>y4!>DJ>Lb x>xr3𕕾i=;>lV*/xOR?mmvO&bSIé7ΔbJbK6WϾkiSj,>|>D {|>s>S> :R>_1> ^-*R>u|>pG>mV> O2>7CϾnA4aྀg澻 amJP뾲mH׽R*߽, hӽ: zMǭcu e2H|TvHe,O<զS9Hi;%@0jn E穞 |Y w彡 Kӽ½&72pY!?vϓ7桋pw-u 3c!/l[7RĮ@(UtG/_Ax; Z׾3JɲgtpHϾ,BiA D7Hx AqY}[]pMkMQZmd?J9''wֿu#cPſA RDO  )sp%{M\oyӿBGC"¿o~z񰿅6ӟZg*z|嚣оj|Wο 6𧚼@+U3@S8]Ivqn5dU˦&8vv̺VSOg?0{V}?wkv1?F? 1c?{#^}?$x?,oF?`!~Y2?7}?Zg?O+VUC5vS.TףT d,FƞFgr?u㟿NbΚ7퓿j@;sy#0V_X}(?ڑ?9?^e? ?t?P"?(z.?J Ϗ?oۑ?@*??_̤\SD듿]zBr̚sW៿3 z^5uڪfYR>Tg)5?i]B٣?`tʬ??D_m?͍6Y(?SV ?玦(o(?Qe?bˬ?~v ڣ?8_@X?DoqTU:`CKxE)ت8P3`u ~T^wU3—%:>f?*?鷪?zA?r>h|?U@㓣? zM \?[Nr9? r?lA;?H4"6.? ,? [af?ܾV ESL:uiqa̿&[ɿjĿ(<='Px0Qß?-̴?V?Q?V?, ?ms?ո|6?59잕?.U?{Xl-?Rڨ?Chʹ?u?6F,F$:"iĿq:ѩYɿ؜̿x9ֿ Mn%ӿ4fϿLſ8bw(x?Rki?D-$?zĢ?CH3D?VW!? z@H?ׯj!?&[D?«o?|?fAƮ?֍ ?ہsxſѱfIdϿ5&,ӿIJ"ֿ w࿟7̾rܿ lY`ֿuGL Ϳe T?lC?o4?p O?Dp?OxÛX?A_/?Foo?ûs]?A ?B?dlh?, P?9(?"a;]?˞o?*Bd9/? BZ?hy\lҿܱ;ݿЈJ)b (M-/z뿿 O#迍yM*Vb}Nֿ0S 5? P%?[Q?25I?!|;nB4? ?ժ$Y?0> ?~3 O4?l%"II?^݊?W6%?Z?+ֿ.`X"ŵ݊k gQ*aŜD6ٿvb^e? ?LrD?%?wJH??c*"~??o1?AG%?%ڞD?1?2Y4=ogfV7ߨj!$%V7f}=/h-wF7kr) _]KkL?s~9K-Otw$x (~l*x,[4ܕx~ pI;*xeKy5YM;KץyM:n34'pӶE,~fYc˜xd"_t`fboZ=Lg@ҹ_wTrMf=G&9ctE>V)smbg7{0D߹45d!f`gv9cHl^VdB N޸_C9o6}E]( 8mj`,ר.R5!>01S *67">d #NH+WeCO<%,cjW3Ӿò 6${ 茶"Q`2=WYqE?J8ڀe3ҏBL ᪿ8zRٳk{LÿdNg]gj.`nXD9c|0G*8v>w!c$W"ZvY&ixvH|Ã8snW_YtE˛aC⣿q4;ƫasdPUdeJW^ r5$ }CaPfzۙ+'_=d0 kWQt`,C>k Yeu )9.^'km }cΙxA5AK]诡Y>vhdv~uso$ϑ¦vEA΂~9= σr5V#EAoSbKv^Tfb?*om,, itySJd;|3`-U@[ngMsVݚ}`gdeX.jbocgҚ8段ACpG8`0Lv|"Pb'8#Q/sPH#$&t 22 Ās-:@#E7C"ZFEQFS4DT14na!mz,0-3$*8ɕT-;,g-*Br'3:/Q @à3jC=6 *J73A26je+b#e2nːѿoοجlƿi 3{ [? ?JG?cd[?iQ*?s??mAL?;6?%?/gړ?^Z?o ?\?(Z?/4+3`qƿοC)vѿS\>ᴿT;⢿6ˣ?'е9??5(?}f?Or)5s ?yzL&?s@]'s?q4 ?{ٶs?{TL&?iiq ?|d?}(?9?^Nz? &⢿ByMᴿU\z[I826No<1Wrdm%PҌbKuM]M;aMa%{&QjPfZR?tXݓx?|Σ#ц?񚜐?zOk?e#!?LV?3ס?%TM?ܩJѡ?k~^J?f? k?)u?qeІ?4t'Ӓx?fUR?FUj55I{8?KO%NUvtѤknaR:X?XKq?,![~?ς?' 'X|?8l9lBp??'hˬ?"#Y?? Ҏ?7|p?)Zc{?Ng?da5D˃?0Q?M7D?h?cBD?L/?)]˃? ]?^etb{?UT3t?Gi?`mV?B.(YK^YV1)9emߒzV1[FwEy CU+?dݓf@S?rNԛb?qk?$r?g;}-v?XM$}y?lBZ |?ʿ2}?|3~?K20 }?\[ |? ͫ|y?$v?J#r?s$k?_"fb?kQS?|+?4/QEXQ1VgkxFC`|lWO+S)L7?'v*P?"b/[?,c.c?n`h? xm?,p?xx2_r?Zs?!s?fZs?I܌_r?3Ehp?\=wm?$yZh?e*,c?:([?9"P?# 7?F++hFIӵ49 >nmJ9?$?=&J?̆8.T?bLR[?Q7a?dW+d?0f?v0h?]i?K#`j?݊rļi?Ăpmh?:}Qf??AW)d?x@ESa?1rL[?ӛ&T?mbJ?9?\h@9>4D#h[o{?\e8? 5rIE?髭N?T?R5rX?^+\?\_?Dn:a?b?/EޭIb?}Fұb?:a?W_?*I\?.SX?)R T?%jN?4E?y18?w'Kz?'~ʑ+s_*_~%?, 6?T 8A?cMH?ÐBN?v8pR?%kA+U?hgqW?>%Օ@(Y?$F8Z?Mh9Z?{b7Z?0/n&Y?6voW?V I'U?(fkR?:N?E?h, CD?>X7I?DM?gP?SaR?ĦGS?ӡ)EbT?Z[T?\SaT?҇XS?s(n^R?AI]~P?kR+sM?W2H?iƩ1D?=|{>?4?nU'?=ﺜ\ ? UKÿzT2׷u `!3y!A靿-*t27mYqSFvrԲ8|cLMT",Ek3j㜷DoCELKIN7>r-D$ YcG} Cpa .{SξqD>34MzMӫx@[(v[hB!v[wDPk(ݧ_WQ=cC!㘄33j#)cđB>몇\F ;~?"Fr@ef6rZ$h~uOfڬA,&n"1ga0? #mMg!j:vJZl{i5b 韴}Vf Kfv>?:^4 0zE>_"pMჿLh)L0ɘvspa׊MeJ^\~!mZR}FM ;OG/qLP,5H|Yi#y{ tX0o_Xo*gέbO`d`?VZzM^2BJ^E6p ~(5HqU̝o3`Bkde` q8XN]'QbShGgؚ>63\b$|Pe!dZZ1v%b h[^0W<6Qq*J%HtBE`9xoG/t!ET+ZaLZrXX,TImjT DP=b F44fB*?ʖk6NʬPnZ!eQhPWPA[SMNڭHC2Sb>Bn 36(/`0HzX%+C\?Ej姯0G[ޛ7F$UpDS05B9g:>CE8~ݚq2!1*5Q#"P}%SԹ;w?PJwiT@$ 8 >D(; rN7],mb3|-a.ǨyC&E83 0M3rg47iJy8 #/8{lfB6i |3*sfO0Kw*IuQ#pa-Fl$9ΨV=!0i= ޅx|=߯b>M=Ƚ!=dsc=l=++ upý`-ҽKu2}uUM7J@5=7x|_\ qYj09+A>K}XV` EU]?f4u 26NȄ0|fm hRg QƫQ̍;s6ir4d?q!d˾r پ,\?n徸oo=v{g~=Ik[C=Cت=p7s;= %o=ݢT˽<gV0%A.^c:3޲.kT[fаQjS}T˽S5p=FC13<=Dbʟ=6kN=>=wD=Y->_=֊#>K߲&> #>u}ܑ>!+=&t| 4ߙM=0<>Z#>I Ǧ!&>L#>KAп@>!IpS>1lW>h S>䀖HA>kdX8KBV֤bA!|hhXgkT6k% hxb1V1~S8[O7A>| S>g W>["S>#a o<>IaVI/R\[*+"bmMڣ2S97Wl҇ >ʠ>V>i]+s>/o>+ca>//t>w^j>̠>y~>/ V~kަh ͖-X ~L2nb=gN# 꾜tmy޾O+ųt:">Mݞ>iG>|r>l}Lt> ݔft>8ğmCs>aѥ>AX7>0T'>5ѽTlr޾VdALTITyo7su=X@O=7>=u=ω`y=pd=|ÕP= }zv:=vP+=5=h~­=Flʄ=(`Fzཛྷ|+ˋ Խ&IiŽt]W` +Ԭm:i@)(\7shPhA]MLSGKγC%3DZjv #|85FntNxFgljoY<ϽJr{|sw^zudiv OoX;Vi>F߳36Gs8%Лdz*ם㾝lӾ9΂ þԪv9b"g̎fGHxz}yMɴl ab/\=JcvVп-Ծ)1]%i;z\3yo[OgNVh Ϳs,]p˃ ӆgMǒu"cSRǿ@z1~Xs 7I3u?D-tqJ`5p:#+¿|װD8nS4Pp+k{uj"ݘcX/3G'#e',p^ 'Hgs:CۄA ns`b \Q,Z׉-Wz Pw{_{\/j4ٮX"EZGOO!}wNvѼ8џpF_ ށeN0DC<SO-= t; xs$MbQP!QAI0;a4tԻcb3yRx-.qBԜRy10$- !q tb mbM?RRYp^A)K351' b1wJ6`[N.o;u=m -Q20.l5 aB0D &G!y)56O5Sx%Gy9v3Cwccӳ8,NjoF!2]h]Cd\R.SW]lbO}N?r5G^?@e?^k%j?/y'l?l?Np7%j? e?ΕI^?3mN?p2Xk\O:DcT]`?4x~???J?`O? ~?mKU+!a?ZX:?UJՓ?Sڮ=u?>"DZ.ID( LŠvA2 nM }Ƿ:A-{z?!ԯ4`|Ib3`?;?E-;??R6s3%?cCA?E7A?$ɍ3%?s7?DiM?jEt?La?4nY]E&]6rԵѯMey:ŷ.ſպ¿ w+I}#ⰿ@y^Ҡ?K~?訌?켏93?<;q?iQU?8sU?{;^q?-3p?]? g ?Cn Ԡ?6ylb٩ిьN'{P|@¿Ecݎ,ſP:KѿѶ Ϳ:ſmLb~4| LR%? m?=M?L?ϖ?ׂ!ڃ?g?%/,?0?Fs?)??6'?r dr-CsſQͿ̖>x\Jѿ2`  ڿ۰տ@C"Ͽ^;; .4h0K2H?1K?S ?#s?v@?N|? ?vQ?םSt?܉LBG ? L?鿅DJ?u~T HϿ0P!տ aڿԊ)XU ޿!տN ňƿʠnB?;Yd[?ώ4?_X?UQ؈?gob?X?-Z?1u?D"ʪ?3o?Bu?By??΄i¤4͋avH=- qVjYAĿ+^kFCS)d8M~Jhƿ2ibV괴RY{q+p]:6:F2l`_;;~=ݟ᡿p|=mBY%SMmJiQp;mE__J&\3^y`9:$Q>c)R`_(xԣKryzaM)m'X^L;8 O+&*"X{r-T>5*bSG~oOsgmy^hڥw1u[rMZLN:翦Pu&m2-犥{Bzt+ClFȋJbo3PV⸜I !:6(Z/*P(s{|o.7il`vbGZfQt$hE@_18C V)T/_ SAsqSmh^ɐ$XjejR<^IU@Vf4gH=' 6|^DI7 ֦cTC%޾Hw?ڦCDOG90ÿ4Mgc3ѩv8.;> TJSAf@:)ۭE h2; dpCs^JmU昿12c 1KgO`oYo(z7/^x􅿁lcy|UZwfk)~u[G|hB;/t E*'釿.r<Ɖx󩖿0 U5/b]n:vNvdr_9E>D/!P)Q8 \;BeoTu[4`|A hrJQ7l1:*t:)cq8\R!^ʤ)F@~d0{e $3LU[4Nhf4O1@FNؿ:ӿ{ɿO&kZ-?'t?q? ?y /?`ºg?42?XN?,,g?n /?Tp@?,> ? Ms?W|?b&A9M&^ɿH<ӿ$Bdkؿڣ +ǿPq¿OsnGA?<?:+k%?ߖH7?W40?އ?M?8=? R?wY\?*}G7?nt%?%?#[뀫?<38[̈M}[Iy¿D+ǿ#Jv=ωf;BsjIRۡ?NV?klF?I?K" ?%?7D?c,j?G0ܲ,j?: ?|?[v ?;I??V?dkۡ?-QCsJjZ˕p)6b}z7۠Oь+Q9}b]?I?Ϝ?i?zf?]?+)?EnF?Wʜ?x?lF?-?JG?nva?偠\?ƶ?C`_]?U|۠ .5T6(㖿'w(*İx|hn?)L?"ӄ#?oD?VfH?d.?_8L?oM,NF?E?0dL?˅)?},]H?_,Y|?P ?nX+?e?V/D?ˉi8?`:?Ok@:?sA>`8?v$*;D?zT+L?+?4-?!^Q_|?l?3Dj?.EFh7Y<&l0^V#x8.cSPWi#,hyxXq@ ݱE?["t7`?0z-k?A {s?x?'}?)lM?2{"$f?)y ɂ?kɂ?*K?g컀?ߩZ}?^Ix?b zs?hK1k?@<$4`? E?8A@x XvTF^& MF?X?y4nPDjc?==hj?BN1}p?+{bs?KB*u?ضԇ[w? 3x?V'3x?HgK[w?` u?Ias?;@|p?6 fj?ܓǤggc?DqX?'$F?UZ0|s$Go%+2 X@"?K?ǭD?wR?[?/Ob?jf?,d(;j?1(Fl?n?o oo?򫱌o?5E];n?#l?Tj?P&hf?фTvLb?M w[?E,R?*"D?SS"?H<~2.Ljh!P-?OA?HM?\/HqT?C5Z?Hd a`_?Fa?bFc?fwfe?se?pTe?Le?LAc?UҜa?QzK\_?$U9HZ?3YjT?d6M?RGA?RJ@,?u'oɓ! ?3_0?<6 ?? /AG??HO?ZyxUS?uOV?4 K Y? ѷ L\?ȸ]?^?r;^?Ol]?:I\?JY?fV?5N%OS?8/O?Ȗ@.G? PF>?=^-$0?#e?ĥ? 60?ȰmNR;?9C?YH?]ۄ$(N?3zz[k3[\+|Mѓm=˙Q<'m~+ " w7:iB[p-9Mʌ =p _ϫ-2LdI#дB n*~c 9tJ x\f[3.Y iLKo{>C@ Ջ2U`Iuk}zzrfCuZm fgL|`oVWMȦP̮[ QE'pJ; /s;ju\h'dd2du`8w?HX`EQ~\ I i AڄhcL6Q)W*.=`b'_Msw[c6vFVe, Q: 5U~~-olq"qOKU͂#LQr8Jo8F2ѻ6Ca>AhR7)T-1uЪ(*9cBV)/haCѪRB9 @HksT-=G8C 9 3ժ,6K `$%`6)$LJ9ꦒN;9)/;^ :mt7vJ3\/^Vql(zF !+g2(7(5( J69!a5a3%rR0mԢ+Ont%lnEȥM%=cˁ4=V~OrC=}ᙓnJ=gVƓEZच/rd5hU۽+-اQrelͽLao9۽\? Z ibL py>) Zc!|l' NI6o7Dl2QRn/C[}`#eϐLG0k__4YJo:jJB~ v`X. Y^̯! >(HzW]@O#+XVþ+W)iҾ_bE`tA꾵Ît=9$'5J=YlB=ml=x=T?/=#G`L\(ս gn>J +R, I2nWxagBսd)Le6!.=k = =,{:[=*u={= ^=>~>SDn=!>2B$>MB$>Cb>>:bdqwFmB'YoK/me̼2pye3m6Ǻ2YOl/8'#^ /of7f轁N>sՋ>R$> (f$>\؃K!>io>cMh8U%IޜuJ>lm,U>vT,JU>V?L>iY&>ƒ=L} N]2/e'b5"jLͳkV"j3fe"]̓:6LCr>l\JIL>Ue'PU>8s&2U> H$J>E}įQOUηYJçv)\wϬKŇ#e|X~>07#&賙>9T{>lc>0#>Scl>y'Τ#>`+d>b`|>ņ߭>DDOj>n(mu8:3s$7uzۓ8'{H*K1Kik8"XO@(U)@V•Ѿ"SjT>Es>MD8ec>wfX>ੴ> /Ӹ>1z޴>_P>p6$Xd>K>z^>NzѾ~XJ=徍D̀V] $gk,ןܽ}Oo泽RXCa5KߝBL{_T6*l pӼ९3蜀ּ]l N< :\cl;QMsAĖѽ~$gu갽7ibnĶ2}ͳSk=wd@Ql\h`~ULk(m<ޭ˿+̚i0Ͻ #ccn!Peۡ׽w Ľm°!`}WRSĖXc rzՐaLHP{?0)=/Rzw**Qoo &QqN& ܾfLbļ˾z̦z mnHD ztĶdᯃSVA`׿ mƿ2 (DCuHiɊ9Bq/P&m^xL ?տɥAÿ-9!ojR됐J1o g m7s-sY'ڂѿZSd]A;lP¹gm0jъMfSey FmNgJ$T&nʿQKQ7E!EM=sqbVgOw߽¿~\kh0J[x2 k|_^Dk2tzY(yFbN9j }("쌠⃿ZBH)}z]-ٽ-2/tfx0?Cf9{V k5E%/32A!Rt;2$K|$q=sjNY_./Hg72l%%U.|V~=lCt4O[%Ҭ;kJL9 nJ(=d V}3NEw}Nk}|Zc($ I %8N;&(Y=`rog6qTAV#QDIEn4yBWj$1kP' G5b:9Pq&?#.N`q]1-z4q\.ܾ 8݂BikDGi8ii}f.%ߟaڝHV y^@!y`=?0}V?^Qb?^h?kk??rl?wpEk?{=h? b?hlW?)|[6=?yXY@V 'aL&χw{f?(eiԵQ-)Y,ꦿ$mW7d.bv}R u_&z;?{x՛yʚ?r9?NDOy?Eի?:~?9D>ի? ?ƀS?ۿ$˚?>?WqT_ Qe}U+Bg#覿NYW~ vǵ!6zHi՘X`<\ ֛77>l߻5?N lip?!uy?LIlX?oACnt?`?fit?weX?N/@y?){?0ۈ?GH>7gћCYwV<ӳFז n"ڶTƿ-؛ÿc6f\jDWԁT⥿kd|?Yđ#??8Xs?^_?OyS<ѝ?̘?47?,;?I)t?zbҷ?-#m ?P}?fޥf]h&FA3xÿ^#-SƿIEQҿ#: пkтQɿԳ1t~㮿8Wo9?2)B5?qAp?9?$? v9?v 5:? )J?4?+?=0C ?6?r1B?r^ ޮ#9wr=rvɿ'6пPҿ9hۿzo> ؿwtMҿrB ɿʰ䋳BTI?I7?BuK?hq?!?2A?z`(?}{A?J:8?z%r?gKL?J 9O9?;?ZS6†ɿC1ҿۚ2 ؿ=$T ۿ~QRW6࿑%ڿ7lпGG?է?w?g?F~y?hLQ6?F?^μC?*y?qƆ?$͢X ?04W?pUr?[؅AeпTxiڿ]-࿭'NV㿭|E"Zh/r1(#Կw!,J|?3?};?zXy?^-?X}?U` ?^}?8?y?z,vx?v*ʀ?5up/?@,nNԿ66Y忪P 鿟zvSIJ`@QXV[6ؿ:?lY^Ko] ?`1~?1>?qՎM?ecO?@mU? K]3??pZ?#M?+ 5>?nDU~?Z, ?R8ehO~)5ؿCdQ,Q俻5)꿃Ӫ}n#9`2uXqhEڿe?*t8?b=??[?tEe0?Pg?A3?M[?ۋ(?Q??|~?3@HڿV?gt;g#ݳDJ׿Ҝ8ԿTnѿ-9XɿizF@¿F^i cԫECY+鍿^lzO#e{^@wv{pʔg!g&+IU]w:Q[ 7BJ3Uh2sSCw O,tf \юmP@q*llAf`'UsKN⾞Cz` K[ً U Q&ND*D\Z#R:5/\ T*<%e{٪aS,iyѾG% 9P#TJۙDG5DD)==hK@3p=)(e3kC9HLMN B 7>=ؾ-lE]PB2?bqL+9;0ܤ?3 S+BV6"O `y m$5ߔЬe3@YܾcmǾdd&)+m4q&vX!u=*+baЋDcT_U&I4ܾ,ɾڡtۍk ßB2`q;r^L s+%oYSDIɝEɿv*$_% Qp z:h9k诌Wx癿yOΦFN%69Gci0}|[ywVk}NyCH-;JCmџ+UP~o5cWѩ (gQot,c΋nIJIR$,hR\"žISi\b8 :oH=ŐxOC`v)]W\gSͱrgB{q0 xu};|-8D(fHIoVc#aLj#{rVrC y^xL U{nQBwQY"jdZ,b5i싱pP-غs[, v]0<+)0IsfwQS*m ZJ&aUC#e답qiQEk ;B5\YC /L"S]ZdXN?]K;KY`w#Q`{v0Q)prCӣGbbJ>Klq8J/rX#O0L6{<{ I|@@{c|BeꡟB n@)E)nÿy>1>$5w(;n*9$:ۿ~9G<[6{ћyqū%;b_-`%1j:L4h4̔Xrw3ug/<,ٿf ݏֿ3"пY1>S?Ѧ&?V.ҭ?$S7?I.?uԬdl?E3??o+?Ocl?D@-?~;zQ7?Zѭ?%?`fS?|0nBhhпkCֿAٿVeȿ؁5f6ſzj骾t#lKY?Vm̭?z?&Kv?1? _?^?>?(J?kP^?ػ?JIv?倗? mȭ?oTY?S@ mLYCN06ſ*eȿB͙Y!kd>ym:k<7p=? 3J?{pi??I?X¼AJ?Ks?`12?'?.>I?HH??zi?J?N/=?q(qedNm!kGqt` UZ$?12?Ն}k?d?kY6^?&LC̼?f=?iP&?bHܽ?T+_&?Ut;?( ɼ?^?gyX?BR̶k?Mͧ?5b(f_7@2B { rgDKāӥH֓9-8Їl ?Z]5sQ*[?uUψ?݌8??++oo?[QNTB?vEȰ?q)-?gȰ?nOB?q9h?A?w]R*?@b?mZ?e=];ЇP֓7%'Lc/eոHD2t'7C?f,]|?g*C?&)?S_?4Zg?/z?/V~7ȣ?O;9?C4ȣ?5z?WjRg?׬:_??*B?mdg|?ӘC?v̩tzWO|hps`ר4IV?Vt? o?bri?Biې?>?a[?o-ٗ?z([?[.s ٗ? [??72ې? $!i??e7t?M eV?`ssZ|L[Fm.Ib(6BIX?w+m'Cn?q@םx?2?Qg$ Û$jtt8?$p M?>`Z\W? "?WT"7?%hI[C?5F@-K?}vQ?o!U?G{kX?K+[?Hٲ=]?,k^?g+P^?)^?;]? A([?t֧gX?M+BoU?;CoQ?(gK? q@FC?A\^7?ҾI:{"?1ː/ jl? !'?~-4>5?_m@?zhF?/CK?tWP?/okR?jT?n嚍V?QRV?$2W?mxIV?y`U?QpG%T? }SR?[yRP?첤owK?E?"W@?$}Rڭ5?"O&? 죩 >&^qv?(m(?Br+&4?!F{:=?g<2SB?K2˺4G? ET*K?(N?+-P?Q?oq)]R?nR?#|iYZ0`W"L ]TX6HzeN/$="|O9.{( RyxE'saT Yk)^b˒xJY yPkfFD;O8Qd*v7%v$~ tcp? BjrػM,c \c!iSыSrLJiIA5v˜ZУ&K"Xkͤnzi6n5!9fp bX+\b7cT2UM4ՓDN ; *`1N9)#_`w}`p]i YH//T ؉NcFMe_@X>|6-,(*? fO<UuU>*k[Tu\xQ OgLfFd A9Q9nƤz,2NiG&'H+0̏JyÜMSL*eK"Hw"ET6IAŖ.;4'6k-8}#sUf٣4A( !CcgG7CA^ ?+;o4:<5>>904 ()_ *Y6p0NV:θ%&x[o>APȎ;ٸ*pEj1{; >f5<{Q>AEM>3:8G4Bfg?oVbF>IGt|C(5^f{^>-vN>`peu8hE w7Ķa<;Fn؟XȎ:(ݳ>a]M+&&e1h Æ9Vl@ymBHI,D3 :CmwAhIz;Q17dҺȗ>H?1>ܴT|;>~:A>ZǸ7C>*=ɍ,D>e.yB>cjm@>I4!9> 61>=gT&>$c>_gؑ>R`3+>6\->&k>0ԣ>(W>EH@>Ļ>l͑>x>Q*x-͑bvĻ*n >ZԣM^ϯ󟾢[M*ZY֑%T~\?>h)F>(@lHN>4ca>f`>r/b>-[ >Y">܊:U>S8>b2+t> ;˾wV:UgC0 -U Ob>#XRj)N\V㾧cN=ؾO?gŲ"?[Ư+?:1?%6F 4?Qy5?. 6*5? zO2?P..?Ŕ5S#?Jf[ ?Ȩ t l{[S#T2..IM2}7/*5y51 4W:1+/7"")q*+myyJ"GFm轚 ^ĽWGg*!lugBm0*^(X/ʑEC&D4붖 Gy$ī$ f3 >,>/-2=Z!=vD=.#=O%³=8Jq[=^{Pz B>=rF>`|?>992>',?[$><P>ׂ8>|=E^c*.>bi>S·/>5fp ΃>CmTt> 3Bld>61~T>URkD>+3>U6>O8 ˿@̥u)0>fOj%Q.8/sթD$c"0ƿUq@e=v'we$ Gp(<`>l+dM$򋿙K$_zMPRiYYˣB`žX\̩ L"{=sH3MbAsR IQ_>޳{X[j0}QYBv4IINAb(HO㓿k NBCq x`VyP*~@ā[9 IQ MsWuI h+d,5(G1T]aCs4\r@I6y|bgj~BpV)WF覨K6X'I7[z<Kh ov'W^dPG+l6wk&rFNP(g=OmyVo`cEr5P*%Ssy{Ie9 S \'BׅW<1<Ui!c>0 $3) NŠ\?`¯?gV?2%Ⱥ?F mp??W4?]?Ӷ?}G3ڙ9?Lj?t-ס9r Ӷb[w켿_4䱊_4]wȺG}>7Җ&'z (s?܆@Ó?9D?[nd?x@{C?C;K;?Z6?Y?c]?%U%?l? PmٿTɐt_ȿ:@ϿIAѿ.D;ҿ@egqCѿ7οO--ǿΪo؅UHP/J?Y?y?5;?'ؙb?R ?MA_&?t3mN?>?$}ss~@?(ƴ?Ez]@ƴu4@οz׿)fN޿DF&DhY_>gNݿ0׿oIп82Jÿ"vz?._?}7S>?Bb3=?Zw?W`6? L=J?qxI?s1E?Q.? O߭?'85Hl56ٿ) E俅vHED١,ȷvM$.==>忣I_޿XJ]`ѿ:{=?jm`?o??,ZKv? ?"|?"? ?J[q?P?? =j0ʿ02BV^oet;L*4tI?7΅ ֐m&9/Pc`迡˃ܿl3`?*c??T Z?JoP @t@8D?8\??!?v=Z,?ǥUBO?!WWOҿO?4Jd!۟f?yjDiMt@SwI ~"G56b`D_c?e*w? Xn?"0@p@꒲&@ \ @t,9@0/?z@Fo%? ?Uơֿd t%Sr.t8] Z&&Jw9$h%xUbO._Ccj?dJq?:J@G0F@Eb?@,yYd@hY,!@Qag@Iu;?6?K?@'׿2>K Wh- .ߏ- O#\{H~zXp@o?7/ nxs0?J+|?LFU?o??cT%?&w? ?S[-?E+a`?<ɶ?0iǿQ ` J !8Lh,^m[]߆%{v|QW(UoÄetX`8ǿѷ ٿS[6Ϡfҿ^ɿ!;IEVjNT3c0'䤿\6K[u{X*`E9p# q?8 ,0?x?9`?"s4?'W?nq?nz?Wrf?@8)?H ?JC4J?Ŕ D?Ms? ]tj$?8a?AL?yG?#K,C?ϰw?pİd?|9P?CoL?ˤ"4?NZ☮?]??;0J ?ڽ'W?E.qu?d?9@R?_ȹƴx_?nၱT?;`I?|mN1=?%/?h _?7]J ?>fa?n[?tT? aaM?SpC?bY8?[+?O?E7 ?h!>y >$ &Q?C$!J?NC?B$'^>]})>3 @?±̣(:?0@3?> +?O$PH"?@ ?JI ?G3v>>bcM>!xܔG>L޾ 1?ߨe#*? Ȫ#?8+F~?.}?<҂?7>0H>Q>< >>uh]v#ȶ6)蔿eO2h"&b/)fY"\.tcS C00D2' ,L]Jksdeq"h,~#ïp?ޣ')9tTavBA(m7rxR t$ ,#'J]DSs^*@gJ4+3Ps+V(;}eݰYs5Kc%m[E1wWes nԅe~DPmDIQPP AϪUM[r[aqieeKAA#a^uEAWCYJv?PE=4Q?]>{?_ؖ?{?4z?i}W?~ ѻ?Kh?fדl?J%?v̺?BGֿm`vٿhU[FۿlDܿ[xܿ%\2+ۿ2lVؿ- PԿsJ9ο;E¿֨oI0?c&?Q?9P?cslV?e`;+?ռ=?Lm8J?+ИJ?#zx??f ɿǹY˿$οcJο8ο;Aͼ̿6Hɿ rpſnQE~(QE?m??H?cn~p?\NȺ?T?@MY?&ϴ?qC&?1?Ob ?Qrﴟ?ضfBQ=39rXجoCQo!G廿\;rX25 uVh)$ԇC>C>?40Ŕ?REdh?(Ud2?.;?(-Q?ڬ?b V?q:?uf?,?XsSQp 4$粿Y$ k?5tGZ1vS6BAb!g(ٗp(f&Rt&?(Aٗ?A?CJJ@?gA?O!5t?Zh?>$?ړ0?>Gsn ? Z?!ӣCfb0Ngqk}Q3hƱ飿pi#m Zʕ& l!)rY>r w>r?Ww?]ʕ?6#?>?-?k\S%h?bpg?8KQ?Y/?[ң?H '8qk-Nf 63 0bл:%3'xG3␿|c4G'#*eoe?4i#?M4?p&h?|Ax?BGI:?مR?kSF ? ?j?.\F ?(B#]RM tHcS&EߌDMoOa&O}2؅D`r8XЬ)X?l)1_r?7_?}?F?#П*O?M갋?y@?0gBb? f?:]?K?2ĂyyrU_?ٖ0X޷mW%X ]_WrDVg3T~RnXO PXI)Be /5$7Xz9[4?A7?M1?WIt?'e?Dj!W?# .I?Yb?^8L?^~8?G~?|]lH<;q? S)c?bOU?G?kZ1?MO]!?97?L/@w?ZZm?yTb?2W?.L?u=AA?P!o]7?I?Je3?j%H/y?ek$q? .vf?]?I>S?<[ RH?CAz??lB5?T@`#i?˔x?isq?B?i?3Ra? _NW?+{N?a3J}D?[u;?ah43?%7v?/92q?1,zi?3-b?'lZ?؆4\R?` nW3I?9?A?a7_7?OkbR1??Ȍn?T3UCh?qib?מ[?"#RT?~uj M?]bTD?0?2=?pL4?Vy^/?3pwe?Elva?>}[?|+$U?${O?Hs}qG?~Dc!A?Xŝ{9?'/2?":Vx,?QWb"_?5yY?[p^d=T?ܦ1{P?M/nI?$W6PC?IgE=?5?uO0*0?d*?W?[[5T?JKHP?힭J?129E?± im@?9^9?nh 3?{.?rR)?{R?]P?,:wK?=F?cHB?>V͌=?t.a6?ލ2?f5J,?r'?wtu{8ΙFςJQ鍽'`==铽&ٽPyݣBO}n}VPC#X#&j\] !:?[vnv/>eW 1-U9AFCeevHRD>>H}k>Idu>u1ϫHq`B|~p A}X Í!ıYɑBc>Qgz[>*#:0˜/c6e=Sc濼AtB&CvZ)D *B8?0-7/h]($/Q&W=JP](>X-7>N?>ӥEB>͈1"D>+dC>Y)ěA>)f=>h-6>Qw/>^қ~l#>W^>$>F s>1=>g> (_`>0]>6>Wo>h[ >6!5=>i;"g%>=K #~l|yﺢ A䣾4C`4bf6+gsG$.FK) BOiU>¾n>A: > (>Y>3bɅ>«t>K&>B#>b{ >X~jb>tz>Qb۾&~ 꾄:AG.&=UqtRynBD(e\c% ] ߾})SWѾĽYR?aQ{7 ?,K&?.?se=2?8l4? 5?2#HO4?Ʌ[]91?uit)?dM5(P?Vم3Pg8w){\91G{N4%5(nE\a4 '.2U.fk32&+m  ͎Y|R$>-/>;iH=qɦ=J,-=]= )|==k`-)f >Ya>? =*SO=0== ׭ =AZ?=7aWc=Ĥ=˻_byk!_6/>H>,~D>`9>iM,>2j)>+P>Ot*v>|X=徾X3x>= ۟>(>z>8>|>W.)m>ԌGo0]>>lM>&:>>Z1>oԿk$¿\nL4}9 h8F|=dk5$ot\4orп onu뾿^ꓶ}pƲUZ>uw8fJ]CW*oʿ@ҷ9In~kн(ʵ e6rðaO~Ri ¿Ma>$/,"{4ij*zC ZK.*;H0#4| sX6NbZleR. /l>CK¯N,2xDm&&Yy֚Wh8VW8;zG$M:9d"8/:}9F?<|/naO\jV FL%Rq<#ܶ.sM⓿r]PUOjijMqe<}`<,jOАrEp?*F/ 9D!ot,틃8";2r#5a #j4ӈPދ$@4O0b kjgq M`vL{tfOˮa!>Y Pȷ-zj|-DYٖ[M<;@8J̓99y)(%uE\> 5!s.+?̱o!?K*_嬱?FK?+?}u]2?$?71D?i/,?[+˶?u#=Ϲ?75B?ٵ[ ?~fJ?^$?U},????$Ms?Zvۅ? ?dK||V) 09?߅Ŀ05Ls̿пꡱ,ҿ%ѿ'*BJпA ˿BĿlϹ$Afɿ?o\rp?[MFp?ݲ8?ӱe ?`?iA?=R?xP?b`?2'%?RN;>0ĿkcӿP#PۿNR࿱lk넀ῨF}?[ 0,; ۿE#-pԿIpʿe:܀ z?>Ό?PN?ݜ;Bz?߲"$?U x9n?N(o?8 ?<6\?6?"dٍ}?;LL-q^}ѿ$9Mu]\c@ 쿯!o|-n$YeN뻰i׿arƿy?2W?=%;? ?3 ?.у嘤?ɰx.F~?I ?#?S?ҿ|ϣ?j6,){ޣڿ'鿞ִt`t .@~9揤 u D;-W7ކҿ60&E?M!*? ?u1?0ԍ?Wff@e[2@?Z-m?kV#l?줯 ? ?žZ݁. ⿍u&lK.mYH$X2S`f;/١H^/kqMEڿ!?vNMMX?W'?S@tL @:%@!?k@7|r@Wj\q? n ??RQǾ; g]ߢGYm#g64%@ y OsXaQy??AN6?{@|E[_@q@Qd@9 @ؾ?+Ү?v_?E#þC@9h3S/u-n a qbQ_N؁͌Vw߿=?Ӯ?!F?g-?\B+@Z;Q@kB49@;yk@`LR?= ?į5׿7{(/FP.1ȮL -jFɸm#N_YڿԬ?=*v޿ [տUοa;ſ1 àЉ&7DqR<|7>@͗? k??vA,r咠?hB3F?]3?i?.uΩ?Š?ɥ?+?QT!)?ATӀb?sf?J0?Qڼ?zܳ? 5Ǖ?)}?"LGא? w?W(??Q?j3} ?L3vx?ѓj?;lpE[?=+I?k4?*4I?)'?5{a"?&"(I?x?΁|tx}? ɒr?z͔1[f?,X?H?PdQ7?5>O#?HE ?[5?_Ḿ?­{?j{s?Y9>k?BuNda?LT?jlF?b3r>7?_n-%?<?mR[C>tNxzt?LPEp?֯i?,ƫb?H[WxY?ɂBGP?lC?+A\5?u#2%?%?@=L?~jl.>c?Ĝ;_?B.TX?Q?IH?KK?>? Bx2?%ԉ$?\?>Ф?D>> IIR?m[cN?`?;KG?tNg@?wWO7?J~O-?:?H!?}?( ?Ii>R>=^ل>.ذtB?v>=?C6?x}0?ץ &?ק?Z<?7QcR?ą>Ԉt>TTV>{>".2?2RZ.?x \3'?B? ?tpI!?C@ ?/(?L>4EP8}>ɠ>}I>iFN ">\brk~p $× 8ܯK#)˫D5y?ȿ/A Qa³E/nz\/,M{G7Y12)4m$4%8꒲9IoOSQ:`˕pyj, w*wVu=vґ z*}D^Xp\\٨f3zr3Dwk"5TDٕԀcEN. AF=D;YTib]vyOYnMx)QYZcPŽ>x\7q+_ qcĞU[B_;nyhĞF} r6R,|Y$_1APvMRf |Y]}Ub6u"lT = t 4~⼸9 ľx8!ִwNoCToY_]#Y+eS w>n3䭙u^%| !;Ix53Pv gVf6-__ fNgmCnWs(|x$g1EZMvK%5&R nqeXCP`&wme#lck,Cp=&nBpWTFpz!M-|R X8U~\X_SU/:cW-Šgv[W@Qb[C GNu3N Z SŚ֛W5O\zu&`-~==K}@{qaD\7HA6N#*RRsUUeYtRMW:̐uR>o{BUEF}I b?ϴN  Qo(6NGT9F*OV㿿‹ @濅ST\wEOOcOZ4..&'3Asn?{Eؿ7ȿ I>'mA?z 'F?n?1?no&?$4?Ӗ*ŗ?4BO?jw?B?/V?aԿ~1ؿHӰڿne~ܿ2ܿmSϘܿVqaٿ1Gwֿ(ILѿAjȿN&Q>*+5P?0u??9EX?Rw?j?ɤ- ?ެ?EL~??~1?,6H?41wǿ`Ayʿ ͿJ>u9οοR(Ϳkl˿G0ǿ2V¿'^D4O->i}?PfWD?G{?SrY?[)`0T^?=6fl?gdv?яǽ?!#A?Cs,?X?/-;?09?25h?௯>fDh|Q3i{/!0@.(r(;rb/.mV7\G7O>R?Hc\?ͩ?H:t?|?-d?lSq(?@+?js?r?&/h?_Д֣??S{パ? }OGC Pإ"!9+äq7ܢ)b-B&Pɂ#I#On>$?8'?ߥ?S6-?1ܢ?gJ*ä?C艜إ? o( ?Z?6(XO?<?}*CΘE(ݙ&1"FQ@@%ƒ:.Q5ţi 6t?n?)kޤ?E?ƒ?5{+%?%F?⮙? 0?Zܙ?<Θ?Ǎ)?7ֻь1s兎KKɫnLڎ}j|@:C* -s)4xht(euh? L4x?$3f?x>IB?{U?Hс?Pَ?F?u=2?Kv„?ctЌ?Et*IFK4`)0|: i+77O|e orz9MŊ1uzB5m@=H]LDij]?L4m?r1u?nIz?>v?qŸ¹?tE|?)@o?tXx?q'?rD?W=!w- xR2 xG ;>xww禫v7Gs74+p7j{|8b阂 `RCn3y.^R?bASb?6R6j?Pscp?ޘxVs?ĻH#Wv?d3w?UBmx?,x?&x?$Թuw?hto B/pr%NMpe4_JpSC&nwcbl?iHMeQܦ`Q/\ XZwIU} Xb@N?7ENˆ>u2୷7T#{>?)hM?eU?`r9r\?#`?#(F/N< mʚi$^b.?O3Pb>?t(0?0,{x?@s?䪻 m?ɭ|e?O fk}_?iJ(!V?ԊTsN?D?$ pW? 1dٰ`?rm }\?B?]YW?m3R?m~`M?u2F?a@?609?EF3?̙-?O4'oAB(?d}!@Y?"&^pU?3Vz(@R?6鋛O\#E/r58";dk'Dޝ۬&#rw}ӓ!>*6.-cP>xpk>Ėq]hX?)szz#+J>5faP0%߬"}V ZEžZŨlpξ)l?žOR>=  >3Ϛ>w-|>[>cVh >_ >=$>R>N%Ӥ> >KN&=˂}&t> (Ut  +Rh q-ThPm%;m%ֻ v '51u><ʋ*?>i>](+b> H&z1>VFp>ei >pWj$>1~&>O~@8m>"3- h>Ҫh+op9Fo1OCrb4}XQu;Ǫi>\>7xH\Д>UN즱>.yr^h>S>F,M>0.Rt>>z> => >P]Q _ϾDؾtpNt߾BIu$ \]ྤ vܾ|Q6־F%"ϾHAiþvXa?uD_i?L@,?Mv ߔ?E" ?jC+!?` ?nX?'& ?$ ?#\9JI>q ^>_Iz / 4?XqFQ[ \;+!Ï |mǔ,3i^"ua̩Ө4?cbIA?:𜅁I?,8+aP?V%S?7K:jΐT?^tpNT?I->R?"ONL?L 'B?C.)?&H)*,BcL3L>RһjNTŐT.%SlaP °gIb2A$Ѩ4 Yl=dd=bW n=kt|i= =ڱ=Q{p=6cs[=_UJ=107=-k%=M._] а= +=sR=.:Fsj=>̊=І_IT=ѵ:=3=ug:>=LA7b]J>tv>c'>(/<}">I&PL>Á > H=#]=a a="+ ̍SS>z}YI{>Du>oBWi>G/I[>BG,L>S@<>ZL->Mμ>9q>5>VE>u L> z>pؠ>~>ۨk3>ͥp>$Xl`>0cQ>’TͿ*!LQq2V*XX5N_E\u0^ Je˾a]ɿU*0sO?=፥FZoK 傿܁WLrKbib6ĿRpБ U,''l״-~ɯlN툜\bJD6"#p׫ւ;2vHJe:6Ug-"YoCA〿uôE p|M0_C[olO`A|mLE5vC֛;BvfIe@4ȵT#+EԴ}N!@+w@i|j^kn)N]ZX`gKIbs[/b~0Td^q;* a@z_&nPsvo@[(0p!Ȁrʑ` <=Pm8K?I/bV:VfLWYBH^U LDAz!;xy+&21!SG &L:=EU5GáQ!6̲%ve1ujrߤ½$St,z,G?-F|:?ƪ?5j@;?ߋqt?1Uw?Y? @޲?+ӭ?8?t*rT?UkHӭq?޲ LCGLwERh7|;۫ƪPwY`:v1YH?;~i? 3?yj?+ l ?-'?WN? m5?6 4?P\=,?>kD?L4 Da2),4Jix3ſLhIȿzE'ɿ2X[,ǿ]ҞqĿ{2+iDsqFy?n&%\%? @3?I/?F1J?z% ?`ř"?)A?Spv?dJ)'G?V? S-Gƿ~~vѿAֿ&w"ٿ+әٿ亶ؿ<DտuDkF.3ѿ89%ȿCeys3?h?R)0?E?R"0?v +?&?؂%?ぁ?%Zȸ ?/_ g? ?K Կ?߿b:%(ǣƋpV#$$eMEr:=0Յp׿*a׏ʿ`^%?܌'?e{,?wB,?(l/Q?%Kfd?a?k]L?~W!g?D8}E!?6n?yƿ|[#J!uٌ#g KNL𿫅U/#y`dAH,ُ #NIa,뿎7A㿈<2ֿUv{O?[Gӈ?DJJ[?1?Y@?r]?Lhˋ?<`D/? aU?F ;?P-?dRϿ 4kM;-~{U[e.缳Qj] SmpP7[Rd BdOt˼)$?G"?Tπ?"^@|\@y@!l j@mWt?o??>%+f? ?X5BfԿ{ ~hQVtNƀI~Py45KB0^ROwiw;$ݗŽ?kkE?*?vl@cӳLh@a\$@dm@cE@50d?T ?.4M?D4c׿:𿔲(̶rYElR26 $/_Vkct@l-,%F?̻n? *^=?~w@u N@ɚnO@?~L@pv@Q!?ԻFp(?᱌J?"3Wֿ-:(𿂎Y!ɳ5zLoI5 NdԘRD%փZn&Yk迺Ye ?J:)?'5?\N}.? o~?G.L?BhU?zA?a)?]D ?|\s?=1sпV(tt;n+L?S>z~[Lq{/m 8 X ݿ;eAĿ-C"!?cg?&?Uc ~/?i5 ?mQ.?l>R^ҿ n ܿ <L忡fiw?l*?B?x`GU?F?+b?e<$Е?:i`?|7? ݍ?*DoJ? ??O&L]?gGA?ƾwtQ?Wǁ?\ -=o?]S4ӓX?]l?RI ?)򀾶?o&?<pSp?p̨?xM(Mp?[?? -0o?vkN_Z[?_x,7E?=|? 6jOE?2'? \$?cF?_rȇ?J>{?жRHl?S P[?qH?w-@3?@%?ȧ(?m"w$!В?/ի?O?>f\u?+Uxh?qJ&Z?kUI?JE6?Il`!?͛?f4?5܅uU?3Tbߡjx?K>rp?EjTc?BbV?H?9N҄m7?͇4$?Ne?y{?Ћu?v#p?NQWf?x<a]?{;R?J`A@E?556?&?/؃? >i?/%SId?-;O^?~TU?Bs.b3L?YSrA?E4?Rfr%?nV??Џ?tź>k3}X?[k~OS?gߟL?wID?ְdr:?FK0?wC &K#?lz?U>a?hIJ>eVl>~IG?mB?lH_;?O!G3?YӃ0E*?*5 ?X ?duJO?[Ll%>6ç6>p>7C7?82?C`w+?j{#? ;?K+:?b?b>̑>T}7)>R{N۾>@dV)? H?#?bh?f?)*m ?{}g?fB=>\ َ>֙O@> a>i id>=&hiiw.^m@'zj (*4ſ,\gBuuvhݡJ#: 8ӡZ!v{wĚʹAe4r֗逿Pg~sp,s*> Z.cOŊo&{0ޫޱ5-sZYjW`ߨ큕vjS/|uyn #r}ˉꖿzP,\Q%e&0qk>az/ℿS s(Y–S`rWgK;DaaCj 7s%YZN}\K=59d>٩5lS([c;$d|TW<}m V}c|7u@}Mwla P'nU.f^Oes-u_nܓt%2z7`sJ f؃QW07QH``JeEMGlD9crbCFKuXL`'DZR8"X2>m`pջidSic&fBy3cG F5ML ,S%^ψ3X4r!^pAbH@ .bEhC_~H ʪӀyNJ OROVc3 [k߼=WcqkA6\,D(EnIu N/3R3uUͥ;6 (f?~,Be[XFZj8TvuJ(P No^Q\G`S E)U| 'g}=K#TxG^ }LsvLK8 ڿ(r k1?>c ?S ~?U0?cOd?8BԿo?ӿA<ѢѿjͿf<ƿ]tfy)x^HT?u?Pup?j?j٢?e?߭ ?5 ?dA7Z?:>N N?XEw?z¿T0ĿԹDƿ m/ƿp$'B}ƿ;C*ſ-h~¿npnrIfy>HE8oؓؓ?4H?y?żp???Wa*?L'F}?Ok?2bD?Q'-?ܹr? ȵăvJ1Yjpl@H฿uO+O*Sf]6- iЩ H:l&vx?<8b?ig}ѩ?!V6?YzH{l?.O?Z?j>l?1_7)?]`?}xȵ?I@W+" bB oEzz1[/Ik<#lKKT㜿έ 4xAa8 5x?>?;4})?">TK?emlK?D!I?*a q1?%]?S3I侬?NX?mZ?kl͞+] 1Fl栿9AX頿 *WnFTp#(ǚ)M*n?kU,nYuvkmm vk?Yjm??tX?F4ƚ?GT?\M nW?֏?G?GdW]?7<͞?V# ޒ~C֓ɏLw *z:^(⑿"vd)ꉿ(7嶉RÃԋ%w!`L!X!`?~Sw?3hR?+?q7u?6?r^?)?z[gL?'ԹՓ?hnݒ?4lXJ R房8qꎈksJ%NV₿NrfT@*wbZYul;Sv}:S?;;+ul? w?o?;OK?>$..?r?D??G?iw9?_:?lAC ~My~Ĉo4kΏ~q}w4z^87 .wZ8r*0l*[a/krG?5zPnG?f0/Za?eV/l?dFar?e8P-w?ьɌz?rݱ}?~?Z2?.O~?!\-~?ꛅs t{^tvLj~s@hr_pp'mG_gGa-LU$xI=yN@=?-yzU?F{a?U]g?#b%m?p?]`fr?VmC|s?'J7t?ړt?o8s?>_ε^Tjïjg\{j%Ai7:q w hF2Verpx b^ VUKW262?YA=K?sV?z?^?m~b?$e?B_[ h?pi?sy:wj?tRNB?~ΰǂN?=UT?6yY?zfw廒]?Y`?J*ca?u 6b?d?}b? s_b?7<[\}0[yZ ͋gYr0UWV>95U*9=RWM߿EF/~:nTN!Y!?@mUÓ:?M E?OTM?ؔ8R?L9/U?^O.@W?bXǩ^Y?)dBZ?.iG#[?M{݆+[?ˉnUלUl{[EU.*iSx}R{lP"bLnAOFp޹@Rx54#qeo7p?&ɍ4?D@?R_F? V[fWL?ӭUP?uR? R1S?|2T?źU?m;?} {?Q>7Bp?#d?֒s~kY? uyN?̵C?Wc8?GG ?8wiᦡ?J<}?Fu_ids?67xY j?Etڦ`?IU?:|pJ?+!@?<NP6?M l ?L7)}? 7&>u?̲֏jm?Ac?9FZ?[$*Q?HVF?)NU`j=?A74?Gꉘ z?4Җt?ۆkWn?N%e?~͢=^?T? |K?=sDB?r9?3<2?Vq*`r?ѵl?. e? `?^]1#W?/\TP?0&WF?@??& \^6?} x0?tCi?oͅd?d4N_?L3X?e8Q?7S%J?bG B?u:?]+[3?-?_w0b?G-]?[IpW?GݗR?\[OL?)V`4E?Pt??@T7?l+1?!R+?cgiZ?"y;V?{o}R?5 mv~M?ኤ G? A?gJ ;?yE 4?zV/? Z)?R%ClT?(nQ?%͝M?MmH?P!C?W e#>?'c7?[2?g-?y.{(:i(?˰mQ?*ZN?f/I?7oSE?35rUA?dIҡ;?x)}u 6?b #܂1? 5+6,?r!"X'?z?Kף2QR*fX1[L@ =f =0=% k=Q~\wlw#> 4> Jdbj6IHPJ%a>l!'wt 2t@>BYb>$p~>aOW$Pb^JnL3LZw?$\ƃ{[lOb6s"#>r :>z c|]"f4ُ\ԙִØh`ʾ!ה6Yξ8>+{.)="ZE>^>ҀDX >F'>#[\ >Uy>@>E >c0>Ij<% 3|$OROlTH2\ | YBN/a%L LJkZ)A$EU_ؒo>`#&E*|>b)>^4>xž:>U>mp|>W>eP>>g3>hӣw>iÐr3Y欽w>$kҏ<;oWx͒i|o{4m-}4]5)PK(|oన:>tQr>\C>+>k( >>._Af> =>Z[->"§(>Q>8U>^UZžSTԾUz&ܾe)ྎ/2$f*V>߾o9پ3zCӾqɾt697q>.?BSn?[p#?q=-?: E ?2T9!?UY5: ?)N?NV^?>f?2,I݇pěRNrL"H: F9!j< W5Pm>c Ǧ+}n8@.R$p#!,?gF9;?GE?;qHM?Q? T?\6T?rs)S? ֍P?SH?V%P9?Q?iAϠ˷P9wM"VHqÎՍP!SRT TYj Q!RHMy@YZE;;+1m,)YPAĽF@Dϝ =-%Pmx)rBZ1=0T3=0>{#= ?D=h5{֟="*1N ' =5к=2=[;=*; =$f`=b=!$p =S |qx'5SX qv&._#>Ub"%>U.>zRK>b>>I=u4%=Y =H3bYJBzv'$Gfv>7zEy>,w'p>`Lb>KiS>JD>JW4>u;%>W>}>|(fC >K,F>U< >\F>pח>49=R>w>ipg>*79X>K>k2dտ ~Ŀ)q@J\8q ~A umB1_{ VҿkW-"gTa51un zKi8m`ZxͿ ѣ ^R+9(k ه?st>DdFm2U /FƿOfMQ[/Ԣk\R>by )Wco,^ANr#P9pB&0ymDN"Wa"H{uF6GNE8SC:aRN+ʃHn0!ꆟ],ħEbMt|j?LuXz/1Ös,Mnb3[pxkR'epBF&3{:i9|Tt ~?w+D)fE*=U}KED5𔾫'uZ3MF.zHh_x>Wm)F= 6>'<'E&Y%҅jzmɼh+2:P֛s75I< W?B+? 6!?$fϮ? |kв?,J ?s[?95?R?è?< ?^p-}HwSè]65(ApU%^>ښв¾skή =gpOz#S V]?BSc?gI!{?{?OX?r ?i?=Vt?s?S#&?Q?XoW.$魿a`*{ÿ#tǿaɿa˥>ȿvȊFXƿs¿O{5[7c5ѪAƱ??b?72?(.tQ?G_?+‡Hf?O?E?zd? &?Z¾7߿lg?GRȭ,_#V:hxxi&ƶ#%|(qֿ h||ڇ?uʉ?m?ܬ?.@""^@V<@v*Ӽ@٘$@y73Ŀ?|3?K|S?FYOU'ÿ$M[|}5 $ɪY4.Q`̹uָUۿy+NXe?i9v?!mޓ?Ü$=˕?)ryn?Oo?J5)?a+?.q/^N+0|_'l<7*J?])@6aݢun(jqa̓,h#v UKeĿ+};mտKP{?em9?XC5|ȿ!i׿HE࿞ 俦V5'h?fyQMAel߿:m]D9ҿ@O~{=+?WW{gZԃtohN6oF );1kfۿ.Y̿Õm->qFY?3nM?^ ?[?MY?g4?sDS?&?}1? t?eg?K?zM v?z/?d?풟ý?G(,?Ԩn??6h?GZ+щ?G'w?P#oc?h~M?,%A?Fb?ZFS?箉S?E ?޹?T%MzI?975z`?$*v?ܻd?Ogg`Q?@f9?c=(N?آu?c?h&*]x?#?cꍎ?XɢF,?-o%t?" *Bd?apBhR?2' ??Z*'?L?6u"?-ܕ?{H{l܏?ΰ?{?uA2p?o2_+b?.BChR?ɏyA?і\,?4?VD?8u?+?egT}?< <t?$ Ti?XXV\^?P?6L@?I>/?z&z{`?`o?0T}?0a5UZx?Ȩ{;r?ZZ~Dk?,Ѷb?ㆩTW?8]ML? >J??u1V/?W?I?VB:H?v^>^o:l? aPf?~ge a?#վ$Y?C{Q?CF-_F?2 `B:?K'-?xZ?L&g ?#B >/fxA> [?I8 U?ufbP?.%\H?ϩvF@?=1Y5?h*-()?of.?h_Z ?{2>9G>M6>:AJ?rb,E?7@?ij77?0?=M_$?H^^?ŨI1 ?;+>?Jj>NOڏ>"+>oi2:?u; 5?0?EE['?r ?BH?[sr ?T86>%6]i>ԛhE>ۛs_>]x">J',?\&?FX9!?RL?Q$)4?^ӷO? %>譏>A(/> 6>}9mU>;r>d!bv1qIC*nI'+t 0i A (11Ϳ`?bI_44oR932W}a.CdlnI{k;u,#p!ÿOLa?dRlؑ.ygt s^e÷j3^⮿ƅ:$aˢ^@h'9t7~ ﲞg񎿧PJ홿rr&~Jt}[dNDpS |ݜ#1ZFy3TWfo㤿ʌEfW!<?aLNkTopuSe&р7\R3Y 嚿}\MSP$@\Ce 6p_8 sxܡiS#q[Ds2y R07k[Tᆿ"Om8LkR}NYv>4bbi3qfvJw֯qq^~rQGF$RNQbPdTA [-WbQ!Biz\pq`wtQ2D jeoHHڧ7PoU3b:\+_6\EbVh g2y!l&@qAZѻD>nSJuP!τUⰔ[8֥`PIfcY>@NlBVpEJRK cPTlX]$ޛO;z`<.@@CE wG1KJ}FPf5SUmVU:EG-"? JM?ݧ?x_?$Ys?y "??8d ?L0?U ?y\@zܿtsx࿛Ci0]O㿔jȉz,j`,7߿ؿ®~UѿGB:WvN>#0?aU?Ϸ?ψ֨7? w"?[z?D? .T?:ӿi?<ux?ɺx?L$k4Ͽ=ѿI@#ӿ5XԿxi2տH=fԿK.[DҿEEпeɿB] ¿$(J6M[>ap?lF'p ?C?XCE?ݐK? f?X:7?#LL?$?e|?K4?+:0ÿ^-~ſ_֛ƎƿJ=ƿbVOſM"gr$ĿVۇg'u- ^>e?3LMB>1K?q>? @?Qg?ÇjAy$?բT?y?|ھ?Ra&|?R?d7 ?>v͟Զv&[SNGXE 6 9̘C$i]LM7.4>kW?G?,EEL?V?G$?TBp9?n{ G?~y4S? v?bԶ?']F?Av/͐BĻC2H3κrЁD/aa,h쨿Zvir"yB-uG={G>l\?:?e?Q'? i??q(a?.V?C! ?_̚C?L&E?1Au?Tc̪Sy1ݟE]i(*m>$," Tm eI㊿){؃A~{t(mf >H ?~{?7C?Vnm?R,{?}z?j'O?d?%ʻ?|ԇd?~мܟ?m?P:*h?6W#QXO&ٓ#e3o-K㐿m`ՌԽsi6j p`{wNfX p?i?^3eh?-Ռ?[,j?J3B?skٓ?{WYpO?"?M"h?Sh9?.䆿alZ@̈" !@҈VU-e` OٜPG0q/{i3r r"cdA ɻ!c?K*r?:"]/{?(G?O?$I?wAw?8?]ш?ˈ??j?糤T}nĚ~ E$3s~J/}{9xغ-us{[ p*rf.vDTWkǢK9`RW?~̼f?nXp?P,u?,x?Nz{?~}?Ϟ~?^wb0?]~?ŝ)Q}?\s9s [dsJ)WtWWS&s2$Ds6sTqQxo|үjodn¯C\jOW%%Ms1zw M?`<\?X%Qd?;j?+uo?]q?ws?$g9s?jMt?'iV[s?5s?:}iڪlj'jC!jS%$Xh~:g<@mdJC74a͈/Z$VnRKB=RP0B?mkR?k<]Z?Bs2a?հljd? {jPkg?8@h?.j?m¦j?j-4Sj? Dei?ǚ7bo yb/lbEaI3TaK_`Wg=_[eT.WeL R lHr]j+$9t1O9? 4!H? R? J6*W?equ[?!=7_?4`?"ta?^o gb?9zb?}.b?AW[YXG[PZ~?ZIw$XKA {V bI SA)Ԧ1=t C QBO1?2)A?I?>}P?H(nS?T] tV? X?:ӷ8 Z?(-מZ?L X8[?ƈZ?ᰲU^pNUa _UݎTJS"Q:ߧ%NYI. C$?;=F+O2Y&T +?9֗0;?Z(C?OI?/CN? LzQ?YxlBS?gzT?j 5|RU?U?YeU?׼AO?Ϥ;?]?̸)?.IYc?VOm?|Rvp?}a?L>Q??hB?£]5?V?|LO?5汮?nTZ?X2?X }?/xo?!\`?‡\Q?(ߟB?g㯶6?/&I t?^y ?ι#?8,?0H?c"By?;k?!^?{.P?{ZB?B ,|6?JVE3U?x ?[?yu2?Aj.4?;ɦt?Zg?nZ?i@N?c)A? 56?̛:;?;q?%$u?T]?#s2|?zYp?(zc?^g [W?αyK?_}Mx@?< f5?D)8?-C?ۉ?n?p~Txu?'N*j?AZ [`?MS?i7H?݊]5>?'(64?7 z?J?Z ?x?zY4/,p?9Ýڨd?M}Z?yx,P?>{E?әb!*;? 2?^?ODZ?{Q>y?+Aq?5?=!r5?G/?Z[ut?# Yp?k53i?=b?z\f][?)zS?8MK?}xB?O*::?}J 3?W-?RM=El?W_f?EmO-b?K/[?pT?>.˞N? _i"F?!QTL??##@6?EF# 1?J^|*?Z`ic?m*:t`?mZ4IZ?׍$U?< k'CP?aH?>h`FB?% _;?V'm.4? m.?-T)?2&}\?BX?BZT?/0cP? !J?2t?D?M:>?y>7?G=2?3k},?ұEQל'? FXV? >5;uS?/ytP?kN!K?R{qE?'(oYA?W-;?,N15?_0?QIG**?f&?ԱyR?rRP?Zk[ L?R/D}G?[b7DC?厁W??j[)8?m.+3?ɠ]X/?:V)?uY%?pf"weŞp~i㹽_ؽ*c?4JU=t\T惈޳ӱ8]̧q#W@v>Tt5M>Ug+49;T =Nԣ4{U=Y>~I&x>č>pbTty<`fN8;=Hmc0v5>t >U<>*g>} /9t>`#>20-#>[%>1&>Ml&>#>O>U7>eA=y&OHȕ7o8#l4l&s&0&-I% M#̌"h/A5b_Ge{?i>$1>ubmW>Z 9߳>>҆ >[>j(}m9>> e> 2>#>S~?nm>}\]m}jL!}264Hb4Ρ9j8M x pu+߳"bW3e1t i{2&>~XE,>.>jan&>j?? K?("G.>\Ni'T>>^B>vfj>,je~j־_BȰ6(T E .}  =Jq `Y&}ltA,9y㾵tR@v?6fd:)?bh6Y1?v$6?e:?dԿt>v!=L= N=0=~v$=ޙ{ʳ=Q۝3P§olN<`:Uwy8>NVG:>>L 2>btr%>V${>M7>S"=űK)jC}>P;\!>m.4z>HpB%En>O`>.3MQ>uA>3>FQ){?J ?hH7?[0? ؃m? QY? ӗ F?,|v?ZO`?V?v`v?D{Kb?Կ.O?Ɔ$9c;?LN0F$?+?[G?jFZi?T? h`{`?~G57?Bb[#dDK1g#LWJ aó\U&;DMGAu4('+d;A}zl+`՜ QmBMϟe3h7t%djv ?: I)Za1K:};;/i@,#QhwTF0JYnP߶r%P@ d^0[Nô w54%wfdHS^Mo@i*I90~hB ->缉èuP&%(<LX4 ?uC݂ײ?@&EIغ?dh?w'?BR?i}n6?s\?QWt^?CDՔ%??̴c%Jlw^Yhj6ĿQeWĿzÿETCaغ>ֲJ*d?V0?LsOm? d&?EĔ ?f>?^z.?$J?_ ? ?B廱CD?Ѩ[mDĿ?п+fJԿxw.׿7׿¿ֿpԿFդ\пhƿwj`YK ?q?Ț?IRk?Vl0?_ XP?A[ǹ?oY?AxxX?b̄?ŏ?Xjs󏼿LwiԿl j{X64Z`Ĺ0J=$|&翔r忾BQؿ`hբοi|Կ?6\? hTp??s2+-?bn?Ur_8?vҗ1?@? ?=? ʿ{4⿃g |G~616Wܟ,Х.-z:xFpf?\3Ϗ޿W?`f?]6F^?@ AT#@i8@r~T@=WDH^@B$h@c?iCj4?uu?{GߑտLW5Fᅯ"H YG^vT+{2:=LL#x2I%{_v\+뿱r!?t@U@? @hYɦp\ @a:`: @vAF$ @r k@?@%u? gkطR?YdR @ׄkX=MF$ .7 _i\ O 2dqtgGID/\@a @36@ $\@8H@ @cVs@2o @o,D @dwlM@7?KK{K','XZED xNr 5-m uJ EdWEhH'\jౚI> B/\]y @d8NZ@qB&@q5@y>@xI 6@9[@cB+z@#\Mc@c_ @?lj%Xs> 1j4b[Ut 6]$8>}7&aOPL` Q=Pz@B2@*@_(:@5 @Ba @: 9@^,i@i6q@$Vݘe@(?4ETOfΥW?qNNi=\ ruw5 k@ī-/ ڒz퀥@ h@ @mJIJ @ &hv!@%!@9Kތ@)!zV@ʡ"er@)e7 @U3"m?P=Om|:lL \or*j'ѾZ%!5 iv!5"PIJ 0,Ź@7hц&@m6S@*̖X@<ſm0 @2)Y/ @WCUPI @'@V,@+@iD@FDT XFLNj+H}?f4Dj?/3?&}?J g>˯>b9+•D%퉍7DI&5~V>G-@}?EQ[$?uT>sU,C>͘?q1T8 "6#FMا : 1^ >>|0( >.u>峡7}>ήb>u!">0' 3*%uGpj3BRm}>Jgf>oBr >cf >DjMPc>MG>ǘ>A Dxo Ԟf<߾5y>'9:`>}sz>K>Ơ;Φ>?o}>" >->@\?za-el?]B}?n??r:?SFU׿?,K]?0Bl?RV á{?G4?y h?EQ?tu?X]?ډBj?_"x??-@?Gj?cjG?s?\si"\?q?KFh?u?%)?ӥ0?+ϛi?o<`/?~Y?]Re?Ehr?|!K…~?پE{?!쟉?]ğ?rjW?a>b?cm?7^ x?+RV>?lDc? gP?us8'T?/Pl?^?;nًg?V >r?% {'U|?ٺ? ݺ?X 708Q? EG-Y?rb?kml?lt?ć}?4qq?GȆL?xtWlfT?pȲ]?N/e?LYn?2u?|1Œ>|?4 k?d<&o$q?N(vi?6?;D~?C?fg0?u]3?py?h=?r3j̚׿w\? F0鿡½gւ_?Viۊ'qYbBf +9? 8m?+r?4nX?> _? ~?Ԗ+Hw?UUT?ـ镹?X?<ŏ?RɺV"uȿ J5ӿ-TڿsvSw߿B]r~SDٸ_FrbX[Pmrɾ߿7}.9ۿKlO?45B?Y??З?ߠʬ?o?U-}n??VgE?U@m?I#=R?K졿d`mpswEſ"?̿ƦпOҿӿQ&Lӿí>]ӿDDѿaPοFg@k?73?1rC?gqˢ7? n?u??.?o <0]?n?KUu?@Ϋ+Jj h]N|˜¿Y{}ĿOſʳa7ƿiſH 5Ŀ !f0dFM?-σi?D\۸?yp?뉄?nB.?|#H?ɸԑ}?aؓF?WQL??m%8hLBFcϻ}RgG62 _pv ^۸f3ib@M٩?} ?7L؝i?(*׭?6M)?Lz_M?;uXE?Rު?2L?g/"đ?S? Mm?B!mVI #x|3đa[fu몜}E/H bI` 9塿-{ɡŤv>NPn'? H?VT?!"??Tt$?a`Ls?+s~{I?*?LV_R?J4Zz?ʱ>'a?WaZ4gZz ,R:_p?QI. )93<$yn:ꕿ*XE3C:TZ'Ή?F ?v L?Ri{W?Ɨ8?9[.?3"/@?fȓZ~?<z?71j(p??k@U?K*UNpa4Mzn'~ 9@x.RZ/7S WV,*5j1ΉJ=jI?rY `? ֓y?fxQ?G?\ m?+m??5Yl?~tj?L#6#dh?\8e?W!XAUa?u Y?znbO?IP5?ViR5<#SOgF,hYiUae:8eI3dh߷Xjx$Yl&Umg mEvlr0b?Cbb?1hJb?W+a?2^%`?l<雭P^?qǚNZ?^drU?aO?y~C?WL*?nN*)rCNPObP:rU4&NZe-P^=w+`$*Ta5Jbybb -b;5U?aljAU?DPU?TǜT?M,EWS?YDQ?J[N?(՘H?Fe#1DB?t_\l6?%?<?@zԞm6QUӹDByGD>HmO\NsQ#ybWS{T9u؏PUzRfU6z4Uu4R_[ۯb͝A7{(q}ʅ&lY[UKg:9q aR+ccY#]lकrlw[{؋^l\W|AM,uB=!$Z/BҰrjc;IƋ/yuhbʴj|"3*\FͦM??z^Ȁ1-*F d<̢`ߐ/YY&IuIYqhp~Z3@ MHFk@I`t2ߟ88KAJ~bCFp0r G eJXToheK-Rk2m? `2bvŕ>Hv3{5 20x괂m5ae n1rE>+oX>zdf"1S7)[@=%^5N۪A>E8Lrl>/4i>+-C>>†a(kS5XtsNAltlhod}{j/>B>],Y>.wvD >EX>3/>3[ {!>p$>mw&>=&>,|#[%>ȝ;">^i>@Y!d] > JvbY] Ko]"$}R][%#z &o9ڿ&kVBM$ z!iJM/,7Vut=f X$6>&pv-ʡ>bRʪ>/QZmܱ>&8>S>L> n*;>;Ãi>>r1] >H}'wA$ з 7Z%;5/☮FrY'4 YܱqʪBLʡķ5G>Kԋ>D3Q>bvv1>5?+>𪗔>ejQ%?ۇj(?]}!?#4Ac> >+I%#>e~PȽ״/#澛yM[ m.`X(m|RK+Tr{f#Rƛܾ΀?yg$ $?e?.?h#4?^=8?l;?&%(Yb^=GEi= G%a=3dS=+ȖD=V#8=UyT]X:p$*=\4 =t⡮=j}W=7=R[;=f!l #=;;al=ۖb H@h(Х\RVI>W(0><> 1Gˆ6>m%+>({ +J>>&..> =<Ѿt@+(I,@sS/>"Q2>O#ijWt>T7f>K9EW>>=EH>^ y01.>U-??!&5?=R?PQeA?(Sv?~ r^c?KmP?>w ??H;B &?r?2a6?ޒR>?B8m?~, sX?m+D?Mr2?]u0=?MG᠖?R;;?[ s?10H,`?t@J?zm,a25?c+䅞u!?pQJ?KYK{?çXw??;b?W`L?ĥ4?f|uA?H!L?R N?}dow?WQZɮ`?NO)F?*t)??1>`I\idZ~fMBY=Xb sIN7]<;7ˋ,v,lW+^]G2bTSJC>'3\4O$A K8'^EpFNeWlFGfrx7W3I'{ ?@/\VV+ߘ5b߃Gv\q 7[]&K[#x^@ h+u:cEs>r߾tɝ?LE?R?GR?ۭXe?e,LN??!_Q?V F?ؖÏ??fԿxWc_nAqFt'FQÿnpFĿNĿe¿.Ww㒾ztD䶿y 2A97ɝu8? ncN?oQ,?%?nD?9+X?ͷ>?I{?p&?b!>T?ThNK?BJ#%_B-9[ʿC.nҿ*yֿ49׿S׿ZAտC!T%ҿ7c ˿PBEN¿UtP ?gyf? E?p/ 4?$?f`?w8^l?=?r?d^ ?{IVT@?Q],Ni@̿Kv ۿΦ⿀WZl`迚kb濥fM3sݿGԿe3 ſ ?/9Mh?y^?uEN?Eהp9??lO?{/?z??M?Ud?ˌn(ǿƾ]&0zٿ٧P䖳mZ?w"-LVy=2G9RšN6nȆ,'K㿾F0[տ#QЕ&?!Ʈ?eA?w^"?zE)@*}G@*@TUB.\@~P6?M( ?Z?"U/FԾ YZ. t⿂hJC.\8yGdQ>)C(ݱP iAsA:JPp&g?l@`?Ղ?@9= @ ` @" @w= @Xt @|X{@'?)P*?ؐMPkyu *Rn+e&IT $%hv=  HF_ xv+ ]?޿>Qth:H??Ȗrɯ@ӓ @^qX@zmK@]{+'@mʪ@@zs@ )@HaKKk?dStO0ck:_/4qsm@>8W)'k K]"LQfD`| ʭ!j=@ @w%ˁ@G>@2^-@a+Zt@-ή4&@ @Ԭl@;W`Bh| @Ynw?ٮ`Îw`@v| il|'gu^tH)j%8X(xІu V=Kdx@CNx@zƨs@56 @׫O@GxC @%+@x*.@=B.qEYUrf{TY;jmH\hjz,X_h?e"?ʥE"?\!̙?Rx%q?VJ?>D^ W>'o]G"=Rh`DD 2H!@*?b3?dԧ9?ܸ/ ? u>ъ+36>%[ˁ>iIҨ/?E!0-~uZ) W3Z?u?x?6T4wG>82>B׻'>0@,s>n.6)>3F>X,[>͢>)">^>6|kO>BO#{O)9=-za%*O>7)u>X.n>qnӤ> @>j=>x>P>:i>;5Ә?  GVp.\>m>Xl>BȎ>nY+>VTZO>Gc_>[c;>2*U?Tfd?%IIt?6fU?Kn4?xE?;|x?Hfi?tÓoV?ad? 4Os?b6\?##?5_OT?ni^?R[ (ƿ?pCV?ż(޽c?5” ;r? ?kS?эmל?ϙQ?!뻩?fB%V?zXb?Mp+p?=#k|? td?z?V / A?AE ?ۗʄT?m|`?΂ k?dw?Da!Ճ?K??$?lKwa?٦vR?tm\?Kܚ @g?_qr?\0h~?*eˇ?6?18? ZQP?ė_GX?5ϝc?Om?@0w?JH*L?ުSX?Gh?pQM?IBhT?gls^? w;~@g?]"Jq?\LŅy?B5?7}r?[# H?1 Q?FUX?uhla?Bi?5Pr?t?x?m ?nrV0D?dQK?sGS?9K*L[?}c?V_j?!N@q?3@pu?l.@?%1$E?#?EtM?gG(tT?*][?EA?ꁁħD?7\=K? Q?.5U?+W=Z?`bSI/'?T-? W3?~z9? @?>nyE?I"QJ?O?1Q1?O3)?tO?+_?۞[?!!J8??0K?u?aޙ?c?iw?LX? *?1qݠ?"9?ʏCX?͒ޔ?C?,ؙ}?yb3!?#}Lr-쌿?}ޔ /TXmDp4tݠS+ҔBV롿n@ S-QXY2g?Np͔?t?v/?.N? Iw?`׈?7ɹ?Da`?aW?4Iq?z LqBxWwUyܹпވ /w2K8 Ve ͔QQf ı?ZK?3wg?W?k6? y_ !#H?d$|?"|v?鸲??X?:Z?|?ѭJx?m?s?;Uj?;Z?YZpu1Zw1CUjmZs ,Jx>E|_-rpN'3K [_6EGҶ]u?-Av?!Chͧv?ι{v?˄Ĉu?I7M5t?lݾr?B灥n?]u h?^Y恌`? VP?$/~l>P:`>u h+nVr$0AL5tTwuh({v)1=vZqr@v>fT\uHgk?Q)ql? yV6m?*vtl?̝Ak?S}~ri?V]f?nH#[c?Qi'O^?NT? @8E?imSv 9E4GTV&O^L/2\cA*ruf}:yi3,H.k>dWlQ5m lykP}a?v ŕPFb?db?S$wb?w¦:Fa?GdR_?=S l\?$c?W?SѼR?FcI?)'/:?S rf]0:zmQIWky!Rb$Wŵl\wE?nN=?ϐ[.?Pa7R Y.Ǩd=j΢ÔE\Ø,K2jP}wdRGo< T+U-(ifxU"ԑhUT ~Łƿ`S΄VWھҕb%4VrrOt!$\cVhڎV_S؁B?2j~]_PGc'RD1I 8E-(MY6T쇿~& @s},sogv$[PbZ QPfEFCP37,"SA-zN+pW)ʌ _X w*Ԣ'mDbSl[W\!h|LG*wAJ5mƽ,|͖A{9f=$yaUqh!܃3gEJ^J d9eS3(_Hqo ]>CV3L dg +X,Wxz &r+2[]ir`aw 3`W wOa8D0v:i1ח(5.u5sj Fqj:[cK [,-Rĥ@5D9^ĉ2%~x*8"W]Ӡ!0d ЅNzoI8o}YY$ ٴɠ0v 6UG H\)gW=hj8̽-ƞѽ`ɽh &=ͬk;>~%">Qd#>3^Mh|Ú\te!!GlK$)=2>+3nW> `Pu>uZS-ܯ\o[da;ΤW-`wo>!? >{3>y?>4VyȒk=۝۶ѷiֲAݡ>>TK>e(>{ ;1>h5>&u=9>HA}:> ju:>"(7>H{2>](>-1 &>~<^(B0X{2e7w"bu:9:sU__f=9ea56Ge<1r;YLh((Z|>.ʆ>*.>ڝj>ԛ>0M>/Q>Bl Q>i \>ަ)TC>FGo>L2Hov1E I{"\WQ;Y显?M2 ޙjٍ5ʆƊ|ex9>.?>:FT>{)o>X >7>5p>.Cy>9>,5+>7ƈ>f<Ѿ-:۾aX欩1B(/;mTJ|)VS߾m=J6پl Ѿ:žT?3(?q?&pZ?B: ?\!?NDp!?8Ƞ?Ok+?*:)?TFG>p-cG\>)Z+ b*.tk! X!X/ oύ2~;.W2S`T+P'`6?pSZ;B?xJ?Ʈ7AQ?A/>T?U+U?يLkGU??MY S?`5RIN?\csC?wW܆8*?U*2WsCUĚINQ0/S9eGUتfڒU852Tq(AQ| ^J^yeB*`6yMwUk= 1=2=z=6B(%Vtk=nΦ]=jmnO=ulm@=Mv1= H3"eG,&YJBҕ=M'#P4= Hx=f=]"="bE=E='Is{UlrHMyXi\ J>TYn>+$>FJw&>q5=J`ʗ=Ϭ =(-(|Ъ }و8&B/`>/22\>݋]4Q>wq'D>TqK5>&v&>|e&>De(̾R[tF> |>U: >85{> 贌\>OjZv> Ȳ"g> 7Ċ:+X>zǧ`J>7Z?`~b?=Ͷ?#XePcGE2 u?$QZ?bP(aK QぬT۾t]Eo??ch?%#p?%s ?^cb?@ ?9s?Ӻ?H ?=78?Rدب?GY&"jKzҺQsaLmb3}6]*OJDKoz~_?65jݽ?;J,?YAsvp?୶QB?n??8?;L??Z-oڹ?B4?Ӧj=0$f幻8%Iſ"E98˿a aϿ%JϿpBBοXCcpʿſ]sܽ5 M٣?î'??rppe?+i<?Cd?ms??`?<6C?ǐ?4x\?i\1qͿ7:C׿#aݿH%q/Ɔde!x\eݿ6׿Z֨'ѿ8}Ŀv;?O?ݱK?c&QGN?p&f?a$?~fQ?eB?zb? u?Leu?I7ÿ6uܿbC쿘Q|?9POf5N+*迌)եSտ2?3Xޞh?aDm?6]o?. 5H?V?d?!?W?l7>?0??b$п36> 4C) BnezZ !Ěp?+HTojh]޾);?UGB?WG@`1@fD@|eF@ Y@ྐN%@$R?3 o.? lo?qڿ: # 'vdFtbF6Qk{=ݸRKG6w%SrW?2(yUy@n  @* pR@۵˵@)-6@W:?@F+ @z@QPm? ' n?{ Nfum]H^cHQ?TԖU? lP?/O\C?ϨM3? 䝿6;Ew֐u˩T\ FEŰ>KD?ኄF?^??A`b2?+pI!?\A^{@1>yrvG1]<`GCA!ۊ"?ob"7?5a#76?AP7 .?CYy!?לc?x iu'7j\NG"f"#q< ?_Yʁ)?JUxNl&?0_?T#?r?fh>cbGdrHViWnF)1*p?f8 ?;ɶ?1VȺ ?P`mr?fƫ1>YY=oOS²zBn1)x=NX;W>I" ?W ?ۑ#?uв>`DS?K>C8>r:n3. UT塖3( ~J>e?o=>$IS>MjCX >a>i>&*2'./~:oj>>>vb> bR>:ƿ>9<.E*j0T><Əy>џ>>&(>P9f>m8>B]ڰ>AYu5>Dã^>> ^>^>c>T> rb>$d>:k[?m4ik?W5vA/}?fVEԎ?QJ?+?gW?Dk]?%4~l?M^|?y? Ɯ?'[?\_U?C]?zk?Ldkez?B<@?e,?EQE5?'/?mK\?9m i?YjMw?r5V# 3?S?(N0?JF?F'][?#̌f?Oh~s?|2?\VVF?jD3?$O4?Ӣ+fX?P_Hc?.pp?cv8{?D?b? @B?LqU?pF`?\Ϳj?4l,u?R?q(Z?/!&b?cbE7a?б%ff?ߛog8?6(!@?E?wM4L?AٯS?g~ )TX?&^?YL;0?QT+5?oX??sPRѿZ` \ۿ5:E&ir<&G/ 1E@邌#-Fl翭n.\uDkYEm?brv?U/?ds?=1?@?(١WX?8?)/?Žs$?y%;i?wi﭂C̿yL8ӿ0CaֿCHٿ&/9ڿzڿٿiuv׿!< mԿ:nr?7i?/k*?td(e?nq?8?9?PkR1:?%sNK?{n?ExE ?BMy?Bбy_:h%ÖBn0{VĿ[Dɿ B˿/qͿz,kͿ>7S̿]7iʿrǿME ??$|L?F^P?H:?/7β2?ݮJ?&XxQ=?aa1K ?r?Meq?=1uՙ?" wٞ?0g_?c3??5Pas?CJL.bs~)-$oxu1ٞ8юݙX3Rͥrw~bL ϦfԬإL]RUIp+OV?B' ?:?ڞC?m\ ?e?P4s4?~w\?x Jt?^q?͍f?^{f/ۘA æft|o\'z}4\,l9) :*ɆγufV?8?ٰp]?dE?ᭅW?u?Md(Q ?GO[(L?xϗ?!@!t?$ҫl[? [2Mtʆuz9L ^ C {!&Eg^E,|`]}5L|?r,?|?o?ń?UV?7yĀ?${?Ao^St?̻fPi?_+7Q?<'YQkq#Qim%t>{$ĀkY ńJpȲhiD򣅿X ;;r {?kֻ{?& 5|?zr}{?Tz?G|:wx?,Lu?v8$Iq?Rɯi?B _?PKNR_E? C`E.q_,>i޺B:Iqȥu9|x*TzL^{=D4|,XsR{W< {Eq?hL"r?V-r?m6޽q?P)=p?Pn?X2j?2e?#"1`?9S?W 1:?H:z،MS1 1`'CEeӽmƳj\k-nL8p`.2ǽq;D%-rQ>ő!rќ q'f?5Cg?s1g?$f?RHK >e?NtQc?:`?,d[?4 HT?HYaH?_0?7팀0xH(VqcHTޑ9k{d[Ѹ`昿3Qcf>eyJ,f|01gʃ-DBg-Jf\?Č\?X\?n2 _p[?)gY?i]cW??oFT?oطbP?ŐemH?𾒌=? W:$?CvI?<$H>ңo9nHP!8GTScWyYe-Qp[2XX\b.\E:\GqKN?N?#@cu_N? TM?UK? H?>βlhE?s1A?_@9? K/? p?.Ghtޑ%;/0w9RlA;z^͎EgH0K!&TM׈S_N#b NJNJR¿ׁUo~BL;1u}ll3ֻZ91IjQ8BX](&iɻ?=T輬 R!.|1l˼y?n\kMBL= i 50)_l\ 5CWy,ul ,ׂw=U*<~iJggBs[yMMB=ߍ@׶+2R oE[+?W>}YSgsl3fJYYHbSLK~?:H21WnGeky3#=%_h{uzpprnsc<`EpVKJ?^4Ŵ>ix2`/L0]ꈿF*WS:FuzjV\W`MgESqGVˡ7`.t-wTi_q Cjbw?BY4bQ'S G`xTdB>?i֧3/]5++Kp|CHIai4D4c:ϙD[@Sm,-KrBX"kD8zSM0By;C'}Yif+}a%I[ET%MMW D!N$#>nYK/5@aj-͡ w$\1bt.-Sl EJO! PHeB^f8<˜R4b1;E,p.@${(pNl/ɕ#_Ew-UAf]BԈ;cN%35/'Ra+' R}YivP`B@(h•uN;I#| %vȽN?=bu=7ȽIn|нNqVҽ͉/Oep@=w>"ډ'>ԕ 2>9 XɆ/YB!ZR$ ~#5=LgD>!`/d>w<>#1PU{OXayZ`TxwaQSC&>AǙ>׹{>gfw7>7 8hӂ3= p$$" mGm"ۦ4}}7fR6>@cJ>=_M>h#> E->s3>vMj:7>GЇO:>X:>2uEpZ9>vx5>V )/>^]Ya >:tܧ,2a ^L)/JMx5fjZ9 א:&{O:a": )7sR3w-as9wS#`L7t>x|M>*]>ÈX>0VS7>=j>dW9_>up>M9:=>+a> Ai3~>Wй~`A~+Ypa۴9=Bᗾ*70_̲7HX[oyLh^59tyIU>3`>H>lvm>hɸN>Cda>Nr\>z9>ZW>_>A'>Kl{ >Rr:>U)]ڤ9;:ȾZ~ ׾, ߾w[⾍/k2Z<"h\a,W2ܾf:ݺmվ4IPYEH̾<̍4ߪ>S0Ba ?AR?M?_{?mM!?"d"?eo ?)^?*?*?'`sd$ܚmUl C)"D!GO{*RIxb$a XWByĺ/?F=?IFRF?رN?u%R?<5 U?0 U?4_lT?VD_TQ?]g-I?37|:?oOA5dD|:!j-I+N٘^TQ[lT AU~:* U ~RMD]tN}3F4ŵ=%2?/kuLsЛ}]3\(=7z)=.T9=;DMx=rUd=zS= D= 6=kу)= 1.8_u%h_[O½Q21=̃@T=/{E6=O 'x=a=CK=Op=羗oehnXX\0$D>(D,!> >ϒ= >U ɱ>d94q=D d='P=ϯشzN+oMd[>3&`"a>D}W>)tK>5f,>>/><!>{#GL~>XHyoQz>7|1p>'̦>Q: /wf> Cp>ő}c`>H~&Q>m5WmD>yQ?ab??z?v$z?)(H Qg?*T?I+"C??R?t`?RĊr?$?m;lXr?낾H_?ğSuJ?Id=n8?}C#S?V?J53 ?RRz?.$f?aq[4^R? >?_d*?W~?|#Õ?}Iu?$(l?+{RV?DsɭA? D*?~Mѻ<?j2;? ;?A"Bn?ՕMV?MRwd??Vb $?#?1<RX?g?=7&]L? U'y(?KSs侩"q }?U C(2fjk@?jݬt8=C|,(EM+p@ f -V(դ[^{wNrA>J.ܫ;9UjNQH 㦸@&;|50y] 'gvkt1>M@G9N>sr(.qƒyAY58`쏥 ك^Uվl #?~DT?y8?x ?;R?NOl?iB?VQ\?2v?|wg?˭?a:G?_%YXNGh3\E˭ }v!܄\J;lCl6C鶿ar貿Qo3Nr28- *Jb'?d?r_7I ?r$?T1 ?:R'd??_Z?ǹ!?g"x$?EAز?l)J(9(NزlA=])zi)#ȿhͿtϿdDwdϿ^f̿ԈǿB2 ¿ا>'k7?"3?T< ?ݖG??k4zp,?E?"??6>@?̝"?uկL<"ĿE@ӿ6ڿҳ*߿jjED_j,<߿>1ڿ6pԿ%}˿'#a??P9b?T̳E?k9=·P?Q?0? R?za?h :?}LP?]Zpc[Pӿ׼@qz>(.52IrP2X<㑷ܿeϿTz?,B?J(G?=xF_?=K?2VԱ?ɻح?.6J(?n8Ӆ?l ?Ik{?tξ࿊};& օJ(!խj<9<YG"6_*G1꿃ncB޿G$f?(B?+@M J%@=@&A@k4@j%E@]#;X@MmIބ? yqy?n -$ھ3l2I[QdFaBvq3F"A&>y%+#F*f-Y\-?juc@=@`u@‘ (@is@R"@,U@܅ @U⎉@ڽZ??n\NM`?7 BuYb5&z?gt(u]rD"3'lK `Z!pq _r] 8mq^ej bN) @m@V@Sǩ@û@qQ,!@8uUO!@!gf @T~@n@ڶt@@,ht\Bnd+Mf jdFO!R,!JgB*rũJimZ| Bab @ c1bW@\[eԧ@wo@~@W*@@6@ash@>Jq@=- @N*v?v:FcrwIDA Rq\[{hzP$="L|h#oT֧a/ Ynpb v%ȿWl߂ 8!e
  • ^?5nmC|W~&heA:?zJ\U?UCfS?H!y*J?*Q6p?Dk,z΂ZJqkvd^bS}J_d9z>G'?bA#)?Nj"?q?)|%W?<>“\f/j]4S^Pl43=?s ?5O!^?I܃ ?"n?#67ߎ?zm>I>FSyH|1+:tm¢%^r??(') ?aQy?'Uj><>">7̿>;@{ 4d-[>s@?:'+91>54/D>2|֕>%g;>Va7>s^-%A!3gEO L->2AX4]>6m>2ߖ>ML2>)*>"Y}>U´>wHU7T u7rIPzӾu  >,8'> w>,3>w{6> *[>d[<>v*>10ɊlUě[ S{>Ք>Q>>r!o>=F8)>OY,>Du>?7S? n\ec?B yt?12?PXOi?+!ɩ?3ߋ?S??EU?1 Ud?;& F_%t?z[)A?ܲY?p(*I?O???V?u!,d?Os?i cD?HRuh??ɛX?KB8^?ÃM{Q?BL'V?ߚ۱c?t6>?q?F╩w?ꢹt?ܒ,7?LՃ?_Z±? Sv#XNu?/]}?"Wm?F)F?3˵N?EU?R1RT_?+O8f?Z\n?SPcmt?\hz?FB?sAH?,=vcP?w7:&W?/u]`?5#Of?al?F2Ӽ-r?6P=?ʞB?\+$?I?M(ajQ? W?_HO_?= d?'|"h?&41)6? ?5ax?zb?Dkg?(];o?pп<տb=Coؿ0sgڿZf9iۿ@gxڿW\ؿSV,Cֿ"lb>ҿMR?C!?%œ?QgtA?Jp?+C?>-ӛ??sqi?ׇt?E9N?/k<kNˆS j¿J4#Mǿ͸ܛʿlE̿ ͿgZ4zAͿnƜ˿ '*"ɿ)2ſA_`ع?tz!?).+̰?+н˛?7x׼?>")?c߶? >1?T>,z?(Y|?TK6?6Oa56 |z0tX>Rl?붽')]ۼƑaΛTBΰ!?3Yع Q?!z[?jX?'&2U?jbU?B!?R e?qT?P?DU1? ,՗?ZK#oߴ}8?g1Bv%P4 T;sXZ.wď}BffUh'3UJ^Ws0:[KQUV?e ?U.[i?Ib}?N]nۦ?zlPZѥ?z&?NF?$"?xGђ?WxD?g9' #6Dm]ђ'["ׁ l㣿_ѥUu pۦy{ TiO1& \Q~VWQ?j:?,p)?vcK?C&L?:hC5?FQ#ɗ?].@d?!?6.\.W?1Lv?뿹mR Uv !LW dr!J Kd)^+ɗ̆`H5 m6K=Bo\ <9t QE?ݫʑ?(47?c?]>?y:'i.?N ?aˈ?w?E,z {? @k?B>{v_AJkӒ {*ꖑQ!ẄF#/R' bG%6)'lL:$?f= B?dz??9V? )?6&?ƥ~?)ԌW*x?ެp?Y>Na?i[qN<a ;p+y}t*xRHR~,:z$)…nVahㅿ+zMA !$d ]z?u{?d 6,|?Rb |?Zi{?^ܜbUy?zؗ2v?Fs?0En?d?4HSDU?E끷Tn?4EURHn d}5EnH)Fse=vd0aUyWV{V |=K,|;{A ]zq[jKq?&Pq?|5_6r?<Dr?@Uq?,6}p?:iFl? ='J`h?2 c?‹YX5trtQ6rN'qCpձJqm*df?=~g?]7pLg?<֨wf?pxe?Ojz[d?x\b?m^?"ٵW?qP?s-`g@?Յ hV1Ծ@LPrPÔWt0^bzX~[dpSmeVJfiLg276gcf@ o[?tqg\?ÿ_\?>1[?큰 Z?¦+CX?H7U?WxR?iL?M@LC?.확$4?xcdl?x`4?gZ%?ze!CV҅QG`MJtGL&JM|NSyN`1MnZZ ʿTY e짿5%`CjthVx`c;N9uRW~Aՠ.Z1n/"Nÿ=L rO|b({J9X6ctP'1dT_;~CeD]4p$O:&2jԊh~]UT~1\bW=sc=pxT9MQE5ғ6)5)~+ ϱn 0Xťđj^='iAXMTqcbVQcT,HmNuI]iE!]q&EQ^R Dp;7>M.z|BU:w[fgBsz$p7djsYCNa%hBry6u-qV+NR}zsk tOU^jbW`>0pUU) Jw. 4y@ȶu4j1 ,3Oĥos'y|n}/A]u m[d=4?$[M^gQHFP8;<\x52)8K'ɐzߵ t-4n^Q,6fm_:u7UEF]LBxJS8 ,Y0W~*' ]0rY9l CZfmS`{mW^%L7bP(GoFD.nA>uL4m\J+P'#[ uYhM(dLɰJ_&WN0JQ\R`MH7YJ5Hz濽ih!  1vLPųWO¢Wvi*M5mO2ZsbCetS@*??V?~D^>&y% #%v<AvPOA@E}dZ@q}ϕbԫ,/)x½0|ѽ3#SɳC#~ߪ3Ž1nƽ hƽ.oDGŽ ǃ½!PNU3cc69嬽:T܏!=D$=y~ac=ax N=1eqv=qMG="v!=0L==q@=Gh]=IQn[==Ӓ)NAF]bOns`CF+vʾV Ǡo=C%='j;C=]!5=A*؏Gy=A1?S`=%f I=σŗ4=qĦ'"='ڊ=SPW=ST"Ox>.(%>'\+ >^Bdb ߙ¾L>kѾ[T`ᾴyZkun4 4o!*L..(>عC0J0q0rQ0؊R\.T\,Ğ 7Y(FԹb$ ^X*80GMJ>+m(l?)W?Ibb$?a\(? [,?|="1.?pbP0?ģʵ0?650?.#TC0?L.?HKlH5b׻uybRK'aU2䠿)msIs-ֽS+ȿTvҿ ΐAڿ(q 2 H2z?zSX ?B s>jJC>.>> LxV>->[fΔ>]~b$>HSt>xa>Ѯ3jH?L5 wb?=y?l{&?Ydw?^3Yq?3Ӓս?M8K?s_ ݲ?qū@? ?uky?cZ?hh/H|Ly^;vpؘ#W!r` cncRÿ2?Կy"e(I|- !0Oe翷Vxyloqۿ_7Կ 6&-WJȿwq8DCD?ԕh[J?7 a8?6+?ửy?V?Ƽ?šG?A?0zr-?>'{?6/e?z6R׿Eir4ɿͥP f[ʗߔ6܂xxdm1pō|eD!7J^/ʠU2 P܇vI\D F5z?? OoB?"b?*?0L0?!Uq?N`?tgp6kP?ۡ/@? B.? Vil?_R?D44?cP?mg?V!?Vj˗?MCZ?@Z݂?դi|x?*3:5p?He?B M[^?Ɛ&U?o23P?VtI?p2F?R`mKZE!jԤ*92A2.@('7رCByNB}@T]|d= Dy|w9.fi4^p-sݺ%"$-~D9Pb?r<"?>-?Sew4?2_a;9?$IW >?6@?%*B?݋>C?`/1D?M0'E?'%KE?tW4D?+B?B@?:IÕO=?T_)N8?I5+4?T;$0?O)?ׇ#?28"?o13?_Z?!: 5&_q _4D5qAIQ=jvv=1b=ax4x9=Z_q= DŽωZa½>ýi~7NĽfŽ1pĽbo"8ýbqSntV`%b&ƢƢ=yV=_ٛ#m=FuD=`]8=.c=ѱ:f=(=z&=z=9xEK=Z s=/](l=8X=sM`7=&RPDY򃢾ܖΜhҾjmxk2G㙽Ѳ~7Xb`ԃ6X5a-ٞH Ms>|5|%>B~)\x>Bv > )e.>z>'&> o >Si}> k>-:P>{:?{wyU?{5 o?]^L? 6? ? W?Vc\?`i] 1?-+b?RA7?aoq? ?$ٱ?K>SW6X30lT|{Of~wK }%gb8=: =?n!?}w?h5*a??&3X2?;*#k?-H?oZ'u?.?$?_Q@Z? ^?c.xneP ѿ-3 @¿1 yY? 981(cJuy!H5zйN~dP_sKjD?$bDfzY RiwLV .bxG{7E0xB?ܷߨ? i?ly=Xɪ?O?<?2fXpx?gvYg? ׅkW?CG?{-U6?f>$$?~?A_.? ?U!N?=U\(y?IWC_b9? Gտc?%?Ќ͗?NLR~?3vs?LTݓj?,b?ѯY?sQR? IRL?(gzG?I`E?^:}"{BPgG40H&iMȰ/ 49Vsc>:U~eA9=Ccm\]D@ ZEoK&E(?>Dk^cm2Dg 2*C.;Ac$?V;&u7Wɵ1p% (xH'֕> 8u?`4$(?^ 01?7?Wk>;?&S @?:A?4RD:C?Q\aFD?XOD?zHDE?z(=E?}+tlD?wC?ˣA?i{??raM;;? B6?O#2?A-?2=#LӮ&?3Bٌ ??kFR ?(gQ=>ہe=>$=^خo20=@->M=m8Sl=M cX=1Hڙ=Ur,N=q݁Ҙw=] |,(=.T-D=|зĽr ~ T"EkcݐK_6=(n¦=?o=wu;F9=ŝ]=/i~=}\n=u=aش=_=l=L=Nش=©_== .q=Qo=xDU=s)5=8~7ň=GijH=bKuU=Ӑ=.֎idԽ0{ kX1>%5Д>Uũ)i>6>-e=M=F3n=?p/ f=2T i=zظOtN=ks1=;=oa=M;u >h>,D^B>C]%2 羳c٧"mO(d%Ed25!)* ˨%)29sm@vD!:IxG(x8?G(1V?0!e?FI81wq?x?v?6[Ń?hUP)?;?&#k??wڎ?\|\ڎ?%!?mk?QA?rJ)?QJIsTŃ?ݼB ?obx?_]wq?ԑre?1V?b18?{mU!I qb`bJ&Nxz|:#FbN([oĿñϿua܊ֿDCO޿-=[忤(ԙ f* [ 듾0վ>L}Qľ͙ ]+x7<0օDNxoKsnLw)IXbMLx$!)"#س`y='ZLĿ jϿ tֿN'[N޿0D⿷Zp志7jbn#.]!"H⿾Dn^2Ͼܾuo!~n_^w τ?vj 51#hdQ^-TPG35=]lm轸~?!l-_d˱"cMj ÿ,_EԿ̀eSLtKM7=-M- {LHr]J[p*HbE̻\CAvhϓ.>]t40:8e7|.`k5Tᔅ&4\3XC2Oa#4;(|b2.n*e- 34 x2dӘ>r%\"iw_Wwf>rRB^x x^ % 狨 B)!gxf4k`f#[>ܿp[~ѿ8Lſŗ5}}[Ye u_iOy{NHɉ |eupk'oD׊fmLa3-k?\ 0YͫԿ 0Q[(ÿ&bk\ߩ Z~鎄^Qmޱ!U\ K^>;awi=,֤ nSܿs0T~ѿ{,Lſ=5,o`[^lq x`9zņFfѿ-ui]oMrfnԱaq6C\8ZMYLs;~l!}Oۏ?"D70#}䰡#C!p#ICD39R#QZgƧ"v!-G!kLuR KAV\<(WpBj|y4y2e4\Bs8?]J=v hB)+Î$F7KTd4dA)ze@u'De4 a DeSeeriKd0 USdْѸc㥖jb&b8a!5`oK^=\@\Yh1TP!wKδ,JFAhAhG*;!i65T0_|)-) Ӂ$CZ# PdGkJڑGOUS\p!ӒthP8R"SNk|RpӇKڒAg=9=Ch=W\C/CḘ)NcMz[=WG[plo3BZfg,=X=k=p>Kc=ۍT=t"=/hu =wlrľ=XíX=\4=uO1=y=.="@I4==A 3I=DG1=D M-=Z@#X={Gľ=ă\`=~ό'=yaC=v=]M=z5%=т=4O!=ZI:>̙܃>] R>~ `J>4T=sx>0~؅*tӃ>}*⋯>f?`3>钨 ;\(pgpk /JUpX ny3ilI1n~Xw(b:: 찾 03ɾ/9hؾ], I怖BhOo񯋘)ݣ.r;y6mK;ɾxhU,L߾ } ioٰK_!CJ yYR%b\H/#j6WF&=.GB3EB*$HD7>(J?E(0`?. 1l?xu?+IHLp|?AX? ?gHű?1WV?l Q?G2?"LaG?IS1?Q?瞛V?$򿱈?oc?P?# :p|?S`u?G1l?C[30`? ŴJ?h@>${|T=7}(_Vn{p%]E[q5G~=Gjɿhqӿ5=oڿǎ$Mῦ~?\'>֗()4LY-)єzj߾#8;7%ḼlzWP5ܜ-0"ٸr*qij$cT=Bʚ>^VQnm`QƣsJ??@:G#* ɿ\!$ӿ<{#oڿ)zVj俅3c`oau_9^90>䵾fƾr#4^վUAёLsチdXd["3,,K*ekmEZMEKbkƽU!_iudn?t0j2t)˅'VV dFTQ֮E˿I@O޿kCkK>9L a]Ma)LPKr&NI< F^D1M5B?@YCb d&ddgxֿF7.E˿xNKr&*|dwWQyov/(t2zu=]rqjT[گlc;O_.Zqw&XKN=_ y~*$")05#׍Ȏ#I[/#%#\j#oE"n Mw!%ގi (4sU3J$mDj`}3_E4?PW1se3Kk*`6`°:<ǣ@'ByDD;Ikq),NER܌Up X\P[sw2n=] #Lf_^sn ``8aYVb(>N`c:f d ՘2d$Cd|WI4eBC7Ie i4edn\pdZT dI<_cދ˕b?i3ako` :)^_J3]E5}ZR[lXWsU+6{nRQNHOH8C%oev?y8 3b){>Nw-Rv('n06 q"xo^U І9ԻWE2=& V`7Xѽ٧$ pFx R4Z-~\Ͻ]0bѽL%]>#(>M p>b`?j՝^ν|+MےнD 0]>H!>+;xh>E'?Ơn<%ۚ?ϗxr`ڽ@g% @q\Ȣ*|%׷ׂ(4žpm%:,Ӿ+/~V>x] iǾz`ؾ3zE\%UD z\\g8l3%xQq2Ly>nуN?(6H!??qC?gZ z\?&ok?gw+u?]}?SECh>?&տ???蜒?Ƀݐ?<=Б?`L?Pf`L?ԋ<Б?>ݐ?}軍?1[U9?7?I^>?_H}? &C+u?̀k?VA;\?0 qC?ZT9?4PJ]`\O;m`UŨsPo879ãe?hf^?8W\d?$È?8HG?ymhL?IFk?WEv4i]q ؾpIɾ>n% P6*%X4~D~9'YqQzfnBEmU9E4P=PN#`SDQ9mJ@s oP2Ne?[^? /d?2C?рF? L?Wj?2x Pn/Xrk9n|rumaž*b; o; ҾnE>ԾLl!Ѿ>?¾ 0ԭ>.>@"2?gvyB?s-IT?^$koAh?h28|?4͒Fq?T2?2!m?T5tN?Js-"2?n6?ȟڌ#k:?/3[?VMt>?P:n =?%&;?Y 48?}5?dM߭2?%[.?nݦfJ(?5a!?C?dL?7?{_j?BH@gPMP@DQ:dž@dsV @sOa@XZ@tM@!F@=϶@~%@8e@ҢOk@HwF@jfM@dd3Z@h'a@ǺDU @pQƆ@ɃsP@FoНH@Т5j?1tG?5Ē0??f?hea?Gk>?L?@?%z?ܡ0?CWrt?} jmy?BLوq?Ng?|sS~_?"-R?F#A?D?5c&Z?s{:g?2?`L|?2Qh?XVU?CobeB?ԣUc/?N P?pd?Q>S:0?% ?[p?ťa?V!8?]Nq꿦?69? ֏Y?`?\O0t?_ly?ё;"q?aHUg?r-`!}_? ^R?_"A?+>>5?Ὣ ?\H>?ko ?t+?k"?OIL?3L,?h ??Jb5 ?d ?M?)+>J?>/.TNQt!zrW6pv{hFyd8 =W=`t[@>R衖> p>4bd>% ?Q=E$=@> K#>éi >;>C ?Ħ"UŠD6sdnrG`P+uYR4h^g8u)93$<^*̾,پʡ>EXd4J="?(T Fܺ 樂+qLѾ?)྅&wl^g%yyT p* oyEq>6T5?aQ?gڐ-%?A)?e9R?:?Y?VZ?`Qn?2Ь ?<\Xy?t4q?~!vEd?vJ9R?weg)?J&,qJHED< J[X1C g:nqKq>Ts{׎CZfyI?bO)嬟?U?wZA?$?HaK?|PΪU?7dI$ (`%PEhᾇG+TѾCdH¾V_aPKW0Zj&wYhiobv>%ôUjiVca,uU|FE6#YXgiq+ėsq' ZE?0穟?FOZ?@? t? 0>#K?&CU?ҥ};n^ 袃^h)Z:,B(}[s@ɾ{о;IhӾ98lkӾBpw̾-:[ABO>vQ9>$,?1K>9?1_K?¦B_?r? ?_ ? |b?GJ?b\;? EL/?;Ѧ4?~G8?Sh-;?}B=?+@GA>?3X=? j.Z?h0H>~eh?W4?޲!u?w/6@I)@{*! @,WK @/И@U@r"a@k0>!L@ن@H ~@S@L@w=`@T@`Ϙ@J @fV)! @8(@06@KJz?N?gӉ?!BϽ?wJ?z"?'$,?I?As2?k?VFg?+ d?RJ?Lrp~?@?u?c /m?,FLc?<X?az(rRK?f1?ɮs?#Tb?A>5?ϱ}q?L?yr?G A`?jL?'8?{$?E? P+?ͩ_8>H%ӽ?_)J?$r("?`,?|2=|?6:2?bV k?zN&g?y]c?o*~J?BQ~? 3u?_ m?@|c?gX?*RK?:z1?%D>H? ?{. ?1"6?;&?[1?3H?ݍ?/Qo?? ? ?i[?j>Hb>Q>~ xqν?kIJ *J[Xh<þ#؃wdeQh lkwq˾ ھGԚF縖Q$ -n=ƒo>KS>H[>BW>ER*MQaW=c  " 6>+q&~3fI2[24IlB2EԾVY)D>K'>  H>l5I?!!e?tp?C=?v G! ?^: ?Z3c`=?ZYe?yN?=ww9=3=^= =7X%>ۇmUj>kfx]>>Hȳbq>u%dC>.RP>)^: >xVf>4YCg>Xdp>|`>3:w?O>4~9>L)EB9llB%A!/>]7 -d1lu4'v[P/9 ٷ`~>hྜoe8ʾ=4g6v9?=&o -خEMR R7IqV!׾Iƾ겾Ch@J?1d?༆z?-Ǻ?ҟ ?챜?. #?1ޤ?>~u?VZ?0Ӱ?p߲?jw鿇 F[ni:꿋Kc鿩}u GP/K%JڿٱFk{ӿ7nwǿ|:֯߇֯?w?Zn?u9?W?֨}D ??_ _J?y?`[?b ?e}w?*4?& "?l6?r+d^>R>r:O>oT.6>@^>Bo>f֫>G֊>mQq?:?9?u ?G$?*1 D?>K_8>\>xWsRr> t@v>0'}[>&w2>/3 M>sG3u>9"˿D e $Kb$Ήl_~xy㈿$ RS)oZu&\ֶl˓cH-BSRJ%N0k'HׯLQ<7"n+˝)2zb7@$=cA0e<9C#(yDF&4?J9dk!i?9?G~ ܳV?Wd?$0#?n?[耸9?mby?a"q?Z5f?%5c_?HV?sP?DJ?i`LFYO3Fwm=.EDQD!6C֢AyC5?hS:˅^,5cǡ/o5(kA# A. ?X#?/?fԳ5?Zs[;?I??q@*A?'wճC?yMD?\V! E?BNF?<[TmF?м/ ?o?Üi?0W?6vʮ?wH?>NWm?2bT?0ly?D*T6%+?% ô: ?gւ?mi?3?,zf?s0E?>œC? ~A?wim>?БW9?Fk=5? 1? k*?pE8#?I2NU?Hg?!Aa? .%9FC="d/ZQ&ǘ], nA^W"=yFԅsÈ6˝NRždfn=W~akZᔾUןpY &EvDþ3EӾƧ?V"\royfؽsȒ=qp%0>/6zQ{p&iQ>V8ՓZÓ>)ϾGi >lr>kT"7W |۳Opc9 !*zGra3GXַb+5{j) 1+6ʴ(>#7ݽ>˘ZT>b?r3?Z6Yr?m?8 ?@?9T|?RuM?ODL?^@ɽnSn'<[S3=( )"=*Z@>Ÿjn=<./>Wnf=V)q>_z=9Q>lqߟ>:D>p~>8QAB>7ꩨ>49S>߆> v>\摪f>(2=V>tyD>D%(>Գ ߿TZ2͊4<ݞPۿYlse1-׿N7O,lѿv`)&Jɿԡ =^z$*0's$aQ <_rx:m.ؖsy).WNAa;>*|q ϾvY"帾!.@%雗/z󦜗# ?o`?GW,@ iiоK(ľαxmIo> I?]U,cЋQc?<}z %}|z?dY]0䧏?kt #' ?>LtR?t ߽tuG޽?sJVȿ T?EhJҿ$"l??DۓY?DUj? !T3?ICg?ޡݳ'?a?fŞ?m!w?h??L Y0?ve>`q0j? x >ۧZ?2\bZ>G2p?nBt>cu_?,ѯ>nN?E>iгۊ=?D,><ٕ[,?U>?O)?C ?%W?D'>UAT>]>U]9|>suX>:xj>L>S!p}>'o>1ݎ i>d_]O7UOs]ҿă6A ſwjEL5v ꋸዶ+3vRW~0rmcWĘcW,- Jȇ'g"cwb7#cjՖwc# .ng^>wd6\8.L.]8,n {Ta?T.-C y^VO{'W H >B.y'/&[0 l5J:!?,B.e+)DdėE֯)ڿVc ?)<(z˿E@zz?@iHWi?n#!nH$n?HgIP"0ό? X٧阿tu4?_(`Fގ7B[ߎ?gT~`NdŊ?^?]^NK^?a}gUHa V?!/vTP"JY-fP?2ՐI/I?5F\KFh{lhyF+uWE?+DDwBB`[@^c#$t=|c8'2()8g  |>va&?14Ǜ)?P؎2?KDr8?^G=?pn@?4^B?gTD? *kE?獖F? iF?5V۶ZF?]b?>M ?_~l%?u8 i ?Y=?Y? ?|i$?`@ ? J?Ûí ?*Qg忕?L?aPh?kQT?ӨhK?K;lj?MQ w?L?_gn? \-:>R@d?{_>궷,]?Rh>~WT? /->̍O?0r>t*:*I?[ @>{pE?dEoD?Y5B?_@?"hC):dzj/½<v G1SҽBS RL╾#( #LѾ&Θ*=*Oh>I>`@X> 5D)>P"տ ӿK܇Ͽ8*&ȿp@$# ǣXShWx7 l-* ո|\wg5 Qɜ&߭JP1dzB 󏿷dW$ǵl 彿~LUCȿC3ҿiBڿ R+zu_K=O[~볝P4"Yؾ$($a@I&ߓM`Sσmо@v AmZ2 @b={Ŋ= =2}M=cDt=ͱ=FDUq=6[=Ts =.=Z󻎈=N؀=ɶ ؀\J꘽9v|0.> '[ЗTqcՂaע[LE[WwE8pE"=NeX6pάJ>*6 >̙>-z |iP 'ԅO%j΃']D hSlދъb@>$۾PB& > %|)>*{\ҳ?䷼?ΧFW ?ð?ݾZҎ?):? 9?j_B?9/?fb?A½0uSo%a=Bk g6|7N.`Ԫ6F*#t}_,{ #{W)׼TRYn. ,J=w\T=cԬ=7[,NY #> ?RHm@>Νs>;LTߛ>b?w>3]~>/̇`>h„00>PI>Jvs>i~9R2 c>3O>l7Tcտ.ߋĿ}!Î9:U6( 0[rgos]u(GsD#"Axya&;DD4Sڠıj,GZ^"u%Kr zF]wQ#辆nyվXƿǀY*y ( Ǯ3!6pht=cھ3=D˾1scԓc4~;L [<)vTV?7m\p?m>潄?+?P!?c 5?}i?(:R?_Q?Y ? ܇ʛ?% IR?ൟոF뿷?946DwV 꿙"翻mmcLۿk ԿKȿ(FONF?oK? Zd ?Yv?>f@c?!oc?!c?E ?"?U?獹?F?-.N?*d??BS?a5?/[?F*H³?PmF?XY9?jA!|]b>@ϸ>gj e> Y>mo8t>2aѯb> ->.;?/,`>-%c>╡>3ȷ>, >ľ>R3>k#>b7F >*X\>;X}>qd>)HHQ^!avTUpayzY':!򐿮\(L$R*Bb0b4ѿ*ſ5M$-hC#]fS܌hHγ6z& wq Jwg"u)o`J) XcWյ>Qҁ/pJv:R@FBya!b%+/h2e˕ \7`L<զ@(-mB/n6Dq8俐Y1!ߜׄzϑyzP̓O{qῺkh~޿@tٿ јMԿU!`lͿ?vh@<ߧR ߧ?CTk?Dabxl?w.lM?}?Orj~?Owq?ZuP?ͬ?u?9XW?m?>,k6?k?%6?,x(?B J?>_6F?^G?HQ?t? hk?0e2b?eSZ?NS?÷M?;G?OK^pE,K1TEvDbg?Dl%BӲ9)AP߷0g>w%9`"ֶ4*PB..@k"qisߡe?<s"?k\.?Oߠ4?>P9?IF{>?Ũ5A?pB?KD??D?&B`oE?gۑRE?x _k{k~=E=.;̰=Pha=)9=~rOO'>lʏ}9 I>yj?P+NNr%Z=s.FE O _O u5( ?WvB$H2 B'X7>>91>o&?0' ?L8h ?Wpw?a~D?r?n{Y?[2?VɠR-?)I?vh=gwF==Noo=P=Y!=PUc=T.p>ϣt=1:>t >4?O5i?K>MrQ>{w/>n~>U쾫> X87>Uǝ,>ҚFm{>g(uk>( =yY>s2_=>Kzv߿x 8:ͿX>9g!@v( BR]Bmezzv~=e#>S0 5&7ݿyQY֐,3vٿkj0VdӀԿr)rd%qKοLp># 㖵ĿP6*/'!MMb_he-`e͌2 ?6#tQmw딯龽ה{ۗ:)/8MA6(*hf2-A>\$L\me@ 8?D"\$? @-?02?V6?F28?p:?;?jc*qQV?|"pL?)>掶ꍶ?֟mdÿ'c?*ο?~ֿ"Ң%?;,޿7ΐC?MHm"7AG?րG濁ݓ?j=y)l&Wgnn^y͏7ַb%bD0.u0 T:f`D߿ d׿wп?1CR ??&?Z5?UD?^ɯ?i0?Ǖ$j5?;??lU?@E W? ? ^9z?;`?Zv}?ṿW?Zo?H?mj?7?v­?Fy?Tk? z?od?*?`L?I#+~1?(勒C?=G ?;bY?1Rg ?`R?->b&?s–?>LWqC"?nɽ>AsEw?p*>ޤf?rU>7U?Iы>?E?ǖ>N(nS\"?v?"u>%7Q?pǝr?Ƣ\>3>Sn>ɢ/>Dv?>OY>lj >tj5">3d>{r>eQcq>{>EX> @)7+~[RT09fdcwXg+ˇ50p addRSힺȿzCؿU/-7H˿<)#6A\_rֵK4=Sײ5PIR1lhx.51)!.6Qi`ZŜ]a"zVk wXge2l!(-QW8:ӺKf F8sҼ|+Bq&(M7/?eT4ue 9Sd%>]rA|E#wC:RD9r~n qѿl;,GG45[l⿆R\Zag $FܿMqֿp ZѿdǿԷVif>jԷ?e?"yY?`?0JB?@a?vd3l?vsB?ξK'G?Ϳ?`(p?;r?ҿY?b羦UĿDU?bI7G2B?'"iFV?PqT럿1e>?n*ލoȌt?G~¦?3RPU?%Bm*2otAirt? 6k=k?rV3bb?yYiY?r1R R?LPt"L?ebYGDaG?aB`;^EVw"mE|`d#EF,czDoCo;6BZg9@PF2<{Zx`W7G I1kG h(.pHe>o&?eo~(?lQ2?.If7?ޔ#E,5ia?4">v-X?9.>=R?D|>&}BnK?>[6K>۱ɴ&G?H>D?DC?aT6A?R_u??sX;?I6?d+Ͳ2?ĴZ-?;|Y&?h6 ?2Q?JTj ?r fUK>p,={BVTОM7彸,Y^jjb(G=E9=*JKJDA*E{JW tJ>El>@h>KeOԿ11ѿƬW˿BDƋĿbSC%WAʃcAɒh[ae1rZUd]eRD(VG+]p]}߾Tn #² F`.jÿ{Ѿ/8ο0?Σֿ$f}޿2ӈ">IB?c?=yQ'S?HM?FN͆?Fuu?bɒ e?fT?C?#z3?4Dr !?; xH1=GOj=|/EoBZ4?R): 5xJw1|@,,֓&W"f@XF: MAml?Zr'`6Կ@ſeF 6]o3wp#EzFlurte;k/IbD*ÄEZdUF}S, GLP;"GNWN??QZ?`?ZD?(?kS ?z @z? [q?@g?0~`?LW?xT([Q?oBJ?LzF?(dYkonC}QYő,|WDB**9ٽš+(ݽ uG-/Zv#P콺oue8:) {,/6 @ݽHzҽ6k@=/h=T%=_c' =Ha$h,=p)=ל=&=HX G_=G.4=?R[=xJe=9=fv=+s0i=wwu=說Gb=֖LP=%h>=9 ,=68=z"ÿt#鑦ֳ􅡿jq5qQ)\*ݢ0n[z4oK2BKn KeyJ['ISc"FD~ňc@)/Z8Lu.%/XE۩C?.?^YY8?TH.c@?5*ݘhD?F?O&I?L`J?QN̑K?~,UK?b@W1K?2X4R?}j#?]q?Ue'?.ӵ?bvJ?5R2?`l?MWz?>;־7f?0E:P?B+`,^noҙ,2eُl-r)̮`xb(me޿@#߿ .޿Qd6?ܿ\;ٿ% qֿhr5 ҿA6Ϳ`{ſG2V܊䔤?=ZV?M?(?U6?(rq?6?݀0??sU.?^+#?IEl?@ɰ?N?7џ?+,?rخc?=睘p?%;`?R]} Q?-A?]u0?v0CfuUUIB'Ӡf;Yw&cK"`@|^K|;q":|=X7=8Y4OV"9m7oŷwt,"JC 8^?l2{?VLM?] S? 6cֺ?p|<?V?ުP?+̒?}Q !?8}-? T?h!f/?}gB?=?O\w?%M Rw?'7t^g? W?lW>H?nB*%8?6┆7&?/!(ې=0=Uɍ<>gE>ڀ>l`dFDOy,nV~)?jY%r^'ʾi:\־- ޾:Fž(> |нT.C -^>,@>=,A>;V`?)2Ŏ1?밆I??kgH? #P?A)U?o<(Z?BW&t _?>qa?ɵb?G'd?od?Ld?Jb&d?Fzb?QYqa?Q7Hl _?"boZ?clU?]MP?1 fgH?"+n'??_Ў1?˗_?GWRbֺ>TsI% 0M+IkD%*+%@m-7oJGc0uL%6{xj vx0 Y5MԈ^JάؾA69q8yL3'tH:;DRz8Gcß*o\e0ھ,;ʀ;ZþCU?"a[n?Iuv?._?eK?s5q?A@3?O#V?':?=_?dW˿޿Es?Dѓ'+ym/-4I,*2Os{Mns12 3yzOO 4=12JsŦX{[-Qݳ۝C*_5;BZX6= q#kUj>64yrfZ޾8;hҊͽS]\ßI ւ\hkzGv،93J_ RR 8V[t"X=J6~ӾX þe*{鱾e4m޸/ο&z~kĿh<P"{ \ ai@̾/XK~dNpIa ̒x䏔Yjq _-iZGbua] DEX: 3TbnOb5RrZ9i5 ?ܶ2>t{]>6[U O0O>"0@KEq" Q\Y,qാ/.kþ4E`ZѾUCVi۾хw۾L!>")=]=A:ڽ 3<\۽҇S>lq\S≯K>r>\>? \>{"I; ?Da†'?D??8?v`iC?S M?L]S?XS}n@X?lr8ť\?Mn`?۟Bb? p ]ˎc?Z\d? =d?}ӡY\d?^Ɏc?Iv[Bb?~j`?W\?K?X?5|]S?7 M? ('TC?9 ,?8?2'?4bw ?!s\=՛_#&ټ";Mu=>~ TTD>sO׽a&">Ot_=A>ģ޾@#׾W|&gʾnj!vcfx^u )WHƎx1fb*Mi XZeVg^ O7OwE?GbݿMI~ٿ_hEBvqԿY"P|AtοTd3y);2T`ſ,3ZPW뻿\t+Xkoވ"Ƨ D0uxZÓJ :`4 R胃p&k5ʽ1Yv&צ+վ;Aœ303I,? 7yGa }ңal^(SmzӾ&Ǿ\D7x;i?řJm?:/BN6?nrP6?>dJ?VhJ?J LV?2DQV??R? IR?Sm.cKcI^qT8mf=I/<.*<!޹ܹrɿ-:rɿˡտlHՏտx1}R࿮ͿtuEݍ쿝C&ڵP]wtX^wNQ&93_x:zF֕>zzUz.ptxK3,Sc'sh*NޒOt~"](&LLY}5@t6]q~ԿK^>)Rr¿H'{o%qq6A- FWsHgyu)@m8^!⾔1I|]˖JuѾ:Zk/Q)Z"3j IMmh8җDWp98|եr*O&tc~6(>ѩ>yp) ecRJ=f=[&^pδP"V`y|ھVu@;3˾1vǺ/)XV}H0eӡy##2NLƛ տ"NˊF˿*NQveM |pK:D^0M I9VՖR|UwF -)_CP+v"~Ac+|Hw> |hTMA;ԔsV8~l;CV|86Rndp:~g45"`c<3Zq u2*4Ef)7/7;wmPTCA'pE!VF JNӻ=P%lSԜ@2FWkɯ6œ Ϭ6q<DԿL0DԿZOi2ȿ_2ȿ}oJ]M4]n LIћ \Ʀ{-IƦzsxX\4F%qJWi뀿pKꀿzEUwfdARw p*`Bp4pw4h.l-hsb/b7^{h(^s6JhbZ6__\Uh䮗/_0`z ae"ebHbucw8N^dߊB}exFwvAf%fVSfw_ff*ѱ~f}f -|eO,d3 cƍ 4bsaؿ`%_ A*\~GSZ?{;Cտ2@t Yu ˿٤YR"I6 #j"'g$ qc$흦vi_z$]d|# lHB97dPh+E`cZh (mZj[UbXu[3Wm)S,PgEx$Jc-MDn@< \ w9FUq3_s.w)'x"r(cVQp.=eu_1KI=QSx+ǽ2 JϯXX 3н>+ ^#^>iy°>bE>*;I ݧlT9> Rߟe||>n>_FAӿkRh4ѿ5Yl˿H2ؤĿoh뼿@W:n>?1>Oۚ>b\Q!ÛN  Dy)U򲾢\G&xFѾ|I,Fm >U)-y>7 ?ھ.?$-^|?Zn{?u*\x?tv?k ;r?P!n?Ѱ6!g?~˚B`?U?:zB+F?)Ir .?j{,rw=D0'rjtߢ^ .o6Bd0S#I`hA> ּԕ) 3䫼ˤ<2 45٪snU2½;\yJ=̐4nɂ0tn_7ȫ{Sj辪־/P}ž%V/ ҜIqS%q pu0ţ"g|]wzԿ@¿#\,gVt0<1r7􁎿{\|vvk [tOiKz6Gc̍vBћ;+t#3]}@*[Y 11\מҹ.EO23=)FQEN63Ͼ"f>,](,.39|h ڽ6cz>O0 ܾ-nϾSFCڶK3KH??~! Q?\:p ? o ?*Q?v-%З?K!2??)?1Yٹ?T?~3 3^?8t?Ybe?b jH?xb?>a~x?moC#?͛?w? X?W;?zI$?-X^?5U$)տuD}MIpu!G~F@<&]=lg0fa[߾wC\9awul _`X2 0gF YF ?`f7X2  ow:t̾wv[@gnb?&%.L@2xGB.\8\ݿ>fٿp$OԿ$fLJοDClſk &fyq蒵 Dvte{oLoX; @MJK-ml٦-_Yk?ٶ徢.C6վ ž0,5',ݥm&ZYZoPij%Q+ t=d1A\4j1>d.$꾭 Q޾pо lC(!\2$@QK,eg,]1&e5,my}[,3Bvm#B֨eP"D`w9ZmәVƛ72̎@{42T8bcK>mBc[+GeduLLHCQSƟTi꿬M05DwxCB2xTJ,-&\ŤZ6{\6XQ* ȕ#Qc| ^|`(j?\ $^Z)9&\D@, vmx/CBElbNE 꿫Pw޿е ѿ 뇃ſC}B!=wr=ʣqRn\)٬ݝ} 5Dt!.mP~&f@cga: 99]Wn~Zǥ\y6_``ba̩bFsck3d4dtПKeavehe&KeK5,ex je \KeVCds1dTqc˔b7a3 `ok^*޺\("VpZVѿmHG1t2KՆ ~*][mZ<1\p?Lꬌ<wGF.*n:y"G ?$#%\\=&T&'M~&oJR&Sf%A<BSR$޻4#O&"* l9!@w A]oi]S}>ͧT;rA'Qd.$LF=,Y B?-O<`53ҧ0M%<[*{$Nh !Qҡߞ<-t=Fk-`k=ߊuZ#1=b'+zL=KK>g=F}=Um~=9 g=nXN |u5Ѧ=sXdNb)F.>O$; pC y>dS >ϼ| W>*jioqR>SܪI\{]d wؒːtȾHc]׾HG{>;Ws(u0prZ Ul픽\)ff-d^ܼ<8 ,krǽYݕ32ͽL\TѽNhӽ%CXս zV׽Ll Iؽq ؽ[IؽV׽yսvyӽxZTѽM@2ͽ`FrǽR}Yi,]|KJcC*燣 {@r=xƭb=GmqC>z8rC>Zk6>cJ6>>9D>>no>oj?^Eύ,t?)yӘw?$z?t:{?`g}?Wz}?Zf}?{?0T!z?4yw?DR&t?66^/q?7 uOk?\Ld?/\oJI[?:KI&P?)sw pULw>`( >mj4}jN+>>C2Uޠ |&I|'mpϾs=K(8 l͑B=eAƌ +}ISL o ~bSHZe:h޿:y˿ kRjI@s:;ֈEyAt+s/c0}TlEJV/ۿ5DGA' ׿z0wC<&ѿ57YJ?=ɿk:Qv7I~ilT&0QF&{T|ǩTM -Sƨyi~GM Q;iy9?ȫ]N?CS?&!*?Ws?V?mx؛?Fz?Iք@n?k5Z?<6?8<_/?SIC5d/? eUOD?L%\RD?;?S?>S?_y>Z?+FZ?ަY(?29;b)?r=7{5{eEGu+=nNm%n¿W R¿/uѿ~#ѿ >Pۿ,ۿm?3俌_H3wL<KA /B_M,{BS ~+): ti9 j {Xي _A?j y^ _nL: :}F]S*ZO_pB Bm N3A]Hhq1Rk޿4`ۿݭ1ֿ@)ѿ2<;ɿm&(-ljp;%?H137Ix3Y d;s-M m3 }Hbj˿9N!\Zf7WΧ^HEAN KLщqT꾵ܜ0paپD 0s1lgȾ<c$:ZNNzRsꆨ7]B `cc(92$.@,[&# <͇i6i9Hʹ>b+ U8p0{CQ0>FҜ־,IǾ݈Ծ{ q2 3ÏKkvt & MxMIVJz.=$d2 ׿tjrH<ি3*WϷȿXNٿ:ƝN|_#п7ON1vſ`^4 Nh >}LY]M!2ŌQGJ}V?[jUGPxld 0>-Ew bۧaٱB߫5H&{p@|K耿91b{zc41cݞd&E]eze>U̕eXesXe42Qye_eEiߢdLcWSԮcCb%'aa `e]x[?JY~ {Pٿ^!'ȿc= + f::;QxSo>u^d@N50 >Z)>vL$ ?`=7xM>lPKj>޸ã>Jnm]b>^9bҿx-Ͽlȿwծ`o@nFyG!Suǭ2}<@6R;%y0/8n6O!˝v4Zvj3 J[ ޿ }?ѿaſX })wiˣ2]\4m -4A}IE~t+I.m@E9,fwyNna!F]طDɿ2Y*[pB?IW5qw ?[ P}t*mPVƢe+h8W2}`ܮ}B-mZcV8^;=L\EP=aJj== Zo=FmU=4=C[ýuν I~ؽeM G KЅ>) 3Q!ԣA]E:&]`wj?󽓑&N!%&۶#LO 齨dʐMϽ]-ĽARP=ƿ=CF=C=[q8=, ڱn=(OMUR=^A:={-0&=sP=5=+Y¿p8M+%Sa{PVKj?KZ(*Jr?^3??䱡D?q4ܘ?j7H?k?^d£?1Es?.?Se6?x*6?i?q[Cs?x{£?r?,H?s(ܘ?/D?j??3.ޡJr?NޑѿDE˿‘߫IĿ2p4DYP@):\㘿µȉs-1tisxeʊ~3P ^l̆l}|<.='qݝ֌, :ZP־꿆𿳥0ƕ.Kҁi  $ҭ5ְ 1I:12()%5 g6NсymK0 l+U$*}iMPc*MpP?}fmĤ\9MA M+-=F +/*)a`]S<nRmh[G9EeLΩ5"-^voǽ%aZv½'*Ͻgֽq ޽PH㽂/uOc*R|4O oq+e^󽫘(9.^k̡F]$~o񽸛0tFe eOEfȲG`- ޽TkֽwɒzϽ5J1&T½/eQboĦL_zI;m}qP0j6uM !o9H {!AU9P漃 uʿ$`LKov7&l⃿Dr\4KpbnLSX5fk|f?IOYz?h~^|?B¥?@t? m鸜?Refk?K$x?rZɪ?}3FsM?@&?̘I?sOc%?g)K? Hƪ?/^t?k?db?[vf? Zh?FC|?K(Yz?XQ|f?w Tҿw;ο\ùǿl1_+Q=E^oĠo* *4lb/߻;;p/D%sZݻy;C̐ؿyV$XTd"m[t8,3BȔOnf[#qſXa@<(]Z/ӞZHNIz4+Q !DC#;&1Ak6`hZ8`ixXk Z";R q{CjE+:w4NI%oRZ/$! zay|ſ馚AL}+P ]ʄTtTnvdY*=yT䨷aD!5H2(h`_%R]=I>>Aԏ>RY>˸OXlӊ#DXޱ\(x>F淾yKmһ(X"J>.XQ⽿a0Ң='"l t>Y5>"D>zB"?kӚ(6?rC?}N?p!T? ]5Z?kM`?F b?QmUe?p(Ĕ0g? xFyh?@qEW"i?k=^W"i?k[yh?txf0g?M'Ue?ib?M`?˦Z?jT? kN?%C?YB(6?1G2"?0 <>ѵ#~O"+7=έB\>|Ⓖqv;F,!LY"nZT i xΈDkyxlގj*8r\eG̴OXU=%DF)Ju(?k5?M(3?>6J^P<" :ű,Cm ؅M@7.ne@@+{|@x@Et@唬l@D.T@DTwv71@f1؞k]@A'@6@@W='@uj]@%ioe@eHsQ@e$g?}aҋ& %g~jz73K0PҾzmg¾ IJݹOwSO񳔾[½4 *Z>S ;>Y%d[]Ҿ˥}8׾~־ΟW2ѾElµɾQң-A&* ң5B8̛};Ĩ??#Q?~x"?dW ?_)? _2?p'7?<("?Qѷ|?s? %k?b.%c?=&?Y?VխΘN??bUN, ??h2w?aL"?B)?iy<1?t^q6?>z?E!?sn?lz?"hF5?h ?EB?ѡ?ռq?|F}?m=t?/'k?5'/[a?sMH{_]U?hC?vrF?j\KEH?yJ?t͗L?op:@>rcz> dE.={Z#Q Z1@=DGҽk5S>sW1B!$>KR(>k=Z/[;֌rN>y@qDǽVǽ떕D=?3 =s選Ii>ƵGAi>F9g>[11鑱>WvPu>t>0I?4yZ.? ڱFK>?H?~Q?(W?tNڷ]?8 a?~8d?SRTf?Dg? 4h?omE7i?Ih?eg?^1Tf?v"ڒz8d?ܪ a??FVη]?W?2[ȝQ?ckH?ټK>?4Z.?({m?1bÁ8 < qc={EC2˜R>NEm&R"w>_-A3ܽ HF>=C>'>, ں|A /b* XfߺJa)% tr_dqc7:tU;XiH@UAaHCAZ;? z"?{?мL?|&˽?8TD>>T?sܾ2Ҡ?mRݤ\?@yN|j0yF?csnM-@jX8foOl{򾡍bd #9[JXRQ7gپaV"FȾH1< F!r)mAv6>3h^!ZBuվ5# Ǿ aW"+^Q"F?5F?Tfib?b?<8LQ"B{?ʲ,:B{?oR?XDR?f?_ ?lM?M H? Ե!k?(Yk?a ?& ?Tt6?O?]*?l?jV?Ej?R&z?i`f?2j?, ʦ?USv*@A( @t۫@S@@@@3XJw@"X@)@Ng@cVK@PNg@^(n@>{W@gP&w@C@З@S@b4۫@u7u @ x*@|k1Ц?H,ʥ?m.H?Ft G)?R/T%?,zXִ0?h>hKx?^l(gվI?+e?wžCSR?@L/E?TG)?ڼcp2?$ʢ^q6?Q8A>|hI>l >Ɉ[$>f ˾Mվ[#׾@ w,ԾaSξ {0ľU!aI3Ib [Xayr]j3?G[Hd?~u`[8? @?-lCޔ>?&В*ҵ?%??s)ྨ?8E{??pul?YH9>?9W?P/$_?pz*a?j_X? DWP ?kyg׵?7h?(?T?_k7?-Y?cG|u\?x? Rwf$?x?Rcp? @ Z?-?ת9?^k!yv?a/\?ouu4o?Lp? ]Z\cfe?FvoR?M\?dk ?Y[rQ?F>1e??d9?:3?G-? |ܞ+&?uT ?z[?,6!?#2ż?XZ;>z&4 >J. >;߃>\S5=>Xcmj;Խ`VڂVUq7xOCjd=t>ҷ{5>3ZC> )f<Pd=#.G>_1}鵋>^[>Ff?W?'7D?gaOХ?ӛ?bz?QOJ.קd]gce-i ]{![#P=9?>k7a?`Auz?n1.2ő?/]w(?昶??@d?Eb=?b?;?O ?h93?;H?Q]?4H?r?2e4r}?݈?Ot?qԆa? cr;M?8?Ui$?-=?O.x>'c:8?G =?TU@?q_A?K Z#s>f>]¡>b:|A. 圾> b3e>¾\m5Ͼ|k*ؾXL/+޾Vsj~6SfC+,IVgCUqE:NӕŽݪ8O)ɽn:B̽aҊUν/6нoн fnн %6нSν5B̽F)ɽŽ<b&MzL{Ȫ=yƤ[y4=J;zd=KT>d]>!*>DH?ozz4?xSLJ?e X?z֓b?Szi?8'Up?(Zg_t?99w?tVz?N#lq}?EŰ~? 78?27?2ð~?mJn}?*QRz?Bw?a_t?%+wp?ڿi??Oēb?r X?g8LJ?WtSz4?}1gf^摽^a$5Z /z{_{ZY Sl4,zq [NQ86 b?fռ_'_&i}#^HqcwxTF?SNN00B¾Uݾ ԾGǾ"x. *軚Ѝ'|h(^uQn! 3aSFU5?\B@ ?VQ?8C)?%rx?^Yg e?i={R?YX??+yF.?e"?ZG?g5>h|>tЉL۳r]X[u$ +JA B}㾆TԾ?H0¾|4-_~X# 5r(/`5ʄѾÐZþk-ܶS4dT+R?@/S5j?!x?$6tA%P?Rۊ? Q?j}?BO?.!?,ʜ ?)O}?8&1>?h)1>?{?²?kT}?#X^∙?iqSv??^y?Xqw?#I?;F?E֬?Pm?A3a@GyȘd @$W@eP@^@&S@UH-@.,"@(@>b&@&@՛@L"@G-@ @Q^@Xeu@;@Ɗ d @.5a@ΞG4?ů?ŐP3?rCt?, r%?#?)|?o?OzޠD?> iLl~oVd&ٯl7WRT1mE߫0hhi3x1xm }H&,MS%`uڰپ]vEɾ0R:9aǩDޑom܍1$a>x>N Uژ6&ҾB,?,ԾQ&QdzӾ_}[Ͼ' nƾ1}Fռn(2n DbK6̏@r .y7=5?қsE?у0W?̫Y:j?h `}?9Vd?i"c?_b :?ʑ?ce?i"?gRp?fkU?ۗ?O?Si[?r zP,?(̀?trw?0yp? Wf?< 1_?YS?qF?x‚>aK_@>˯kO?p6 ?x$pz?C*?u ?%?W_)+?^3~?*?h _?ii=P?R@@oJ$z:@?E@cy@ l @+kz @/lo @-:L @ *z @k @ox@,՜@59@IG@Q@}I"=P?f>?d!*?8k@~?YD?W?\VNs??I+x?i8f?cP-7?7'\?u+ ?쳁?A9x?Y|p?V`Ѫf?@6'% \?EUN??ei)<3?#[g5?07?9?|5 oI;?^*=?tn??)Rz@?(A?D*ndA?\#A?_~B?MB?UA?cdarA?rI A?X>M {@?ȽW8o?? .p=?w;?(A)C9?fY7?ν֣g5?@s5[<3?s!?a?g?d8?淴KcU~?Fʽj? sW?)2D?7iWGd2?UP*K ?r ?Rgq>ȭR?oT ?cP??N\ؾ?YN6W)?`ZL?̓2?It?ӥ}$t?Ix?O ?֮V?@?Дt>QL۸+? ~Ԏ%?rB7J ?.?^`e?O{= ?6I?TU>Q=>0n\>ls,>|A;>@ ˽<OR=W=4Mʌ$= 2ګ@==ha=kŶ=ň=ޞDٲ=f>ŁCلMQsc4=]o R}t54>U#`+|> 79l>J$j1w>v-3:? 繢4\g<( [QȾ؇ԾҐ7ݾ ؾ)M3o>~ ؐύY약ZkB7f񏷽2vƨƯýc}3vǽ?ʽ*alͽŞ߳'Ͻr2нNнDGн0*Ͻlͽ݆ۇʽ#,vǽC*`ý Taxo9F>7d$Ñn=\=w1J>SpJ>}>d/>>.h>P=O?$MN?y_i#?1xA?SHR?_}ߪ`^?Nr^U%f?iRm?)nޤr?l7v?CzsRy?MN{?ި|}?p&C(5? l?O'5?4Wz}?#K{?=unRy?WWv?|+r?gKݘm?vjB%f?V `^?0HR?j WbxA?xV/=h#?eS:~_OV{=F,F|= |=0CEa=M?=N, =c8=_C>z=q&>3>=t5J{>/&~vT 9>L=T0>,{4>)VOܾ#ھ!8?о _;v]~"ڢK*Z%BMc u$Ezf٦[w8XSub=?X ^޾?} 9?3QJ?+0[?Ģ#p?f҂[?zG?pr>5?h'?x׾?Dዾ?JA?Q.g ?d%?GQ%J>}(݉Ԩ?kH> ?ɂ^b”jt?% Fv1_/6QkmyN/~i-B@`:rzPY.Ҿb^g=`ƊQ"J1Z [;ᮈ. ؾ~#Aʾ4Șf#)y -Vw7?U6=a?Qcmr?E7?FH?x,+E?+=?}?v2-,?Z?Y;"?sͅ?XXKK?v<??"?R?,?^wC?? c=?iT3?5?ŋ?Nr?ऩ=a?.u7?Du8T?y0T?.*ܼEp?_2Ep?hw?weq?-z/j?PWpj?Y2P?5P?Xtn?Dyn?,0?,he0?k)?= .5?R? x?X]=~?u~?ZuK?&T?2&?$U?AdA ]?N !?ɡٷ@7@B @:1w@ܷw~@zQߪ-@ゖm@l/ر@M]$@OA@|j%@mH@CN@qױ@Wl@-@߈~@[ w@q# @*:c @)шܷ@Mg!?-]?h"!?%U?y?'_?2Ր?`1ด?Fs?"f_7MXm8hWh#f_<2ZP!2,ŹmvRԀ>Pt*>ue 7e̾jp>d2ԾnԾCѾ8vWʾ8¾E?*8w\UIeKʗlH>)aݪo>P0?^=?BO?'ia?Et`s?~??c9W|?aQ R?1?:zd?6?h!?*wb:?qir?h=?!?<K??b?^??j&WH?餻>?/?,x@GE=?HΔ?v&:?sRrK?5N7?3q?/]j4?*z?ňm1?J6=޺r?C`?,?)=ji?o~%?44 3a? D?6_V?no^ ?*,fTdH?ʎ>E5M>xhK?!C?(x?2]N? -$?i*BJ3#?tې(?4o.?e`ݲ?Ur4?9VYJ?[?;8m@HvY@Al@27䩺@,z@@%(#u @S @ @Mm @ռ @قES @_*#u @E@@O@b'@X@?m@꿬?ORgM?px4?r6d?i?!f?;?V Q??fcF?25C?9o?\?{? {?uf ]?\?R%Sš?h3š?ّ?Z=Eّ?3"?ayq"?%y45}?ױ}?Ġ$v?Kv?cӗSo?o?E7Wd?IId?THoZ?1moZ?XnHtM?!DIM?Ec*2?H lP4?zv1~6?DSn8?' :?]A%?s`@?|/D@?߻VaA?}nqiA?/+ B?VD!B?1 B?X}tA?#gaA? {@?$@?)>?{rp?2!?ѐb?v`gC?ٯq?؆?fDg!t?w\a?6UO?<;?{yLt(?mn?_W?Fm?>F;Z-?ih?cOAy?f4?㉮>?xLH?iyH?%&Ƕ>zX.?%(? <#?)s1/?i:?R*?q?L?ł@}UH> ngy>A>a>JF=>d>0q^T9鳽*]^R:=,[+mkry3=T>邩a>Se> > C^o?~xG=jp >n3uq>>G迦>pP2>&Zϐ?iw-?+k??}]\,?.;c?tEh]`A#cf/`mN;?ѯ ??ghA?Lj0(B?%<_ǧ"B?QhCAwA?N@?2?=?6:?a6?+k92?}dC.?9n%&?!N? {i9?Zy/?8ch?$D8s?ۋ?+yISx?z f?$fEA7?Ѻ]?$U ?3Z?TXP9x?lp?FBf?ώ] \?R -[N?-d?"SU6?UǴ?>+?eEoG?Ŕ1?7d?zjA4?LsҀ?[w?qd]r}p?wA7f?*66_?,U4sT?d4F?-wn_?=̽7+ G=NK=SZ=瓃TK=]O=!3ܺ=A*=gk;X]ZxZg ~ 4dGmQho;&ຣc#q摶y$edc*6tʠcF';;3Xg"d5z Ti;3\gVgfrEῆ=y1=n7cH=:%oXl=qZwF=!U׀:=͆ǮP1=1L #=>nY==R!.?6Ũ?Pk?y%u?J.!a?^KKN? 9?bث(x?x.?#7?DmO?)AW#?}C;*J?=?ǧ?]ɩ?kTY-??R?إoX-?4M4kɩ?}-Lǧ?tE=?PpsD$J?o#?u.l??7?[.?@|<(x?Wڒ?vz&в?4N7tV?4k_?9G5Yy?)i/ 3#/a(d$dmR>\ PКO}" =.cHMG? Y? |k?9=~?}?uq ?TYP6?LBþPޏ\?Bs8~Sb gqF}- -s[V^Zz_wf9s=vp-=D=UYizQO}@ºcT?)_NJF?ufsB?3e?X*'?,?60Uڿ?A?X}ә?'J?{iu?KXb?ueQ?n[K>?`LT8+?vj*?A?[ )`l8 c?ĽJOe׽ti]RPEcE|x@bֽEBQ@}Cd !A2n:ҟ( ~8}>D ox0l$Lq@B^ Pr D__ئnD2:D}I]վjm]|M=XSɋtxx/@^=Ju3Kt2{́D" @*$d% '%zv7$`Ӛ$!["w +yx 0^?|E6 R\1D6 Y=h,6 >XӤL>uy>7Dž[">O$>I%>%>q6$>)H;XK">L>=##0[ zn`|kCb7Gc䚝b6FarG2L_qSZcֳSDl^HSUyj}02`d}0>a\^H>ZS>ǖrXSZ>绬_>^"a>&s\b>'c> Bb>Jx%p`>A[>`> B*Cޙٟ-8FB3/qdk~[F+ w,T2#[?n un>0xE?>9Y>Krj:f>>{ > 0G[>uxQRq>Jv`>@$7>~0[ٟ>۰:I>@{^վCp׾jhپ`;`پIZ.پuPz׾lԾ5N*ѾĿcɢɾ3$ŘBl3&Уk>h>x-g>[U)>5q>#y>[Qz.>Pӆ >k_iUh>+>+>Hs>jcT"==BH=:-=>}-=h ɂ=ߌq=`=]'uO=Gh6>(.%>J4C><>gыGB=j|@=?=jA=*Zx3=Nf=Gy>OC8`g>Ih U>C%D>D3> YC">V(>9\! >l=O˺=]$m>UkIύ><h>mhU>-%Ȑq>وO`>VȇO>/?/?>ȗW.>sm>60bHʞ[*'$Z{kzS$jtNX3)>$d^1^VڇsvSE_Se T$8S-(hOX%`K_0f;Y*0Dq 76Z`&B)NMDi(V Uz_hKqWA]AE+ C3ͤH]aB톮8(rHq(`)9C͘Og=NH=椤 _GWvQe`C$jTiQ\ C<c2Iҥz:eNEiFce@JX7&G:6)<%gZ|*]^kTpF5Z?vgIl8 ](PZe2)Tj Y 8[HY108]S'q D&FQ]{Vp3Eey5 w"$ 88#-F (i@=ha(0/?/6ksZsWN(߾gGd>id:?8Wdw؊c;wpbdnN`hV=5]_XWpOQW'E5z-yC^w-?{^E?Hr Q?WZW? rb4]?A+`?ob?Hԛc?9oVd?@֫d?j48Cd?m :{yN{E*Tzc4n4y8x +umG6r|D vnfIfyд8\) C]o C?ܻ7\?^eRf?an? +fr?…5zu?˂!Ux?/ry?@̀wz?"Q{?Ϊo8{?q5<[ʆ᏿&; 2XމeRXx|s]z'+{z_/fpj V;_V?:B1ep?kk үz?M?j?~?x?]\?Lj?@'1?ߏ?~q?),#x6טBܟz]ӝ<G Kg7~:7.JׅoLTg:0Rg?IKuK?vCz-?&q?f?I$m}?mӝ?z=y۟?[(y?? )M"?%_9n攅,yQ*';8VU#A/O.8X_7NImdcp0p9 lGvCˮ2v?v}.!?v̀8?bp?ϴ]{?ܢ7?̇e?>?gK&?S_τ?}7a?as.ڽ@Rrʗ3~ 50o&ɻ$3bN;qC=o 4m$[7+vE Ht.?^g LP?G6?`>l?EUP=?M7 q?!? EȻ??)[u?o\9ؽ?T5)1ȿYxȿ;ʆ ȿ;FǿGſO,ňgÿ>㪷iDt~쳿taiih?4&a?O\~?r?d?+g?1k?9l?F;FG?&?hGjm?]"1ҿvfoҿJ.\͍ҿlRѿǣ пВͿ[ۥɿ %߶Ŀ UlyI ;]?0?eh}l?;av?jM?k5?%[7ї?b? zG?9 HD?\3?8 ۿ`]^&ۿ%%+ڿ^ٿ2aP׿OYտ (IҿO{vUvͿ1enſqaWѴ &?W?pl ?cH v?.HH?-d|Y?d2]h?Dn?>g ?e&?å ?yD-X[ΎӬo7῝߿GhoܿPv@ؿ*ayӿH*"w̿_ !VCmIϥ%8H?KU? #v?Dx?@?['o?֚?67?a??캴C?2ވBZ?ߍ®?T֦w~'Mݿ`׿̃cѿ0\$ſP=Iܥ_B _??Ws$?'crc?cEB?Ō ?{??V?8Qʫ?g%? $Y-?lYdu?!*|?8VH?9;: ?m1?QHn?`mh։? z?Էg?(XS? Si?*wk\c?&D"kd]?MT?a/E-J?SS?_??nqa1?!?g?&>}4p>;=@>A}FX?B R?G*5K?/8iMC?>e 8?}-?d ?Ĉ ?YZ>ij+W7(>nkbkG?WazdS5k5g>6{F >}D6?^C1?4")?8h !?NJф'?FOl ?v9>Q6%>Kפ>OT>ZKU>6"\.%?qWa ?bS< ?+͞?s}y?>͊ m>kk>p>4d>9USJJ>ɷ-*]}$erm[j|jnE"c>4{ogg{pZ=Цiު x{pA*ۼiXI9Ӳ@?G?! L?&P?Z&R?YrT?IIU?ӻ7DV?Sϊ|V?)P"t( NP#, Oַ)ŽMA+VmUKܛլPHrD0 B@>e8ݱ<-XѮ9x@ ?tg-?6Rp8?.@?ZD?ȽLYH?J`K?#M?/ِO?d8XP??nP?^Ige|IlHZ G_<)ExABm։?@p9Nq2 z6c5&ꗭ,RSLݲ?ӦL1&?JS2?49?4^@?roB?;D5E?M$G?+јH?'I?hdJ?h4?`gH?kGl߰z?__G[?. }?:ln?lC`?16P?$pA?Dwlp1?i (?a-Û?h7k?XX?=x?[rk??IĞ]?}}P?uA,A?>с1?Aemӣ?F K ?Q,@?9YE0?[?\Ox?奄?*kz?Go?9C"c?|5V?ņ!BJ?k =?&i\/?Qbۍ?Y:j?{P}y}?|wms?1Bh?ADu_?nZR?D0LF?A+ %:?Q߽:-?zb>o?#}e}?<)t?2{ڽl?[?c?6^X?ḼdO?%>*xC?/Ke7?U9@5*?/1>z?79t?Um?0e?t,]?ޅ-ݏS?6I?{`@?FN"34?}xg'?}q??W[ V6?&J5/X/?~jGD%?2?bQ?q3 N?hI?ѽ>D?{+N@?Q8?>lC2?f*ٞ*?>p"?&,?'4@rK?=<~G?qDNWD?F%@?߯/:?. 5?4T0?e}'?7Y ?"?mdNF?j*C?Dt^.A? d T'L7%&F'IG<;VWx_eCI,ntLXyKYf-KfS;Ad<ti0 O DLîF#κpN3_@]8!F؎#~n%8v%s %L^#Lf yxP 'in  `cvm>Bi>.N;>op > ]#>Y%,U %>#N%>}&(%>(+㛍#>b2!>AX>p fףYv`4^*ea:l*b9Ebj0Ubbb[`; Q]W4}|O拔Z@SApōmZ@>U$hKO>磇)W>&o"]>& f`>JAbb>sb>\t/b>;j_ea>J^>~EmY>Oy6mR=B*cj1p+ꧡ2naJ@6YkH @*Z}%^Bv?}>갫_E@>nK>B/f>>I-R>?Yᯡ>刡> N>܃q>l>6i>^?ZԾ2.V־ 07ؾ4پ؃پTu"rؾ֨ǣv;־$ӾPP"ξRľ6q^MU Kн"'L>*On>QKf">4x>*;>(q>>U`^>a>e{z>nɖ/>?fj=]=(<6=@-ޏ3=nD=6H="Ljу={ރr= a=PrBQ="{f?=dnʠR1>mxH_#> )͝>k|>}bB=y(*n=E@/=r)=Ȃ]=W=@o=]dtm0}>iXTɚp>c< __>1^M>[;>bSn#*>fd/>"0>w㢾=Z+'-8=L%+=[j>vq>ԭdGxL>!+>zؔRx>W@;ng>uYV>sbF>j5>ᮨ%>QI ><ɿT&D @6D Y#4sI|Qa'AaO%d qſ㳿7'`Ucl^ o )!]PIZy+eR_h*lL$`ӋH 'yg?Q\V?&CooBfʫ-{+炿q!a@yvPfn<{ґepY'̺!Qy@bgdF\V'1E'I?39bFp\A.M9ȏnF`]*]-|LUN<;Ӥ^L(N GBo`YKx3Jr^}aDP>fl@_ש/;xp5(MMs>Pbڒt6Ro ~Auxi1iW }k]Ys꾊bH+/Q&BA,. 0eC. gJ- z^BT`^i O>ȏqҵx-~q\PE&ia ?+&ԗ˻(HK(7-SzΟ&PävrSh(>d?UScվH;}xdVN yd9d9kjdfgOcH>aw0_DyZ 5OTyO%L#T=PDpeivS=?ƨ̨FL?"T?cWjZ?d#5_?E7a?c?8Ad??t½d?(md?睺&wd?W{?287{NzAoۏ%z|ax v tt2,wIq kP0yb_}R$yƂzpbR?Tb?m%k?R*uIq?)E(b?tt?%?v?sR׺x?e_$z?RC#6{? {?Oz:› *5&jWֻ빿mފ!y%U猁ΣkPu{fl<ޚ f?Uu?ˀ?RT%?3?h# ފ?3ɍ???Yd?cʒ?R ?q&XRL? Ϡ?Ro?sX<%?|%VƵE0]Gߺ&RxóChU7Pѣmon $3gif=}'*yh?A ?l?ohd?:?gE?LyZ?Kk稹?]?W*w?$A?㽿}OXHؑTTUq} `fdʸakdm쵿+\gwH'Щ+蓿T9)W?+D?z?#RTg??ɸ??=%p?. aS?H2?aR?'*Qȿ ȿHѡTȿn{mǿh咉._ƿ(FhIĿ k ¿0^gCrr޿S͑,IZ|)SY?)vw?+5@?,]?{4 ?`:݉?I@^?|2ٙ;?5eS?XQT?Bfl?VWҿamҿ YpҿI8M<ҿ!@BѿϿ"Cx˿K&l Bǿ٣u¿Z.={CnQ4T¾Vk??3O?4϶A? ?R2?4CA?g;?y?X?yع?a?|Vڿ:Wj&ۿ^[ۿ UDڿ?ؿ+6ҪֿEӿtgп{Cnɿi+o s"T žBLe? n?,?d?Y7}?ꗁw?T=Gr?֙wG(j?wa?3ȈU?:=6H?;"Ƀh:? +C)?8f?H^6N?o棩>(uk?7zf?ҡL?a?-pX?/rP? ρHtD?lyD7?%)?n5a??>g~? ~R^>XNH>!:3Z?_>^U?=gE#kP?Q;O}kG?S7I??=I3?D#&?#iu??F>8!>64[>^AI?M-D?0~?? Zxp6?}.?w*s"??F{[?ńV>Ds>}>YЕ>+Nx(%9?ȕ4?S3;.?tB&;%?# ?+˾ ?er ?yر>(2v>M6>\>V > +ʠ'?|ҿ"? p<?8_eT?x^F ?y?AoD`>6cp>c6eV>x"ǽR>[Ȗ>{'>9Sc1S.^dw_et<`nd+dv$$cf'𮿁|񵺿=R{bƗ:q4.?MK G}B䰿pA-OHf&1`+h^mQa^yLw_tF~Y=#,.#lsKʙ>[faHWgFE t}J E^mxH H8̕ܚQ>F>DŽ*Vp b~ n+\w}Ł,hV ,lABcQIgq]CXf=5qJ'x a( aB#Jy>Z;00LѶVV @.aT'hʉ8Qqw=F}RO_87b&FbnQM`vY$ bn!ah7osJd3/XZAn-hJbOM5S;VTZi7UrTa\e!3j"N+`.2@;Zgy D!(8L6vâgS!?׳fo3p?FM|? jF?7rK@?2ov?>Hw?Rh?#ϖn?ܐgB%\?Yg?zc1 )>G$¿:ԅ~Vl7tƹ Ez{~QNf%&xM٬HB#Z>uzM?piw/?^[,Q?dDE?Xƹ?p4?Cl?Pԅ?T?`J?S9?=_ff"NIWK2cܳd?q޷- !$pP}=T"~䢿WIf .~剿]>('i?'*j?s?JgV?+r?yL?ᷲ?6ܳ?dg`rW?YZ?l}x?JI۠iH 4P۔1\TͥOޙ᣿g}q.e15r圿a}wHZQ_H+.~E1f>Ǘ(~?cֲH?~H?Y?T 4e?z?oͥ?@?8?=eP?QKeH?5|Ե ț1EŘ[shW}ȥt ӗ˔&&O`Sp3 klr4c_p>ώlr?+Dw3?W׿?jFٹO?[Q*U˔? ?m;.?-lh??Mț?>Jf~ rT v_t'8ֆ 2$֌SRSfP =?uvU[A@v<`Éfpa4!w>.#f?`Av?{U?7.?S?X<`֌?yA$?ȉtY?<% ?mѵc?"wf?dЖZAJ*Ra3d Zՠ߁HBMPi%44z𡿶MJt= vk \M&i~>f\?CCək?-Jt? [5z?zi?h><+?u.Z?dyezsnz>%GzFO(zAxbvءLtsþRp{ȣiE{a:ƘQO=>IkQ͸Q?A>|a?qi?p?s?bDv?8m]sx?]+)z?i۳z?c8z?6gz?EqqY.dpqrxQpG#o8mfLi%Wu,Ker2}`R;t|VFBJ>?2qF?BP ~V?kCk~`?r0򙠷O=?U}M?PE-U?^Ҷh[?i$@ F`?L>Yc?Z4:d?7S_Pf?2g?=]g?ΒWDg?$a_p_ۀVŬX_W+^">I\BYa:5V|ecR0.M 4? ~C?M?bx]R?*!V?hWY?'#֭N\?ѬY1^?ow}`_?<_?] _?7ubVB,dV*F Uݞ5 U0?WcSQV=5ODCI=C D?uM;~̢+WR>6R+?'VW;?oD?aEmYI?Hk=O??GQ?S?9.U?*2U?XonV?3[oV?_P-a[uPE%dPۺюNL` m)I.4Fx_Bī01dȆ#?}H3?u?J Ha.?1sU6?kxe}D?H|u?!Ynt?YSh?d3t]?ԆPBQ? C?Ys6?̇ &?]­5?j?N?ͻ/x?;,+o?䈀c?+sTX?}2؆M?%pA?13? ?l`$?$eMN?@l.7?M?x?$"Mmq?~jg?Ʈ^?X^sS?ax3H?Y(DX>?Fv1?Zl"?!@W}?)-w?CLuq?^%iH@i?d!'O!a?ˇ܂W?O? jD?9?JW.?_ ?zMs?Xo?rw5h?ڳf+Yb?"`0wZ?#R?vmӖZI?!7@?OU5?"*??7sj?z f?'_a?@&nZ?GD3S?j&L?8Ԃ8D?ȘJ;?9X2?܃Z&?!?| mb?Z$ _?0*MY?"!d:S?;(GN?[goF?O2@?$)6?:SV.??ї#?ۺ{ż?=0Z?v;irV?ѲR?n`M?߃ZG? 5+[A?ox=:?çP2?I*S*?U ?*L 9?Ke S?̭ 6P?Cx/L?HܘRG?|pB? ?Xt7?~l2?cmJǏ+?Wڊ/#?&e/hh?:5?.qjG?VjE?8ĬhB?x???G9?/2}#4?4֠K0?(?j!?($fC?Bn ?MP8B=z(hS= ff={=WJ\l=fW!=#=e;mxz٬'~Ƚ-ѽOiJۨ'9’=$~7Vy ٨5NR_&c 4vShBn;G92A90\Q Gz`/%6o.j$"f|iKy۔?ltvJ)ㆾhtg8E-EqWhþJoqоw9=*=#k=RL='j8c= *`=K9=-m2=T2==bE6=+>6S\㽽2Ƚr(2нLQӽ$ֽPc׽4.?׽s1%ֽh8ѽ2 5N>̺ P>ugN>a\"W>]/7D> 7->i]$wd>w>&Y >5j> f=s4ũj}S ~:2QdKqe¼C~BQiG\^GH2d/ +.>2D>)ZL>W$IP>T#6P>j$O>GcJ>tSD>YmH9>6$!>m'!,3J9=6UD˜ %J8%O{b4P[ttPm:L0cƍD""%J.r[1>[Q,l{ TvaFpB:=d9u"r,JC<$sz:a |a>pz>@>й*>4$ >|)<>2D>3A6~R>C>銄V>oz>$ ~m2x-qUxe"[UP#ྒྷ^޾dJN(ھժcվS7ZϾþ&ڒޱtxE7Dp>ё>@#Y>mUBb>Z`''>>@>NoQ>.s)>+q>|>܌KӽDN߯J_Mmq||`8d׃u[uPx=Uv پ=@(=佤Р=̐=#FsnWŀ={)p=t{s `=<&yE> <>W->Y>(Qa >"=H=k~=Xu=JZ=[H>jd>S .t>kd>@S>% C>i=A2>4">pLS>޷q@>XT>3~>gU>L /c>-X|Y>55y>?h>f/JX>v\-H>aԦh7>¿OjfV N3wl \kjDA}FLlzZ]88!避NpA``̜gOC`^>`~i,,BWx^rIsQwgbRmQzP8MAvs0Ix`s~"[b=`8RڹA 6r1l/!zoossa'PS T@~ɋc0Յ};o]8z!WGnK^:Rˊ6*"[XcN4 J*)co@ BJUj3eB"P+eV+D!C7pdUJod9fmMjEgꔒ2wcs=\h\aQ2ax7B v7?Ofr`Q?c<\?PGIc? L=Eg?Mżj?FEem?jm)Ho? P&=p?lp?PC3p?G.焿DŽ_[xW_l ̮4u|GTᵿrZ|9+1NIXNHmNe9먿/OIbyn"³d/^~[\~?oݍ?cJGa?0?ͬ??{o?U{?zN?g($\?[?e1jÿd9FÿZw¿M`¿  Y@K1*%\??R?c&C$F?ـۣi?l6RP-οοC7ο;̿z ˿;V_XȿA7^4鸿}L!v-Y~? 8u?+?9ȅ?N?q\p?(dW?QK ?&?z(6?t@?gnx?=ֿuֿrֿ 43hտ& Կ-j ҿߜοʶ˛YȿU(R¿dֿ^/Ff?>bs^?`Q?Iik?\1xX?f ?0 ]f??*Q?Q ?n?Ls߿FX߿FS߿-f޿ۿzjؿs"FտDѿG ɿ$岇Qؼ`] 2?86Q? ?O?E?Ă}?U׆???}?GR?w!T?2>_?]˳m0=OX& b>lqKGm῍߯߿ )ۿm'}տ;(TTϿ!Uÿg%OsӴ?R7(^U?vֵG?M}[? )?&i? h?Cq?Ya?n.ZV'?J9Dm?3pPnp~B5pҿuU)ԁi Sٿ+Gܱҿ %ƿH&y\\?zs?){?Vћ?R ??3k|]u? 埌p?""n[?PsP?+zM۲?O䍐]?7d7 ? q?+3i?=(? ]?]//W?^?7rq?Bjw'_]?99nE?h=}?)OZH?[k?,C?Yү=?Sg?FJ?Lcjq?l_? iLY$J?V3?1o ?aF?d5C?I%y?d؇?XQ {|?"Vo?0(_?Q]NuL?ȋ7?+ e`!?$0MKS?Sĩt?{€?2?MIwu?#j?W\?P}7M?+:?^BƠ%?$?_\?Xᦺ~?6-v??·o?Nd?0)DX?cyJ? >;?Dؓ(?>EK? 9>T&EWr?KMRl?zHy`e?%)]?/ S?MyF?̖Y49?e)?BNU^?Ⱥ?g`>0a?$w[? ~P=T?K?+v>WB?];5?\O(?A=?85]?"/o > f>AuP?ApJJ?eW|TC?Aб:? 7,>1?jhe$?Uv#?k*ة?1!\5>t~>Oc>AF@?>VSK9?`:n~2?  =)?"p ?֓ ?Ќp?}%>d>P!N>Ʌ N>`w(/?2l!(?6& =!?-`yo?ZL? t1?zȖ>"2Zc>SV%J9>~ 4>wh>ve?{?x%tu?QI?<>??>ʶ)'>"z]>6,>G29>?W閰>yT>g6ma^?ena~&V~~Kd[aMᪿM ۸[[[ik4?Ez.NTa)S 'bGf >DF(JX vh;`Bu(k >)Ul\Kӥ6UV= d@uq)ֆ}El O4]NE*R`iP`Qrk.v oNLv8u䉿v?hM%Zەд(e&sp!qx8ԋN5Fv!VG:vTb"`~=h#_~qY덾Hۆ%ROFZa;!uWg[w9mLD7'6CțW&LЌ~S ōY "`j|a6d짯2xNX>ȹE|sBMiR\W[mW\@,+E.@7yT@{U_FZ|LVysQTk/(JU3ZI: |܅A(F܏ÇJޙN<",%K0]>LYh6롓pAR{DŽVDoX ֿֿEdy. ֿ=Կ ҿli'nпΣ˿k4@ƿepw&*22Ք`6==?/ה?SXrw&?ur?'4yst? 'G]u?Gd4>u?Du?oCaoll_XJk -jnkh 7$fVPb +t^ǃxVS@sK P)t2/^z2?=VvK?%VzV?1?Y^? Tb?`H%f?rh?'Lj?MMk?0TXl?Vx49tl?69Wh.ci#c2?ܬb^Fa`r`;LUi]*P .YNiLTfIM0.B6-p(uٕ~(?@m2B?|.M?T%NT?80Y?1l]?aw_t`?}a?}x"Z2b?ְ'c?!@3c?jjߙZPKiZԫY@񆴲[XD~W3zVH?8TUts&QGK:eW?D  8%T[L UŨ ?xD8?FCD?]K?ELS)Q?@lXT?Zf vV?A8aX?8 Y?lAqrZ?AZ?N 3#S!)RfNRGc+PQ (ftO I/aLcɪ8Hq&{CϤ9yVR?|:_R?E/S?c_Mzj"L^DQKŃyIK6GV*E Bo&<;15p7Q)vcN%Rv?7'|I)?~.\#=5?JC=?r|WB? 74E?ƲSG?^`wJ?ɺ7K?{ѣL?!;"M? )wG`>G_uVFJDٚ9C'6 A',=FE7 1njl$ & (ԍ ?Eh$?= ;1?a@#S7?@-=? A?{—EC?5Ի] E?)hF?v[(TG?ݤ)G?:B3?DCW?=??r5 ?W p?׏`?CӤQ?V$rA?C=aQ&1?yŰ?u £?[?g >?$t&z?{l?0o__?G pe7P?\nnA?rr1?jYL? Uc?v]?~? Ov?mi?P[?.5N?@?M_9O1?T?Df?=?LUZ?4H(}?uRq?^e?R۪nX? Ĺ[K?EL1:??c[0?vav?\؊ ?T=~u?Wm? mdg?bb?W[Z?* kS?͌~EK?;oB?M8?"2S/?Ii'"?+WkPd?*`?JIZ?T5 T?,M?&|E?Y:>?Y'N+4?ܑ~*?wh+ ? D~\? ,W?0_S?v$RN?D:G?fIA?8?71? M&?ďp?.T?{2uQ?bș1f1M?:wF\G?P&/B?&5m;?~[Y4?7o-?#?fI)h?d6%O?W>?T)8? W3?5|KR.?v=9&?,<"?k? D?9 &~jB?aM@??7b:?j6?6T1?[Ms`+?Bz$?3?Gs?qg^\=@t=0"=Q"=$A(NwQQsY.n/Ž!TȖ8 mNdG ŽC8Lҽ~Vݽ%N.^_N{$,^R޹Vfn 4aN/ $g<`"ϢHnlP26qt>1HbgEXg3gCufS\K7e|iM7 nL+O@GcGv'`iɾrԾ[=m0'='%ϫ=2K(=*=RCBN==7=)j&=J`q*=|L=Ouf<rALK"½t47&˽G|ѽgt*_ӽ#Nս!ս 'ս̉ӽP,ҽxdѽ+aSp>jJ>J_>UA>e0>uA>PNf>lh>!.I>wXS>> N-3=- g33&*Iѵhf gS)@Ge΂AڿR@et17`hUĶ>XE>tc;>#/z+UH>X!N>X)~P>ʗ>[eP>]•CM>Fʢ'G>*)&@>^0> lrE04ք@!}|GyF]EM@zfP_1PғNSWH<;RPM\d>>xmRj'4|桾Mh(gNicTIٙ%rЖ_OazY3dˬzGyѪiq~Ǎ7J;5q>_w>Rx>`c>SRڵ>{\pΖ>`j֙>p:C>.u'>q|>ѱ=>NJ-s7<ͩ㾞J;B.vT|f݋pRᾀ|߾;y?ܾS8iu׾$fN䚹Ҿ7ɾs6R9uQGSFNVP>>Ը>pKr>|{ep>>q$>si,yQ>Ue>\Kt->i&>@>#=_)=()=mi=*@L E===f(=h=x<[Y" [E>WEP5>n|%>CyJ>%oz>`Vc6=(=Y7Dk=1/=Ӄ7+_=AX0>S^:>$ߕ+>}>~Mm>ݽ\>zK>%_Q":>|)>9dc>>WX >v=k>w>G\e|r>5`>F+>:0v2>oq>?a>]&Q>\ :@>㌡p0/>´˿CMRӹ- 6MtԖ՝ˢJ֏tD4(Zc+Ql+ǿP!t (z=^0GeܞOqR]}@`7gxLD¿㊱(fiyW<Ի|w҄bk(fbָY BF ỿrѩPrxF.O`u_`-Od/"ShS@-< PWRG|2x:aQmҾn(,\ ϫJԬA7^x%Y1.W2c rtIDasKwbZ6R,)YAk.}5>3Nln 88GC-VU@4 0*e-8(Z/3-0?ZFT@?b2G?y X2N?DKQ?J`S?q 27U?y|V?lyJ&W?lYRW?aEW?p'A^pT.mpqokV%rnnuNb*lCݎiQQI>e)=L`>GVq[G{V5_q/FaZG?O4V?o~4`?K=e?Mi?]I)l? F,mn?fKlo?yUlp?(cp?j p?Snۄ)?ބApf|vbl,9L-܏pz<ȨtӞIXrlxDW \Ҫ?0\?/B?ql?0t?oz?Ե#PK?^Tʕ?(??ג?>"݄?ݔڄ?TއOk900uyE_֩PKSwyN&nN9DźnY*D"pɛF!p??Ԝ|? <'?кfۄ?Dz?t۷^?M??c&/?υ?@?<*?g\ã ?`T&?)>| C}19Л)DW~Y`jaI²%[`嚰%T諿ϗ4>ĝራ1?&AN>?͜'ĝ?M(X??OJ?%?=? Ea?ȡ~?P(?6=3|?a %?slÿ8^ÿ Ljÿ¿i"+'~Pc﷿!5q9sr8yՙӝ0b{Mԙ?Fq?6fi?*Lի?fq?8&?qܩ?R?N88?6 j]?y}l?gOοRtBο9 οO OͿ6l̿Xɿ@żKƿAyfÿ\,1$_"m'ѝcl?;A#?@pr>?ǫh!?D M? oJ?{&?Cu{?|?Gҿ?a?y$;ֿsֿImzֿZֿߗԿ#ӿd)пбp̿xſ D- Duw>X ľJ:??߷?[7?|{f^?^e@#?j"5?F??ݮ?`?d? H߿b,߿Zk߿T ޿hV0ݿtڿ.:s(׿@ӿl>?ǹͿu$6Ŀ=ws99T ažps?.96?,+w?t1{@?59(?r 2s?W?5??fcS?3 YG?4Cܢved俀/!dY76tM:ݿOehؿ pҿ:3ɿwc㹿w<þ#~ ?71?!?U>F@?0L?*?x~?1 ?d0ˢ?Q:Zv?v?[ĴGe迋n=6Q?鿥:&'MaO2濯D#6ΊJܿ _,ֿcuοa*K 97Hh/9mJ?5U?Yf,?|h3v?O?#3D?T?P%2?h_&? ??c ;Yd?0?zU|?BI?ǻ?LMZ?A?vԦ?@Am5O?ˋ?=z?%[Z8g?mcQ?x8?l!ػ?B?? zz?Fv?:?mq{?>;Ox?iVzg?HլT?zf@?r &?uMAݧ?"|S?z$?]>D[?Nm?Xל?5Yu?_!~f? v=_U?˜FrB?}dƣ-?sF ?b$gj?!!S?٦?}E?R9{?2q?_|Uc?+ T?RrC?P1?-e>?+ҳ?%W0?Grd?5.vz?Bs?i? "_?|.4R?ƺ?C?&2?[ u? ?t:+t ?:Wf>N*t?2{/kp?xحi?ia?E5z"W?ƤȥM?/A?߲ǎ(2?!?e!? øg>Ӑ(>Uc?@_?ZW?ˍwP?HF?3|2m>MԿ>%>ER?:x̡M?wF?9e1@?N75?A+?dL?Ӟ?躄m?1A>Gg>,W>7=B?@98͗>!/Fj>>hY>nZ\1?+?T C$?ӷ?]?QPt<?,XQ>y|k>7Tn;0>Z(>o>\9>Bg` ? "W?z&Ԃ?)HY ?^g?L^4>(9WH>mN{?>Lp->ٛ>>a >X TJeޮ%Iu{0V/yt=uQe[c!wcRYQжc莥+svꁿr -ɏTĩy]HjZQq%RaH>pܠ }IyV=%WOxpx!iȪ#MMzO]3j5QMvz-&>kVXTpޠy 1IөXD2O*Ie:sq6c{{aDrI"7hq5cDl.oSZMK`/!Qjnv9thd}Ʉ ׇbY@k$OYLc2{DmO䢲t}+3(|ەP8\H;h|ISXxI]5Ja/exHmLJ׽s.tw[Q5Č@Cj2ScN [/V@+^*dQ/4zCj)pTSK1~>+C%uG&=5PDJ5VB4\]lN8[bX70efdi+Զ78wk*BƋGIC˔PYlOTU!Z3EG^hL*M&`V3 l/!Jr 7qq>* ,Cj&HHQl]4LQ`P"nr7:*~IL3,9QO@l}C'Fϲ6I1ظ!xPE'`-1ˢ^6;˧\@%0CZ7-^Es$Oտ4JJvֿ$Dxlֿ|տ.caӿ(+qѿnο%G,ɿ/u=ÿgXa71ʰct>W u1?R?wst=?yZN,??i"n?7b]?y|?Mgul? Iv?73O?9qԣƿ{ ȿno@ȿX?&@}ǿnLeſÿIndq`|?Xx;?F:4!?42?JB7c?lR?Lb?[p>}?_'d@?z# ? *?p[G@,EeB?j7ʠ?W 5Ũ?-)`IA?ݽ?i?Dn?|,M?ޙ?gO?ɓG? ,Q+cd߮^OZ\-2}u&𩿆vvˢqI9Khރ.Otyb>^qރ?,O?1?ߕe"ˢ?r; w?Οm?na9?xںP?:GT՚?1⠞?QeƠ?3M?;?W??WC2?f.Qޔ" jp|$`̕4YM,,2 ;qE0L F~ۄ;J/2g|elƞl:+^Qs>3?Sl?b_g|?S[qۄ?E*?b_ 0?oq?F*,?1sC.N?"Dq̕?ä?ޔ?;ZՓꉿP޹10ЊZF()~oLˆv{:@p僿򧘀h黰yFЁqF.8a9z>9;a? q?^Ӭy?Ҙ?PM?ĺ=V?-Je?u +p?:Vt?23x?X|?c ?e?6(Pـ?Tۀ?;r?hJLuxluIDuMt ?vs: # rd_oz+}j!1dBX[G+ZL[ޥ>%\L?x[?[~d?*d&~j?C%o?N" r?=es?mdt?BGsu?y ~ u?{Nu?[C@*l=хTl߆ǃMl<:wTakӊ΅i|dEgyd%KN3aC7ZwL1%(R=GXWfBW:=,>DύiB?%"n7*R?H+Z?L6t4a?Z$d?.Ug?i?\7dk?/lPl?v l?/ 0l?H7 cn+6c(b֒Gb+2*a0x\@_Y9b[+5G0VQȦQrVz H߅!_8qI까>icf8?g*QH?+iQ?yV?v.ce[?w`9D_?jB,a?wrJb?9ާb?Cʸ:c?~׸c?@pvZVZQZ}FY }W!!UUmRONHZ@"oZ@F'ܳ0-R]>|0?^@? 1$H?Zg g O?B(jR?QZU?,IW?睟Y?9~4%Z?ˤFZ?SQ4Z?XS+rSA^RnQȫPBFb6NxaJJE wd@ 7,,O'?+4T;>a'?O7?G@?'t\wE?:IhJ?8 ?N?EP?}iQ??ehR?boS?+S?MSYLm(p L^J0H}FHC \N@OC.(9kr11 %!K!? Wؓ>Oy_!?~0%1?ʙ8R49?i9U@?C?ajF?ȝ+I?J?$0L?ǨL?NU/M?FYGi+G< iFsUȸE Nl)Dz&/B+?[tu6:)4b24yzq+Z8_%?>Ն?T9+?T?4?kfE:?ӵ??dщ:B?+O6D?R8E?uwF?G?{'8sG?sbN?zQ'z?Xm?DՉ?W:?&`uJSv?1 g?hA'W?WCFsH?'k8?}&?e!Y?9a?LnX9ם?=6?-ao?@AQ4?of(?F o?1Rhf?'"&{b?{]?GrW?okXQ?yB5_I?B?R@9?qڢ0?A+6;%?Qj1Q?$=^?(9hZZ?AFWYU??3Q?OSJ?LC?3v=?/K4?3f)W,?nLn:"?tJ?3s2V?AS? )#P?;UҹQ5J?ēӶD?(=??t o7?áBG1?7'(?v*?p?JP?f@ɑM?R,H? lD?«[@?h:?Bn3?k| -?֩$?kM 2?6_m?0dI?A(`G?&q D?\W@?Mbx;?Fh&6?Wwa;1?Dpc)??Mv"?6? Yw ?H5E?(YC?eP2A?^=?,nzl8?03?*`-2/?z@'?QQ"`!?&t? ԛ7 ? ^-X=s,Ip=qL](=wz\=O4=T e4 =i= Yѽ!љ޽E5@_D 7*={5>Ԡ1"u፠+x4o9=03\1>-Ia> Vb Do~{ن0[-&1V"w{>b28n]Uû\&&D{/.8Fбny3 7Q;7M>@g}AaD5mQ;"7n@2yy3qf.6@ʹ{a&y<TFM^˅p>#{>W$.>)G9^>SEgW%>>1!S+>vkb#>tah>`2>t>)-!>ª >t>2>T…>>D^#>{շM%>ˤ4n^>_RC>&g{>]F߭ ~p>(f%>u"q(>XLOd>>S>J>DP>@a]>C>AJ>È)>֛">W"><(>W[H>AbC>BwV>i@>P&N>ؼx>jd>jD:(>mr#>z"?ccD ?C[Ac?KUE?bL#?G'?ט+?s/QG/?|m0?Y]u1?Uf:h2?} pb:h2?a1?e-0?QeuG/?WY+?HG'?H_B#?Y10?H4t-c?ID ?wźy"? >ԄM=rv=߉ =fW;=.=SMe.s=cSi]=_SJ=櫕)8=`>)=;n1>zϘvz= ' PY.Al=޽C4U6&ʰKLtkfP>\p^>y >`7:-[5_, be b2qfؚɮ(6fR彨u>.ީ MGRrZUfpB~raQ^B2MH$Wèl eެ $|툿wZ;w)f_ uV^EH AI5\$vI?p2sy\<Hbo')QQRr(+KHiQ~5emFg\&%Ki8LydiOzɦO6 udT*S8TsmD"^߅p>C㦏~&gmՅ[L"pKV!<YT(dGrR b,řQ(oA}i:MA23>qoybmh#|1W"^FE)Sg6 l &D!cKG?#7?,r w?>"?l=_?8M?XL?L^?|V? #w?r)?G?@NO?m .^?(9?J@q?BG?1;?b ?zSE.?N-0_?Y?5G?Ж?z?.?K2L?x$[?n)=?pL=?fwY? /L?.?` z?!F?+J{?ţhK?{Ό0.?#h?n;?snBR?E/Y?`g@?g?䣿?Ix? W?EH?sUN>?~:͵?QbF{?0WF{?G`?;?ZyD?]R?]_ ??I ?O@?ES=Y?oԣR?YI?ϋ{?S!}?xl?:܅?'?H9?#0ߘ?Ӛ?)f3̭?cS?)0qS??(?rzܘ? ?aУ?41?'c?m}?WGp{?J!?N?=|=f?*4?vCN?kJO-?n,96f?l^\29? Xe?H\}ib?3L?ؔp=?jܲ=? ?$wfb?`ja?l;]-9?G$m0f?`G-?gNN??:ڻf?Vo%5N?ۜ&?d ;?<ޟy?i?j{*?`g?R b w?ք0#@47@!X@wv1P@ঌdP@BŢW@CC37@);.#@ #w?E?Dq*??Jx?ҬP#?{}&?B;?+yF?蜟?o;3?I0?F{I?JGr@%!e"[@MHv@v-6@i\@mE@,6@T٘v@ [ [@9\[no@I?0?;Q&?֡3?sb? $W;?(p?T$#?LXc?y?OT?Vo3HM?Q$rJ? ?LN8@NZ܆h@3ե@w@Q܅h@6@Q0?I?lJ?Wŗ*@M?:?̜?:SJ?"k #?󥅒? %?Vwev?t=?@G@?0B0_]?>!/k?t?;i}??"LC?D1?4?G?"aG?vd?eSIC?y??KFSj?;jRk?ICO]?cl?@O=?&v?q?hٿY}3׿ֿ29տfsֿ? A׿ݘ+ؿ * ٿ+zٿy5NڿZڿ̪Hgڿq9NڿN9kٿTR ٿե+ؿTۢA׿T_^6sֿK2տ\AIֿ񐁈3׿BTO"ҊDbEsē8h$v5e 'Rd`<YENe%NHwK閿2#W\ځTsOdѥdU-`|S8@!)S %nvԁ_mHO. {ȶL9Rpt]IbTR1r A0כX.!6Gi2{Z|TOs\KhΫE4^O)PoP49AOC0M)vv4JqjZi\I6af%tWW8{ILuY ?0 "\Ϥ 2uxX= 9eZ/M>`"!@qXU)q:jP x F :k޿[.5#[ϚXpaLvA>=D8TOst;GeW"@n5ǣ)è H@lQQ8Ͷ0_#Ծ`UCb#Y>I;$^6I>"/VYd$Fn}[ש Ii jWN<fھ֩(ž8+3G -:F%X%(.mn 'G=(Ip qd\:sY9 ?te)mIsq|/&$,"2fJ񪷥u-VSlabe/`o] z<1z4}Q0uP˾CSX0_Kmi <)t ъˀc7+v7F/wP %2Y:1dm)Ӣo x)ĂGք%?LxUb9/,o_}K9h#/r'/zOb .}!KHj-7&Q/wYYi ˮub#ji sfe(z SDXU>LG1ySY@f6P\_Gc)h!kNr>A 5GDb/O3@Ujk>FhG~CԪI7IfQ3[EWC]^r8cr*G:"Ѿ@hE yTNLLQwRXW+}v>^0gE8X=_~ҩB.dG0SsNWAS?юpXCN6aF:q@`DN/MF!M&nHPJ3Ԩ*BL*rf迴P>PM~@⿈dݿ}пoOԿ4]׿&ڿn| ޿n +c#i)WῸ΋bJh-㿯~N( }>( 俐nJmC#΋⿞sWԅ*c+ ~ ޿3ڿBG׿NOԿ4759{п1"NÿIǿq,˿OοRѿʁÄҿӿ*#ԿD?LտQroSGֿ 4,ֿ8RֿS1SGֿ7>Kտ@ d#Կ<ӿѸ6„ҿ:Ɇѿ2Aο4 ,˿7$mǿdGÿ1 5O߷?1J黿ε\0 h$ÿ?uyſϜƿû"%ȿL=ɿŴɿ'#]ʿr]ʿ2ĴɿeдU<ɿ!%ȿzW&`ƿyſdvÿJEeEr T黿 r?߷[OV נrCǫĄ< o./tcs)TZJ]jqλY#λN\]^"[B9bq+~/ 2UM}XZhCT"&VPSgǸ`ྦྷ3T6WO-ɬC(>WyzwDJ[UB걿 yWQIUٟH0W6Xy@걿@9,PAJazbIoXɬL#W-WnȾd36H)g9|jK 板s}zBnP.kq);a W# //9á0_㦿@C/^㦿%sE`'3 /ca54%k{܋hB$^gg^}4i 板B\닗E(^H>>L8ʾ+זF\pS8֙T{\E穭盿K ҿԜciԜ|JO@N盿M5֙N?p+זM(̶8>BgK|^tH܆9+m>ze02=LP)76,l>[vNd8Ȯ.S-F[~JtYJ}lwJT|箏gQ)ku2nvl!bvT1w}`ŨG1wu?ܡvGhvM.fu,G95u[BFt4PP5s|r_ρp Unmx=4lL[le=pRg-,ix6b+j<Qldyn$?_oL}9paݣp!hfp_ ʡqoqZp"epwh29pր8^o3 nVIl<~jJQ)i9QNg@ (ge41 Ga9twʶbI7d~"4oe;Qԓfs51ghȋiF~w:)jI3j*uj2WjNzؔjYU6)jVk/iQOthvg3+zf sle=d 1i~bl,Ba1 }{0秿'ω&z*IWkoz#a.\B:Mѓ>J.E0b{ _IwlӓUHw^,h3ϦtRaZ kE.ELyF>ws"v1 \8Υnl)+. oVPisW_eaW+^rJzLA=U17p1.G% wՆ({:/Ko uOb3TPoH7kc;_0cc? \d=4怿~+ tL£(ki͇rQD,[42-X%rc>>^^zWaUjEQx;TKHtA⍶9n͹a2L`* 'c$]T,^_ҷWF^UGR)*YKNwrDkՕpw> X6Fg`SLPtNQ@ Q0G Azmz:qRt3UiK.+Ǚh&ɶ.AP"jf=SSґ5PGUI>?PED.6c?cj8 Y2(mG,>j`x%1㾭!яY* cjfߎ^.rj]w !zяK"0½~Tk=^qiνC%ؽ Vxt彴 E:n:yBx= y< n@>r#%z&T\R1.rDX7F&~9 ?@C]"ӥ,E>Q\ub>r`][LZfh$;Q|GtBvhp }7oWzAr FdRӠX>zM;]EhV #Ȭ*F۸^1d"53u9t=x`?v@/A((wA Ó(&BW׫A?A? Y=4u9vՂ5y(^1_+Ï*UV#<$,`bI lcg>]hK,su>i[(>ڬdt}>Hk±)> >%~ߗ>>l>>V >'5g> [5׺>m+Q>[Pֺ>ŏ)>5 >L f>> ܉ߗ>e>t8)>"i}>@(>Bvu>Mg>FUu>dz=>LY>Nt@J>FE>KNl>TO>#d;>f>K5>>D^ 2>>+CJ5>p&f>5>q;G>,:7>'+5>aX>U#p=> Ĝx>q I>K% ?a#{?*6G~?Pw!?0鹰%?:j )?31-?zLB"]0?8_1?`92?w2?a#92?@륃1?w ]0?-?|)?0^]%?`Z!?Zn~~?yY{? ?4T>Rd V! h'nɽų \ 'uz0b5uP] ;Cc&6@>ol_Hk b.kQ,E|ٽƢɽ QDe쪪߽d-'0v]IV> J.>~Eѱ4ء9G߁Ħ2Dt& LE @zu]Efoҗ>ι]l䀾߀Z=3Etse`wnKhx%Yһ:ʛf—@=H?f ^?ª|?̌p^?pէr`?, |#?X?ɖ85Z?\X?JYfԱ?hqt? ?-Gv?:ګ ?E?sl?}Cl΍?1 [?P@5܍?yv[?̍?º?.0 ?<??v?s?M]t?o=RԱ? 9?8Z?}`?$ش?JOo?Bo?o? C?X8?4}A?HQ?ƾ?@F?0X٦I?~?wR|?==Q?&?B?j_??f?P?ݥu;o?aۡ?F?h1J?"?RFB?^(?.(?X?lov? X?^5D?1??:3ABQ?;@?BUB?mT?vY_v?B?)m!?u+Jr?3‚?c $?=,t?nd?3[«.?g=?ӱ졋?=n͑?Urx ?/"yŖ-?x9?ylAmy@|S3@%@& Q-@/\@.u3kP-@$@E@ ּ‹y@A?D9-?a ?lD ?p8r? =?O4+`.?~l?k -r?^]|?ʣ5'?m?ʹVS@8J@_!3N?G?9Kf'?I8?Xer?<}l?C? #E?N?נ?0PrF?+ůۛ?j/?(`?6Nc\@("@u@`Ѵ2@K{m@9D"@ nAa\@\D?Z<z(?9 ӛ?Q;?kXʠ?w5?^BE?&?N㧷,?G, /?:^?sn?i.dz?B*p,1?Y M?gz?U%nѤ?bI '?iR?S'?&;Ϥ?C ?E{H?" M(JU%f7cUJ4pbbL2pQc:?S]=Շ 2ѧ%b諴;''T=V5{`; l y!5ˆ(KޓCNᠿ(i͈WER k\@4\4ht@^(ڝ[ eGK7PV XlU%xtcHHpP[zzh'}5j]mIWTL=T錇{u`o_i[1\0s ~зZ݆XK$P|H=Qx[>Y5CcrymI"vWN{yxE {L >T@Mi̛u^1Nfp?mpt vsn~ްB:k0F:GHHPAwW;Q`L%ϙg3-p%:ug;f?ָD1A7K?QR3Z6Y8# aF+g9tQ gnA唋;XƉAHfiF N0/%TXX{ZW%Ѕa`pf(0Z83=|QB^Hj.Pe YU\Z`#P`$s6:_(߅:88,S@bOE$JOϡm&Q 2U$พZ(zav4R⌁8X==B!/BT_{G?^Mr)Ruw!V/WVڿJ& iBŰ㿫|3濒;q鿛?qaq{mf2|O!IA 9}t\&7*U 789\~IC9ܹ|l6`ߔ"p\_2NiŰ0ґ i#Y:UVڿcV|οjKzҿ(kcGֿ8行_ٿoɿp#]bʿ{oɿWQwmɿwyȿ$ǿ5/<ƿdĿ9*¿zm=?.ṿ_E"浿>̮v\N]&F;DdCVPݕ}'qb!Y껿=%D4 e9~Ǿk} 3 ҿ%}1$껿fcbؕ=T񑶿M /Zdh^ Q.DO|'R}D/j]OƑ,8L#e)<谿=厚ry@'^[C*lygGuky#K?'^gOp84#9谿ºt%xKD O^P'4ѓj_Z&dӻmML{Jic"j`Re?uzZ:O/[20ܣOR7mAȥ63.h[ʦӕ릿]ֲʦƽh(g^;ȥ |= ܣX q)XE|:zcus R"w2Dόc TcqLC=bm7*:qcΏu~*ޛtO}} ?#Lޜ3F\??4p}թtÞv*VTy)YpCfLS0MΌCOBqקp{hgL a⹎ 7_Jo ~a?%o1$Ezޒ> MAzq 1fjdToГ@CJIaKr:L(yQh<>?3Y(=ASz^a} ë6tk~wRJgÒ`W6xvN)W=0!dzJ]R$5 k|6n۲0#6ׄ_}SaQzQ"|rxIzty_vvҝGXdxQ^8zF{4ϋ)j}a~T^5?1jz)uLhEbR^zxJ?iϊz~\Li} {%U7z_]vcxBNQuv(gxty yrjZTm7Wp iqe0{r9:s=tSFtvz&u\eYc#NvGőv w27w Uv{rwv3|Mvë H%5PGF/v"2'FQHH"J泒`cй/ZTeBZO]GNE]!AUC:7P$32@W,EJ%bWSg!H֐Z+oUθP-dQpJu>EDrNG>5A76`K1P=0*#͇a$rD zRT Vg`j RV_aMF,A};\JB5%%v80(УQ#>#"D qV9ZR;Ƚ+bߗF6v@N;/h`ɽ`rý[R<[y½{gɽ5νEr)ŽSu=E1=3G{HE=LPF4Ϗ1B fgm$8+>.kԉO>ULIUU>`_[hUujbK_˜!>3~\9(kQh&ȴbKX*嶾)uB,=o=#>^> ү>;~>(q!v>4>>m>>2^>Qrs"9>oV "9>F̉h>iһ>5:>v>ާv>~>pˑ>OI>ֹ`>)_ߚ/=A=Āw5C`>Êk>/DNt>{j"|>@>$r1Ѕ> Ѡ[>|m>XzCގ>2#G>p˶>\˶>IĪG>@ގ> $3xm>h[>)Ѕ>dk>pM~"|> E"t>8t#k>E`>g8>mm* >w>">%fo>VN> b$5>$(>F̩9D> >a>KL>&MO>k{6D>>JI5>?> io>5>)>L8 >Zw9>}!U(> ~>QL?А뺮?uiCn?R6?B[??L=N>?Rn?(?k+X?Bil?.ZK>?F ?V[?FY6?ތx^?uv驮?`<?Y>gXZ>XaQ-j`?\s+?PϫsO5?kr=?jB?nVG?c]J?w47N?lP?KUQ?Q?1'Q?&OSJUQ?lP?&}/7N?%WJ?dlΉG?TB?hr=?e`_O5?'heV+?)'jm`?bY½ =Ž}TmA?sv2i\lsRCG~[67c%vf\EN=zp<`*b >ؽ 6)Rνd[&~ýTֺkS)~ըVWliQX mCjpB>} x>#\O43~ 4]ynWF{}Wj=I69ڽOͽCE}>yu`Kj؁cɫ"VaEWGh/$,8)?r|&o^ H"6޺`pqwqմy9E|䜾&~4Zpݙ|7nl7l^˃S]':[N=@l@GJ_Q~qq||zEyq,ih#7A}X> +9pG.EK#R!1^u?YvMusq%qdI>rTH21.WLfeⒿ&ѮJ-kp";`M0P3VĊF<[7饟lf 7ym-hWF4 @HGY)۷HH.䦶ED킿ER#q z'}0a).E݊YT gwqpTwYG.iH[ CG#xzV'R{K \-2:3)*?LX xfM R'nD4Bp#^pz97A~m7l BxoOؾu|?6EB?mu?;?Ѥ?I=?lQvG?t2^?1B-?9_Z?*d(?qDdd(?OY?dr+?ґ^?_NoG?k=?1<Ѥ?\Q;?~u?TiB?!BĀL?>zvj?Ѓ}?7"?Jݳ?ΞvH?1B?9"?4qwi?;{z?fdRX9?$r;?[?5`vj?'s5_?ff^?6 ^?M4_?Gאj?Lq?;?h!9?ڇz z?XSi?'?(?t?}S"?%޳b?`@?zR??&=f?/ ׅF?sOd?"%?ZF˪?7??n<+i6?=Q?__?9O5?Q?1tƪ?_)} ?zwd?&=?vi@2f?"40??>0?E??vj?IG%?5o0}?9FG??O?M0u?8[:'?5}z;?;?/?圯.;?O'?3q?DFK?+?rG?ơj }?ۄ%?>]7ғ?yw?]Y?Fƿ?v@5j?Ut?IoR? D3v?pȾ?oGh5?3ꟲ@n&@J@ >@G>@cgJ@}6\.@ G:5?f$?!v?PVuI?\?[)j?b~?[?x֟?KRy?YƔ?ew@@H1@i!qw@,?H bV? Q?S8Q.?Ls?n3??#=$>?P&?$?@>՝@ m8 @"Y]@ҷ@kAwҷ@P]@`@dC0ӝ@OI?@/(|&?J>??Hz?ι?L2.?x[Q?'?Gz{4?"?rg`?&)@?k?D?Q?E ??Hn?ѭ?f??"/B ?NX?x=?ʑ@?`?c""?i?6?JJkQ?(Sſ5\\ rs?P?xJ+?8U?+??kԯ?ibKz?ę?,>?i>? KǨ?Cz?Wǯ?Cz??C?H_++?z\W?$ls?V,F=ݽſ^VE\翇CVN꿽JX0{M&1#ʭ:ŵ PM4Q'& }-iO~ ☴R'S? PkƂ:isLD{r> 꿽hFt翽?OV+asƿ`?O¿pbp0ťܲ|EoslXȠk̛ G8p,J[6>LsE洿2bWLnސ)y0gׂF}K"Zȡn].+H\f.3#C߮EDu%]RX뎿.xK٤jIaۻ[iJ3f6@}9Ɋ! ]UGҋ%tV`b|MyJ[rZu(fbBXI@HҲcXP0|oC X5&Vb9_i2\ v$bN-?]ΗV&P(IWGi>'2vx>R %# қWUhL9dݾVO|wML +E;~@щ68]6]w=-!!p6nŷjO@2;mJ?;d@$/5,M%'эӐ^ѧō)1ܡSd`W!ҾvXRt=+|`-&%4Cu7>Mhtk :,j'l:{dk+rϛ9fᪿO0v=;\L9'j x_OhNȀ! VA( ݲ{쀻Z:nSg-uv- E "7 I9SX'-d*Tq{~> 5?| hk+UMȾnM a*il?'w(눃iبCԧrL!RHR0 >UN\Hf2Ji6rL-1|& r H:80OfE>Wv baSlk/AWyf3uO8醿N˒kJ4fRdD\~x"eh (9oEv8򉼛 aHYFгOi(pOV`>%`W:x<"gzAp FvE n[BGOə}Iru?x8Q(Uz]X)-Uabׄ_gz#o^$P@?328E+:L8|S#nlZQakbJg8<$]BΌIG/ lhCOT5OZҦ jBa8}{r9_|\?4-D~w~+IݑPzhLUM4ZnZ]L7tiH3${"NbnǍ(俍͕]gz߿ZYYڿثgEֿ}$ysпƂϿgοV̿QFcɿ-w>hǿFR(Ŀω4ʟ¿쩲*o˲.Jpq벻5z2ڌ$^ؚnܕp¿sm?8ÿeeÿ$ÿÿԈlBÿ]8ÿ9U¿a<_?uߩz Xkh<MT`"a*"TQ+.Te^elߩ?_|թ/ɤ +1ʢ06y(]$[kr vq闿Ϋ+Mb[r1q𙞿I2*9F2g}k꡿륎ۋ.H꡿(2.2'"qՙ+L팜L5闿I@rn  N|&.Ũy42ẃp_J r]sTfBu<֯^v-lw!y?@rzzSҜM{Pe{J{rINvM{~Az7bz>:q!yUw6CvfzAu򃛸s"Kr7#}p.^mhtjiYlORnۋup>XޜWq G2rmOv6ru'?siߕsTjs}kT]smgs+iA?sX4r,rȘhVqO٨tp3t(ngl(rjͨhh7zcз(dbڒdMf){ga:i/WjXW$*kF}vlk4M.dY#Zqc9wbv66awc_ьb?#[fϋ̵ |N۪RlcawJI\%IpMMWg>#ʅ{09srҤ鳼F[@Φ>YO`x=a<7jd[/L^>xƦF1..V]mIn;^_4Du-g{u50YSrK MJvU>/1_VFCٚ,g:uk)O~qA|]c9tVb;= OIETc316a*IƩNvgo@GpBm/$g'F?`;ZXUc1$dM.\fC_fs9C1 R(qoLTg6VKa N)X_RTUJQdG __@qHr6ꋒF/7q& ZMgavg%JZ$=;S>< ZK؉ʧC%̽@;z_Γ3 2 ,RfPu%9;a Z_xTyKtNF禁FEu{@B7z}FV1ɰ^)zҴ{#Z/r,Uybn?zP\OJ6Id8RC译0^9 >!s)7$1{m_+N'*Vo%ȹ-'m!):* B@kRKnRI^o=zg=Mؘ2q=~Zl=K5h48^Ɠo$~Ľm$Upɽ .bK=9Q2 > w>GCK?4 _v V%l!ls#>miD>@徚c>g#D$ 9yP:[6d Rkz(9cr>z>o\atxvȇc[N)e0[H[>nP'ijƬ趾]ڻ|/'ٮ߁B=*=!_=q K&C>^G >%P>>I =v>VX_>@$>'4@m>!~vN>TCOl> >K\>q>g/B>JF>\F >;|>v=Gz =V==Z~ZW>:I#(e><q>yzMx>/>K"E>dh>r6@@>b4>;x NЏ>>+nĐ>bQ>KЏ>E G>N);>->f"?=>>)&Mx>7`Nq>ie>a4jXW>*ݤ>+>q7R6>x\+>E>y7>S>1cҪ>ކ9>ܓg">esP>2a&>{P>R?e">h9>0⥮>GG5}>rˤ7>,~E>͔K+> >IU5芳>Us{ܤ>!Z8>;E ><<>㩒G?CMiV% ?f?W e?"? 5'=?;?q8?ھÿ?\r8??#=?< ?d\}_?p? % ?9G?6 >>6> A |?Hwr%?rR1?hFO9?HM?@?zq E?& I?`!L?5̝O?TRUP?ݠʪQ?Q=-=IBQ=B+&rf2!h2/ZGn C+~ZS>jKw<>.!ŋT=0uĽgԫĽjsS#Cɥ Q0)Yv,DFeQN\Xw1[Q^>%ݔ39>jˢm]S:rM ȋh /K* bӽYB$}ƽ8JB>ݕبS> -jgAg匷]N_ExPܛUA~\1;tM"L-<!ƫ*uifEbZ+Nۼ\'쳪Wdt/`@do,S5U>FD9Y/ɿ]$$rRHї! ˓W6LDcIqɄ-a4QTo gſCwVA&¡I~~jmdȪ\ K*YN{JxD D]|C4͉PFSHxת&g`HVr:Gu+>8,q$2j"v낿SOAq~K*agQlPX-A(~P?gx8JzHhWidZGk)c%3k9S`4R5Œ Ts~wb)p65`O"NOAQc?:#0^0ǗplR3 i_t Yd/PmSk1C5Ha3NN5%:+뉿MNTx~ҧ&g RVwEf:,5 9gCD&RV?zy$$[hDogWjmGF*;&6&FEN F`FA%gVWEHv5&$4n%]W8 cAh)iS}LBT2Sˢć3"#c4"6~V;HkKY_n<. h+Nd4 VŠSྙrcҾ6s?:?C>.?MY?pzY?O\E?FzR??12b0?AC?o ?7ɔ7?l ?Z C?+.?ϥ? IrR?L?$ N?'5?~ 1Q.?IX?{s?q>j?O&ߜ? ]?'4-?=ߐ?x_ ػ?Ia?O?Vo?S?լ*s?BzMu?}LĻ?eu?\q?H?z&cV?+[ג? /-?AX?.p?l?X? a?Z;Z1/?o><?͊?l?4 Hl?}X?ݲ'?=xȒ?}}V?oo,?7&d?|w?}E?RzGA?$$?uCJ0??`?g~?A}?,%N~?vB%@?%\?ڞ?9]?I$?F?jcE?oQ?aA?jֶ$? n?{l?͇H?kZ>?ksf? um?BW^?}kDqп:!*俺`濏F98N쿞En` X9Y^+[Th'<`yջBӢ Έylr5x} [/N9/E1n4$N⯮ Fx濫ŸIp#ɿĿqԿֶ)𡢮/a,=/VSfBEywfLnBE.8b wP2> C*N!jИ nr|."o\Kܾ\]5ȾwUe;o"q\.!)vǵ&(f"8I"fDFyJCRa[تI9m`߾N;fݐrڏ cmc ZQ<1SX 1Qqiω ŸfIѾ`wZ3Ñ)Th+Vpdd&s%us8mr{xYhTyh%-;ZѲ;0¿ R6&Vx@c.q]֛gDNP&#4'柹T䖂RaGGiPo.cRu|)lj44 /Ir^u밿*I|F?S;^9jwwNPa ?^ByZ>93@Q6H(؇Z^ݢ=*e-g X=`r?3É~Ly[*܈Aϯy^ Th&\ND0KޓVUKXa\Uol'v>c~,"2 #A]J~RKK\f7tWfֹ̲2q={ypU9LFt pO =HW&LaՌF(i?rszB )񜂿:rC(I.#J~eR#[^PZxs]c4Qk syyq@3g|E2N v U=r*m]k7Tdҵk-,v.rršZ=PI{BmHKAFP_TVK4(^wn)EWcMc]}AC5\jv9 @_g\?VCCI~COmSΞ;Xt,gp4k̿7A6{zLyfdXr2PQ}- _-|znfӿ?V}ؿ JϙUݿlq}l$i7$˗ A#EugUdgـpG'NZ܅ /O` k.LtMZ꿥1ـQfUxd#3 忮V6$3#Tk*Uݿ{ؿ6/ӿ2Lxgǿq_pWL̿%֥п=Eqӿ;@H+oտ9׿ t^vٿ,ۿaYXXܿZZ!FݿhݿF#޿iݿn͎!Fݿ@#Xܿ-u~ۿ:%vٿ{׿Jt)*oտ3ݏrpӿ+ԥп,+L̿pgǿRbP++pJ<**ĉkÿE ƿ֪ȿB˿r ͿP6οO*п޶䜯пG|ѿS=ўѿqY|ѿt пV܀*п= 4ο  ͿJ@˿+Ԫȿ#vƿ.kÿ2D.ܺ2.C,^垤9g̰¿z)¿wtlylxǿk< $9[v,0-ilw||꨿F`kg;A᯿>g;>(y P1_;ґ?ј xJP-H LEٷ /迵vJ/",֊8|b  9Z4.᯿k1vn꨿r$-?w Xj#, ṣ̌p} i? m/'JpvrڅAQdZz?DS rqO|ׇ%'PO3qZ=:/)̣|BZġ;xj!XQ=54]h!6=Յrʋ{b͚V ƈ˼w)\$Ab\"Z ӂ'$伕 ߞ>Ae #4Ů>]rRYxJx\4.Ȼ6ɿ=y~6'qEqtί ^ ^xl1n3ev(Ee٫#b=h]8\!Qj,V 30D7:y4DޱzEF_Տ-i脊 t}syv>yȁwHQ4=T\˩nTWpvԟTI5rCr卿 W卿S r%gbДgpjX.S01tD\ȯ;n-ǁI*FfFu\oHox> z50"E}$caݶЀf]T#Mm-7G1"1LBH 6Ir/0#*X|H ޿}]Ѐk2,E9D} .ez/'imx0u0c]og'UPq rt$ubk J]w%D8xgyg]Vxz{X{>u{m@y{(uu{{b.xzyhxq%]\ww uӐ5tu>rhjNqi: Xo`MPLgva+iZ kPs)m:Ӯ'o}0JpSPSqHBsrtcsD} psM sJ{s>sKos$W sv-srv^qpw%oAm rkީiLFgr/Abrcoe|dkVgywӉhl1iۍǓkc=lǕ30l7]m\ m>,:@m߻mFm#5ult5lwōkB? bic~hQ^g7e머'c'$;b^ݔ^`Xba"xc(n[;d6kNHe6f[lUge֣gre.h+zbhWy{h.!bh dhI:gilICg*U=5f(nFe8^8d E hckZalhY `ӆ^ C¿<3UQA4O$Tost%dV鋮zT 2) ENd|06Vl7):=3w^s֓BpJh*/,c r!KbmYZSش⍒E&6pX#*+Z"G%*6N8ju nn|1joIjaqUuR{'XWD6v].R+Lߛ)v=f;!ȡ,, >3pmMwe#jx]am]P5X8Cf'#6Eŧ+igœ|vHvR~>0eYxrBi-ejYu'MqAv4)=0E/"p,\u$zy BqK:"PfOťU\TaQ5"FwfS;ޞ1(d( Ժ]c}#~^~WlOQue֢Q`JJ`.SC~2<>R4`v-{-U&CM!jeN]HP&W 8R%OLL#AE. Hp@7p83^!#2n`,+O k$ ѵ !XBS!-OΖyHh B!I<+(5X0;FJ^)#Ը#1^} tT!`PXK-OEE A pvYg: 5bK4))/m$(Z5#gf1 ƥ8klXH xo_Qzluslý<ҽW؛~=,Nz=^ܽ|:$@pF8?*󽈕8{mx&9u=b6w2>*-h" Ft+C⬳(1Zơp+=ȥ,>}X>B&q>0 s^^Kg/Cƭ>iŞ=rv|>\>"x6|Xx>`>G*+>X;f>'` >ϒlk!>dY"> o[">r"> ܍'Y">&Ojk!>Ik} >EWs`>!M.>G,>j y>COJ>Tn> S?ޜ= > 1s> n >Cϡ>0æ>M>_X >+9>0_>Y9 ˜>[<)>k;)>(Jɜ>9y]> L>ğT >> ke%æ>|ϡ> M >"Egs>'/>%ş?O>+l>E>W&%j>MUj>:+mH>.1>\u>V2> #tP>R1e>BTd>LrP>UEײ >Jru>y>d/oH>Y6/b>X>)>W,l>dnp٤>ǀ5|?lg7?+u*P?H$;$? wnN*?#pY/?s2?kG4?*N6?77?<$`{8?y8?7?9X6? D4?ʒ2?7O/?eDUaN*?'ކ$?Q4?'F&?(?03(={-l=4ü|~[Fy\h4q3E_cYy̪Ni趯>[Qg0+GV&->~@* mto}_|ڽ9V̽+RTJlMqS˩<®h>9)VI>*Ǽ1e>+jy!!nduc3u39Vh+N/M8`>'Kb>o1Bu[]sf柦h D[M*FHe?{0EZ"1J䫨?2qW?/!?fU\l?y[ZW?2C?9qa/?p =?Flr?Lϖt?㼬L~`?l2rJ?a4?ȈQa?6)(-/?P]^z?L57d?eHN?3^Ƈ5?-؜a?hI>_f56~?*)qQe?}PfL?m/?)#,R? u#'. F1 W^?0&ꅖ7?<4"y 4Q ?gS6}|CQ eHT~D/JG;}:%1z6$? 'c XiURK1m>u$50Myy"GT]^= aeM8V?bOLGƭ?l8uǿ)` b>3^=h L8G4<#N<,>zh/iT '"(N_sҌC:@=0+ӸJ!)qgޭMmT-澵MD߲/E8@;wcĽ&5,L[q[վ5×?k{ﷃ??w%?#|?$kk?ܛ(Cs?$#!? \Z/!?d.?㢈zov?.ov?-?@I-!?8iﲿ?И2=s?0d?|?}%?|I?P?aOy?0?-?&St ?P4?^?&D?X?ܷ+?˱ ?1M ?y"?O·?yO ?> ?\.?N?ܠ+lD?X`T?W)?SH?Mળ?I ?}ž?8?X/3?p-?=d3?Pҕ2 ? u?.5A?eϬ?%ЀG?t^]?Bb_?$??]'j$?A ^?r?c[2??!:? D??u_?Dc ?#\Rpf?B?~L?4/0?M(,?Q (?I ?H!?9?0B@Uk@l @D$N @p4k@i@N6?C!? ee?*(?m,?y?ݔ?|?`?x|?z?l:h?+Y@ESJj@X5% @) @` @ @ޙZ @7CZ @ @ @7 @" @PD ^f@jz@3h?aE?r]m?f?$x~7?9 G? ~C@ @vÓ[ @L@A0(l@0P"@$;@QMD@yfdZ@L/jdZ@"@;@Y!O"@Lj@[@fxU @o+'$@uC@?F?|k7?9?7*"@(7?ƽ@<6$̠ @6@鶮 @ I7@on@e~a@j"SP@ZWb@#@fRP@}g}a@Ѷl@x{7@t @I@G`à @S䊼@?K@??I\/?zQ @R @R]f@ [@1 @q@| @&@ۈiZ@c|w @U @XY@tq@bO} @@Iڧo @uX@0Ѱf@fI @M@]g/?Y;n@|!( @C @}FL@34@{6EL @#:I@ @o1 @ԦG!@Hs!@Ns!@?׿rG!@0 @m@Ǭ@I-, @6_@JDQI@@e( @+_ѿd@p+;;&@tG* @4%xY@<3@zb@aڱs@!'z,@U @ܘ!uO @O @!@ϣ!@Ff @'O @o0 @Ts-y,@2@ 5)@P&2@WwY@RD* @[7&@I?ĭRY?[+ p?B!wQ|?I?:)[?lH0plW-;AjITj)Js1ە=O+)g7 ?z]?7;6G y?\#݌@c?2?YbɎCcj+IRD͈ :pA,,)Zd/u?"ks?ז&b?*cש"H?/@}-CBa9ʹ:/.g=2A anQfIL !,Yx{_HD$%B?_i* 2?A?MyWFE?#Z bpI#'rr_׾9ix,?w=?$s>W@kT~$mf|GEI^u!2ھ׷Ǿ:W<?fT?N5%l{PRE'Z )VzNz)h澛Oj&ھ~!1ʾ']0x݃k?\Wi>~=Ծ|sCe7dgKQWSH+׾V"˾%:/iۖ(ީ`">Ji>=KվaO#)۾&JԾP{YQʾ}a6i|j:!I{&˜8dɪJ?Z[?m?rë~?o**E?a]3?oW?J`M?8B/p\?2[-Yl?&C`|?9 T??L?BcX3?,ѾM?Eg[?Zj?(/Vyby?J\Ek?hGSa?Xa0j?3WV t? |?ɤ/\Y@?7H?xX|$R?Ob绯][?-oNKd?pL_m?7ˤt?{";?x'eC?S L?h^T?{"Z]^?|^ve?Him?{ʌ5?Ћ>?tE?,O?HmV?T_?d?%0?pM?B /?5 e?#?]0G?殍6?uP?Nh?9k?5Qg? k}??(ϖf?_f?}JҺ?V}?UDSg? k??}e϶P?m[6?h?v2?pӗe??+8?`Ql?;g5٨?4/٨?-l?vK?ڄqG?%3d?)r?Ǥn.?KZWz?1MN?٩ ?`E?C[?/Y5˨?Z vA?DYա?W i?jݲ?,(R}"?uY0?/'GS??޳ֶ?Gֶ?yc?H@S?0?}"?7gݲ? i?1ԡ?btA?U~_˨?Y[?WR3?512?a?+?Oȋ?N}4?+V ?Lを?]'Kٓ? ?pw?<`Ė?C,H?>ދ?ܓmދ?H?uaĖ?{?[3Q?4Nٓ?C;䂒?GU ?h3?-_1ȋ?+?dm,ޤ?' [?Zcb?ǿa? ~?q%&#?opĸ?`F)ɤ?xv? %@y?@wq{?.I^~?v^?IL@s?E-1e?m0?*̃?_D7?kM6Um?E0Um?F7?(㩒̃?GxK 0?UKe?ZDs?V~*^?)^~?$o{??@y?$״Пv?nj~n?;p?81Hvr?'5t??`\u?-w?oLx?:ANy?a_z?Pz?6ٶWz?nz?1iz?uez?pINy?/hCLx?t8w?^u?-*&5t?Hwzr?5yap?gC~n?c?B'qaf?k%Rh?K֌j?k?5 m?lK5o?Z:p?ёp?q q?0y5q?J姺5q?'> q?~/p?7A:p?l^5o? #i4m?Gk?3dj?x9rch?ogf?l!*c?˶2HW?lGZ?w \?^ ~_?3 (r`?p&a?f xb?VL#1c?>Ic?=!d?GSd?Jח@!d?Sc?111c?3{xb?aWʙa?ɛ`?ȕB_?{W6\??tGZ?65X=?-^[ ?2z`Rg?3 A?ݪO`y?g6j?W[?EHfL?R9J=?k a?.?hXG# ?|, ?N?mz?7/MMu?q g?W|J̹Y?{ mK?pI+j=?/?U !?ym?8aL_d?xOj[?KR?KwdZ2G?[b=?f5k2?WQx$'?, ?ԗ΄m?35e?CH~)s^? T?܄?L?, PDB?Z%8?l.?nF#?Q:@Z?xVe?5̥*)_?l\wV?C-BO?IE?7t(,=?EoF3?7JϳT,)?-&6t ?%' /?^D5d]?D=lV?sQ-P?G?9(o@?k#H6?ls-?LrC{#?b?[-?\u{S?M?asO2F?,hG @?v6?:6iG/?!I4%?^?<#s?`IW ? H?Ј:(kB?!|;?Wy4?lou,?#?U1?|J (?B+z=MU>=ś=3 н1C"=Tɴ7׽ZཝFgq"]Nw(=i !:+>UTP@>3LԀA&ز4/g0ܮP# )TJ>VWi>yL\>ll{s#X kc{mЪ6uL u< T>ԼC?>ڲU>]f =@_=J>c. >q>gUA>r]>-v[>#e >Vm$!>La">F">{`">\!>NT >:>A'k>:,>)iu>rs >d>I=bml=8|}>c Y>P}nq>6+yĞ>2b G>7/7>ٗ3>X>.KҲ>9봠#>1@F>-ˌ:>Q4SuE>6a#>ѡҲ>U>R>\7>G>e^Ğ>#@>*X>fڊ>!}>BO>M3>.HA>VI>fĮ>6:#>T>J> ]W>Qq>5g>ؓRXw9>o f>bZ>(/S>[n>z`e%i>eh{>Hf07>`" >1Cs>X>>@ OiC?Y?&.4?@r4!?/y Ci'?KBN8+-?FS1?*ߠ3?^5?ݾ\7?7lzO8?=a8?WyO8?j\7?):R"5?3? IS1?!/+-?5]g5i'?`Q&!?O??\q?8H)B? =V'ս=`̠="hJq=+DR@L>V)ݍ!M 4Hb@0{n 2{ n$ЩgYϱ:>‛P>;(M%Z=V{)x콼Se齕֕~ >C)3>sܿü+4Ӟ/=a %[d}[. %[+ dF?we7>i>(5ڄjA׆*vhh+obTME/7[+)Cl::?5[?nՑ?ϥ v?93b? F8M?$ n8?Čr$?JYi?ֺ?m cǕ0?Bj?F`\T?x604@?heD(?{ɚ?a? 99y?Xp?/k +Y? 'ZB?G(?޲-j ?'?ct>!?mЍr?,WX?L>?7 5d ?7F%>:o. am?xa{Y M?n?*(\ÄDE M3@fyeK>mmnD(GF&WIBAJy12 6pl*je3 `|uP"`$KRq^*D(6ϩ3)1E8\ꏘ (O`Z^VnPz)@ك|12ι"~]*!r1.(UPSV}E|_#z5F&)8PH '[X7Go͚z7O0.(u;-l >8Jl5|"2{6}k&ɔEWaD5`"j$[,ܾ!+Ѿ4Mqv?<ܔD?;?rr2Z?F}R?Ƿ?@V?Dp"'?aFO?hǐ?ĦK?u?[DAK?dh?eM?T'?IlO?p?B>uR?[۔?:3夣?ȪpD?v?!KH?,(?Ű4YH?ۈo?U* ?V?꥗|?B?(Ccb?Gxu;?w;Z?#`ڻ?R6 Z?:? ab?: @?Tl%|?5?4. ?NCc?$bV@H?S?Χ ?%ڃ?HQx:?G"?`v|?j7pթ?V?ѓ??'cbrNM?p@D?6D?1Q?x2D?1C?hoLM?Ҵ$?8 z? ?Sejʩ?4tj|? ?ߛ:?gd?t?Ar?9? RP?[?l<J?@o?F1?Sw+2?@]L?VC?].Cb2?H? #:L? 0j2?DE=?U?vB?ɪ?2u?CR ?-ňr?ݶT?2] {?zC ?^? ޠP?a1?"n ?eϹ?$j?i]@)gWj@0<t@k7&@Αs@lu Wj@U^@tsߓ?Wı?+g ?+/1?JH?WQK?᠒0 ?Ҙ#@d<6@f@jYH6@K#@@>v@TV@J+ @<[G@@sQB@ퟯ?1~!?c&3?^!a 2?jP.?[!`@k߸ @]8@2@j -@j9a')@{4@6@_x@&r4@; @҇# @k @4@@u@}6%@di@ @U@;5U: @E9@?o? @c(@-@<ˢv@!G@Qay@5ɺ?U@y훁[ @F !@.6)s!@0T!@ZeKs!@K} !@}ހ[ @{YS@íy@+!SE@Ϡv@*O@dk(@ʹ|@Nl??u5@m\?@CU!@i}t@~o@,Bz@m4@@ӎY @ҵwK @ P!@L3E>K @oY @/@~4@Ia@|o@;b{t@!@̘Ps<@'{5@ꀩ?|cz?}?&Ǧі?Tk?0To?ԬFB&?QL#L/ToP VM1QɦiionDc؋4N!TF^?VGُ?K:'?^]p?JO(ʨR?:KlW2%FgH' sGl@3ա0V#x9ś?a y?k?!W?j1i0?=w8{23DD;WY~8U~Dm0{"}aIC/<*q?~ld?>U?r>?S)=hP}=U.mvU( jVN jOK(#T~\?4@P?㷪n??P^!? dk i` E1S YJX8P5Rѳ2:Qpс4ݾkl2G?@,W:?qd&?>M0: S7-ңSj'{׈ K|WKkBI`ȭR;sP3?262Q$?|*W ?nB9d6վqEF8=8JL)e^Ѿ}|ST?=*?k5>J#*oFi'\ }3wbPӾhbu¾OKߺ[2?wsn>[h>liAA^lcrg?nP][徖.+ݾHzAXҾ>ľkmzM^6]>k>{ fž|n%"ܾ_oD4c[Ѷ޾=ؾE62!gоD[PľѼc;g*m %eyRsC?j,S?w ]d?YUܜ-u?A6cf?\>?<ϙ?96J?TE?{5T?O1 d??'YMFt?FZ?-5??n䗲?0F?TE&T? b)#c?د\r?Ň( ~?Dc??6ZG?s")~F?PmѾ5S?G&ka?j1o?|? 98?%wm?rZD?CȣE?RYQ?pʣ^?9j?h!{,w?X?& ?QG?ڞD?zmO?p>Z?*f? >r?bk}?CPA1?BX?F`9B?`gK?sYHV?.ta?2XQ^l? Zv?ꆋ9?_-Wn?s+@?gTIhG?qB48)R?[ W\?@5e?!a6|p?mx;+x?䓘PR#?(1;?6C?awzM?|dPV?=۫g`?nG~h?zq?_gJ.x?-V7?9U@?b?ǀG?TQ?;c8kNY?27[b?U*Bi?#w!q?jxy 2?9?82MB?2[iJ?eR?g{Z?=bb?G9E!h?-?_3?o҃;?g,mEC?iAoK?ձZR?8⹅Y?,Y[`?Xtכe%?./6&,?V/O{3?VI;?FB?nAI?> =8Q?8@]_V?U?h?di!? \&(?tI1?::<;a7?vZ|??E?q4K?q?B˴?!]'?6? ~q?ZI@Y?[Q?hv?Z^Rv?qb6?q+-?x!?,?s ?߭u???P?kTY?TB}q?GL?*`K(?,?5M@?mX??9X?)d?%g?(:m-?z)Ż?h ?Z?P?:XI?~Qp?l.I?Rx?q/Z?)| ?SCĻ?Jm-?-m%g?{d?_BPX?A?iX?{uVҼ?5?jcq?Nn??A5?3jW?N*?=8-?e?Eˊ?B2`?(rˊ??K?v7-?LÚ?[V?n??vL?H?) ?Nq5?Fм?<IZ?IhXW?Z=PH8? VT?m]?IT?Do8?TѰ?K #?Le ?I#eLr?Akۺ?h?n@x$?]?3?M}??X/?wy?W}@: ?xSƠ?=(?21(?8?xl)? uP?Q.ȹ?t1߶?QFŹ?z5oP?c)?Im+?(?)_=(?헢Š?; ?Hw?$^+?? ?S-c?eН?VK?4 ?.]6 ?;1?1%Ɔ?@ ?ڈ?褃M?8si?4.c?"i?p?'8?A< ?[1Ɔ?Yu? 5 ?zr ?|?k%|Н?즬-?p?PظK?h +?x=uس?~s!?{Bc?\k0j?ST?XF?X1ɡ? 5??>_(4?jm{??&"2ɡ?)uF?]?=0j?l c?+w]!? ֳ?u͝+? B?\y?7L?Poa,?8Q:*c?F?ʑ?)3?,*MRbz?u I?x9Ȏ?B3 ?s:Ȏ?I?WN;dz?kw_?R0³?OmDi?R[?Y:-?Hw?AlR?6 iD?[JE`Ru?>ݫ=w?l!z?i }?Լ?yO|?Kyd3?*=TЂ?O L?"Y?c2aUY?^t?""sY?#[?iڃ+O?_XЂ??[ޠ7?Լ??; x k }?+z?|w?N4Ru?>|l?rip?X?ۤn!?Kl#(?L|aw?*Q1 k?쐫^?دe50Q?/C?%&5??cc'? cח??})~?tr0K?W}?אHbr?3(f?ats-Z?iqN?:MA?{R4?S+n'?/4T?U6{?b>ˀ?Ҽ:[F?@I >?ǷkY3?L&(?* ??X*~)h?U)b?rDZ?^8R?&jm?J?FEA?)7?v%./?EnR$?M9?d ?YN9v`?xx6*Y? kR?`DlK?)ZC?Er#:?3ܴ2?Y6(?|X?ZߪE?)7?v}eV?,d?Q?RJI?0B?#%Q;?]2?8U)?jߚ\!?h0)?BRڠ=?X=?S?;K?hE?\}-??Ex+7?":0?wn-+'?b ?Ѻ'+?9^ ?QX?L1?>%_{,kg*\zT8eT\gͽds=fjIʺ`Z8½5,ýPfq|=)t.=/o>)a t>z=Olv:0, kb0#BB@u=L"B8>0}Z>1xB$զK0V?SS!fst$>:FJw>g7>O}uy5h +|TRƭY smϸ>3y>3[[>-E>.]a#>޼!)>:q.>1>m3>f$g5>86>(ȕ2G7>da>2G7>~76>+ d5> W73>g%1>Hq.>L!)>O @\#>oew>rO]>cgt>۬e>"`q>X rz>_K>6mc>~hoa>9><J>2d>[B30>֨>bt>w 20>nN>wG>>ża> c>$o3K>(jz>q>4e>qF3zG>8y/*>VȞ#>;Mg>Y_ qL>}|7>#>[8>"efw>CP>  >C > 42O>K%w>%Ԩ6>¡f>Fx|t7>hL>S>m>u>RH>K[$>;{ƙ>,~0?wWk ?$[%\?c"?qE5m?./F?A!?e ?cS?S?~?Qu0?lF?/m?\"?y.:?Y ?4?I/>$28$>>{ ?gOQa-?Gw6?g.>?e7PC?V q7H?8jAE3L?Q[O?\8=(2Q?tq%R?l=R?SER?[3p%R?~fz&2Q?O?Ĝ3L?\#Ji7H?0{GC?.>?Xꟃ6?:.S;-?4B٢ ?9s=tἹͽăr~᥽F& Lei9F[ᝡ|Ml?D 1ƀ F#vo=>UV-w7=|@r"z= `c$Qi{Mv竽]:̞N%iſY3P>0\)>.~:DshAI _3^G\r_]T`ؽ`/ T˽]:;> f>JrSu$ɪL-C@ʬ^2l|a#.zD%ؒ.=>3}q+i%6u MdC40sadk^UN>g*Grd9s %í?ݙҿ?#Uk%?;q?6W]?؍]qH?]:~ݒ4?Uk? l av?~0E{?,|f?ɒoRQ?\^doY -V\T X 0?D\1E?3f,]1x"K 3 =h(U%͗J#sC E?-d1$b>#$}|18 Y)XRߔ|JS)]W!-?0{B+?:E?Xz:?{?W Nڲ?z Ն^C?s@Y?VyaH?•h-V? zk~F?>߰?Ԥ)?GYm?]?T|R?iSЮa?rˡ+?3_?y?8:*?ja?R?2?2lg?T V)?=:?dA4?,;2?``H?Іέ?!U]?I/?PY?_:k?9=?"iz?/K5?+?Xɂ?o*n1?͹:n1?Ȃ?+?75?1?ܻ?3k?.u&?hE?&2]? ?f0Y08?=m?F>?E?Dg7?_-?Yb;f?⾐?$(:@?yCg? ?R?::fBg?US8@?[>t>?kL7f?u?1?K?#w>?/?as8?g^Y/?ti?0e%0? Gl`?=О^^?ncV}@@=:@)\/@g(s@H@8J@Sns@k.@yV:@ ܒZ@bZR}@NЈV^?iFb`?a[5*0?œ?C/?𓈿^K?3#?,?K?@?@hptB @t6 @۠@3@`H@YR3,@#3,@@K3@Lu~4@q3 @t˸ @yv:@G@?r{ln۴?>K?:s!?v?k3?sz6x@{l @^@=@{@ϕ@0)V@Ls.@dė@ @+s.@}V@Fn1@lļ{@k>핞@=ݜ@Md @-x@(V3?n ?(_Iz?ԊZ-@a}E @ik @ædն@Nl@ŝ(@̱)@=^=3@aA5@ܡ@SJז@L@5@`2&3@"'@o^@l@öѶ@6@x>X< @ZO-@p?u@ּ=@-1%@q|@xN @,E]@H3K@؞E@[Q @6 @脥

    Ni @6@@a"b@_1R/o@h+X@:uu@&'p @\FW@|*z@:GN @xɟ@-@@/:?@Էk@.C{2@J@u@/VbE@wE@gV}u@piI@Y;2@]k@ͧ?9?@1~tr@%,@ 8ӳȟ@2GGN @Ȋ'@Ԙ ϲ?U: )?ar|?K#9Sԇ?Hgƌj?l1E_ܴuO^%K\^5vSdTETC4D?G9?K {0N?-n^p?>,H?%ټF+}f0QG7^'ʷL>}BXL*Q4\s$"w#؉?j(VO1~?zS8{n?nU?ȖfQ?9O @/.{gB@F<2&2I(N_#4ڑaEu?؟dhh?{,@V?&w9?7oQ)s 733r3V,!5B*ka?bS@S?M@?K@_?ׁUsQ&OOU]$w lMs/b[ h"sKMYL?cXYc=?3@%%?~̰oپfXvCDhBÇAFy : =4<[M}f䶌C6?S Rg%?v? ^=ӣ_ sRӰ p&3|<`qHdy\"cqо 7"?v?C1$ݡ>`yNepdBoHErY J+,⾍bdTCҾ=֟Z7 ?9R>j7{;{X]֮F c;_Ay?k' =ྷҾmF,}þ>O31>{?PB־i_6RGQĥ9T'ھqѾq\aLľjv"_ȱ>7nJ,WLԾCN`۾G1Yrھ TvվyϾ:Abľu bǝ\h NI? &Z?Hl?\,?=ܐ?W~ITB?܃?Xi?Ʒm?E\O/?+p?.k7`}?9Y&?*A*?| ?>í?h?v ?,=˗?ir ?0D`?>O?{ݡJ?ߣW?Ҥ۩?#҇O?BO?KQ?QJV?xI?eO?W`?aD ?o' ˗?t+0̶? dߴ?Ӵ'/?1S?V@?Z?JW?ͫ?;p?^'S??7~?C.?G5K;?JU?0i'W?? ?L5?#n5?gS?[S? ?s|_5?Za: ?Ԯ?i$V?LU?¡i;?6q?W~?ͧ?{Y#?6?&j-ؼ?_A3O?dyQG?*?2?{U@? 9$?E?5 ?} ?&? ?Lq?n?dnn?;m?J!# ?{n?I{ɞ?з.?nW?qto?ұ?:ɫ%?w ?Ogc-?X֣?9я?0 ?Aw?7ɰ׭?:> }Я?,}D?ML \?L@5ʱ?N?t? H,v?AE5ʱ?Ĩ \?mM?=}Я?}׭?  ?FA ?JӍ?4!lT֣?jd -?ǻ??њ-?Klg?Ǜ5? 7y?F(?Kë(?|?``qu?^v)?.,7?K^qu?뻷?R (?\G(?WXy?f&? g?AW?)g?>-ₖ?:l?75P6?2P?Ld>?v֖?re??cK-B?+!7?[3ޜ?P5l3?%3?2uޜ?r7?Ox.B?@?fe?W֖?ܘ=?3jw? X/?T!?z}pڈ?*T?)^\Lؐ?d1?Md?7Hc ?T?HO?zp<~?5r{? xr?z;t?9\v?h8x?Q3Zlz?^Hp|?{x}?3+6?p O?A m?j>?)fC?lm?sQ?M6?yZ}?twrU?DmH? j;?508/? ML"?z2?m?f3t?Ԧi?q^?zR?-E?.^9?W/w-?|"?\~,?<\gHw?Q#!o? d?|Ich6Y? O?uB?B6?0v+?sbi%!?a{x?,pc 9q?$F^g?4Gj+2_?-=8T?RC{I?Ja[@?)}3?ΞK(?֓a?mAِ~q?w=84i?a?ByX?TO?ҰD?F:?MJ?Hh0?ݪ⒉%?e46D?Th?~wWb?!O6Z?;@R?ZbH?h @?ٽ5?pxF ,?n ."?>G{Q?ILda?QVZ?u<%S?$K?JB? !fB}9?>:0?'sW&?W~Ak?a?AX?2#VRWR?1,,K?SkC?SF#8E;?Kd 2?adJ)?Jt ?Lْm?R?! [O?e.CG?ɔA?.WC9?Ut4?N2?tWd)?4ixF!?G/?U 9?'' h?HjfA?ER:?!ECێ3? :`^I#-?jn!$?ʧO?-vLF?>ē ?c?S>p[WDtd?-v}1ԃwJ̺oKk>o'l),6tehCo>bzZ1eSF>qi>5b@]>FQP!T NÞKu`>$"kV㡆>z>fxqo{{gw, ABsa+6>#FӬ>Ǭ>䡚*‘>EU o(>O !>,=h&>D|+>UZ{0>QV2>պ4>-(6>^{ 7>"R?kZ7>= 7> ,(6> 4>ɥR2>R}r+>_h&>;@ !>5&>rT> `~>k]>Cl>N.\2v>H{m>>/gPք>]>E>~# >+9'Y>#W>7>~Eҕ>(66>jy>$Y>>/->z~>ahnDք>ňØ> gY2v> shl>S]>w-[>ҽ>SQK>Ѻu>URK>"H>o!>Cz>5XO>Ĝ7>+4><_>Œ>΋z7>yccO>I-Cz> 6>UKqH>K>e3>K>ݽ>J*Z>/n>Ӄ>٘l&1>쾝O?uQp ?_`?1pF]?J?"bl}?NEGck?*+?LQ?*?#`k? h}??b?78W?7P`?lJRn ?, O?s1>_Fd ƒ>r85>iW,?\ Zl&?[Z'2?O3.:?KA?bBF?dnCJ?g4_N?cDP?oQ?sR?rR?+isR?ҕQ?'>BP?YN?L3CJ?^9F?铲A?y[l:?2?7syU&?T *?_=*=Ɋ֕ʪa }Aaf_:SBC-4Pbcaa&r,jU&|I>L+M >t>R=Wnp3Ľ k뾽ڲ/ә! 񖽓 ]d N}1vd>~nH27>zQ4?DmB-a#E$z,)`EvgDҽ^OH ~|>m &>!T7y.EQRcģgFl)92+V G1j {f!>ALr`Lg>٦k4L'}\{9DmNUc^ORO?bBAq#+48,5ݶ?dtDO?U9? wœ.{?\@׵f?]r{/R?G??dH+?XN?>B?Bi?b~=#WJq?*t+!\?ʶaF?a1?+RA?ob?ٳS?[w?S ^b?5x2=]L?bw5?;',?[<?2J ?G& }?tP1e?N?Լ3?,$x?=>>]뾼}?tzTc?",.E?Թm ?)E^w]u Hm k=RDP? PM?4{k;1`;l?' "b>Qsp+dY6xRPT~D97?@* ʬxϼl`x$*TRTYbCzH4(!&b3`wE` DEk ?IIw??NbW?HN[?ⱀ?苩h[?LJuz`W?>њ?pCw?&{?)?TF6ռ? ]#?B@|W?FjC3?; D?tk?pF\?XT5c?I1?KI?< !ym?77,?D?2??_,~8ԛ? wQ1??f,?4vm?IUE?]1?jq\?2W\?/,k?iD?w.bI?V?8x?N?Nf?*QQ1???Ѭ?oCD?K8?5C?u?u>U?w`G?aiy?̶~?2C?8m~?{ueD?ⷦ?Ӡ8?>ʀ1?:?ֆπ?iK?-1kp?f?b6?q? rv\? <*kh?@O(?nى?k`x?es?Mh?:{?|P?q?Ir?nx?a1։?o`K(?qu]h?T0P?5q?g&?-? #|D?{Kj5?qw?u+?L}`e?]?Mpj?/- @ 6@oN @r.@ @I Y @p @;|@^n@uK0@GR?ÐU`? C=_!?t?gzv*?$@,@,W 4 @j@Kt@@ͣ{zU@g>@ ,@r@H@1r@B@-H@xU@~^ @XDHt@Bl4 @h܈@ycxw@' ?K?2? ~H@|t{@ ,V7@f1F=@6`@𡆶@M@G@@ikO@a@=N˛@X@Հ"&@Q@\p@]|]@kʒ=@0}7@q@H+*@Ph?VTZ?*=@m| @5%@j~X@ Me@"u@J=@x?@7ת @ @o˓!@#L @•(% @W@"2!@mu@z@ gU@sSi@A0| @: 2@a~V=Z?gՠ"?y@1P0 @zR@-v`7@@RUJP@(.@Bk @vs!@,|!@ !@WI|!@W !@)Bk @ӟ,@{z->N@@Ii5@g邬wR@㦿] @&@4"?`՗?*f9@ep @־A@L@E3@|4a@=) \@o@&|Y@#@?@N|p#@`dfX@@.VԪ\@]Ba@@ \$L@( ϶A@*0- @=:@?f0M?mL\i?&,%?[c`?~ {?ڲBL?rXc3Y_-5QX"eMRH>3ռ{)?Ԉ?E'?9 ${?J(ca?p]$YnO0TP4(GЌB.<]9t,q`:Cw?L?Ø{Vv?LqTc?>z^iB?ئ!3z|Bq@)S`7.@+v(Kk&,S_A ez?oU qp?o|I8a?|!J?]Du?` /uW44)z41'JpQN V8jPlf?mZ?MI?؜@0?;U:i,8$l|J&15!By@  2~ v[%(s#TSPR?UWmE?U^2?% q?Nor Nde^-{*?B_g0?(T1*?E>LUfc;X oiie JǠưmaD ]< B`mپtn7žT f(?9?CƲ >.㾾'Fhgv;VG1.WW"/ZInھrfɾ^!oCݎ?3?k>Pِi徜|h ]꣍쾀+?WH(پ˾ 6+)0ˌ%>M>FN6lPDUA!KI>_ݭx6ʾؾ[Ԏu۾#GpؾyPҾߐɾs-ռqqg5Ҵ;ĠThڋB? d8R?+ }c? /\u?i?sjΘ?цwƪ?8?/N ?D?d@YOS?^;j;d?4>t?|V(?+[aR?#W4?a2ֵ?U%+F?5^vNT?mv:c?is?v?/WtwhM?"R@?$X\?4ߠF?>g$S?{Xb?g/q?Z[_? ? gƙ?/M?'R%F?m^l~R?Šْe`?ԘHTm?z*y?K,vu?SLNڒ?)d?ts!yD?v5HؿP?Dp\?ސQ/Zh?%{'t?WP3?'AL?QI= ? +D 6C?2M?X?{c?sm( p?Wy?65?=?QB/A?0]I?>. T?0_?v h?ps?^Qn|?Tmr?l|>?r/E? 3dP?/Y?b} c?ݙnl?C]t?6!|?}י9?A?5*:cJ?ea6S?C'TJi]?he?:m??QZVt?>K$5?d P6?~Hs>?XC0D?;woK?6Q?\I?L?E5?]n!?XoC(?0"1?W;e!7? ;y<=>?(C?|X:?4x?/B I?\<{ Hy?/s&?S .?' } ?ʺ?Q? m?-/}?鮭?x}?l-?FQ?\9ʺ?U?զF .?P0ˌ?e"Hy?V?z?A :?8?!`?wxg?27[7=?P1?" qJ?Yb? "$?q?}? H(?\m\?%G(?D?Wg?]qs$?(b?YJ?a(?m_i7=?>g??}!j8?,oT?X936e?A-?1·0? c"??Jf?+Q?|@?'I?.?8??O^͢?7#?V.?̚Ρ?vI??hY ?ZdJf?o?{(?&?15e?77AT?ogW? ?ڰ5? D?x?XJ?.W'3?@O?veΎ1?w0@ݨ?ni:?a3\?q~:??P1?;7@O?8A&3?pr\?e?잗?RKr5?`Z?[T?!Z~F?{h5 ?l? i?QNn6?O>?fk?4 [D? 3?i%z?aU_??t?0@_?gz?bmz3?q D?aڹk?Y>?9ɸ6?:?} k?'l3 ?1{F?y֦F?:?ԡ7l?\G????S??SفWԸ?N;W?y^ݾ?Ip?cF?()?? p??y(;W?71RWԸ?p9H?'Ҟ?pPi?;k??*0?c?sDY?뀞-?ٜ!+է? a??vЮ?5ݮ?܍V? T?$l͙?2?C*?&?DMs͙?`.T?6V?ZEݮ?'?}~aa?)է?hg6-??ddS?a~? t ?^wc??Gڠ?x?K?5?{;?;d?CGI9:?f;پ?r}5¦??e~9:?n݁d???i?uK?hgκڠ?B~?qc?G ?j?/kY_?3V ?%n]??Mr?{?vՐM?f ?v&^Qƛ?}S?XM?z->??HT?PVRƛ?Df? VyM?~ወ?(?qBݞ?'wX?:?Uf>?-_?:z?K| ?\ma?^?qC2?Cޫ?W+u?2&&?[#?2?X?>?[4$?U&?и]u?>zD?UE2? -p?}_^?t ?Ձz? ?jlNy?iw}?Z[ɩ,?zǁ??m;O?eõ?9Ħ?^i`?V?ٯ?$4?JF&?0@??䱟? }Y?a?g4?e.? O?Kǁ?0U,?CF}?2COy?-Iq?%ts?t[u? 2w?M_y?6w{?+dz9}?֝~?d9? H?O7Kn?,O?vo? H?je@?״'ߝ~?Z9}?5{?-y?nw?,u? Uts?~c*͐q?&>?EDqυ?v_5u?|yd?jWZS?-2 C?N}v2?@+%"?bB.J?YQy?:K'\?ݎy? c6?ks?˻c?#T?Ce/@D?f(~f4?ܘ$?K#3?:)?GF?VTV?uæ3"?=dq?}b?֭vxS?/eD??5?׍.?k]r$?MVV?O)U?@`u< ??C6E?C?>?jʘ3)7?1?uԪ(?=K`!?B?UL5Q;?%?Hl>>xsrcom.femlab.xmesh.Xmesh[{ω Z initializedLelemIndtLcom/femlab/util/i;Lelementsq~[geomMapt[ILgeomNumq~L initElemIndq~L initElementsq~[mcasesq~[meGrpst[Lcom/femlab/xmesh/MEGrp;[meshNumt[[ILversionq~xpwq~euq~uq~ tstruct('elem',{'elmesh'},'g',{{'1'}},'frame',{{'xy'}},'geomdim',{{{struct('qualname',{'qual'},'dvolname',{'dvol'},'sshape',{{{'vtx',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}})}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}}}),struct('qualname',{'qual'},'dvolname',{'dvol'},'sshape',{{{'edg',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}}),'edg2',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}})}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'}}}),struct('qualname',{'qual'},'sizename',{'h'},'dvolname',{'dvol'},'sshape',{{{'tri',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}}),'ltri',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}}),'quad',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}}),'lquad',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}}),'tri2',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}}),'quad2',struct('type',{'fixed'},'sorder',{'2'},'sdimdofs',{{'x2','y2'}})}}},'ind',{{{'1','2','3','4','5','6','7','8','9'}}})}}})tostruct('elem',{'elshape'},'g',{{'1'}},'tvars',{'on'},'geomdim',{{{struct('shelem',{struct('default',{{{'vtx','shlag',struct('order',{'2'},'basename',{'Hrad'},'frame',{'xy'}),'vtx','shlag',struct('order',{'2'},'basename',{'Hazi'},'frame',{'xy'}),'vtx','shlag',struct('order',{'2'},'basename',{'Haxi'},'frame',{'xy'})}}},'case',{{{}}},'mind',{{}})},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}}}),struct('shelem',{struct('default',{{{'edg','shlag',struct('order',{'2'},'basename',{'Hrad'},'frame',{'xy'}),'edg','shlag',struct('order',{'2'},'basename',{'Hazi'},'frame',{'xy'}),'edg','shlag',struct('order',{'2'},'basename',{'Haxi'},'frame',{'xy'})}}},'case',{{{}}},'mind',{{}})},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'}}}),struct('shelem',{struct('default',{{{'quad','shlag',struct('order',{'2'},'basename',{'Hrad'},'frame',{'xy'}),'lquad','shlag',struct('order',{'2'},'basename',{'Hrad'},'frame',{'xy'}),'quad','shlag',struct('order',{'2'},'basename',{'Hazi'},'frame',{'xy'}),'lquad','shlag',struct('order',{'2'},'basename',{'Hazi'},'frame',{'xy'}),'quad','shlag',struct('order',{'2'},'basename',{'Haxi'},'frame',{'xy'}),'lquad','shlag',struct('order',{'2'},'basename',{'Haxi'},'frame',{'xy'})}}},'case',{{{}}},'mind',{{}})},'ind',{{{'1','2','3','4','5','6','7','8','9'}}})}}})t5struct('elem',{'elvar'},'g',{{'1'}},'geomdim',{{{}}})t5struct('elem',{'elvar'},'g',{{'1'}},'geomdim',{{{}}})t5struct('elem',{'elvar'},'g',{{'1'}},'geomdim',{{{}}})tpstruct('elem',{'elvar'},'g',{{'1'}},'geomdim',{{{struct('var',{{}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}}}),struct('var',{{'nx_Axisymmetric_Dielectric_Resonator_Simulator',{'nx'},'ny_Axisymmetric_Dielectric_Resonator_Simulator',{'ny'}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'}}}),struct('var',{{'absHradx_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(Hradx^2+Hrady^2)','sqrt(Hradx^2+Hrady^2)'},'abscu1x_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(cu1x^2+cu1y^2)','sqrt(cu1x^2+cu1y^2)'},'absHazix_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(Hazix^2+Haziy^2)','sqrt(Hazix^2+Haziy^2)'},'abscu2x_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(cu2x^2+cu2y^2)','sqrt(cu2x^2+cu2y^2)'},'absHaxix_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(Haxix^2+Haxiy^2)','sqrt(Haxix^2+Haxiy^2)'},'abscu3x_Axisymmetric_Dielectric_Resonator_Simulator',{'sqrt(cu3x^2+cu3y^2)','sqrt(cu3x^2+cu3y^2)'},'eperp',{'eperp1','1'},'epara',{'epara1','1'}}},'ind',{{{'1','2','3','5'},{'4','6','7','8','9'}}})}}})tastruct('elem',{'elvar'},'g',{{'1'}},'geomdim',{{{struct('var',{{'DivH',{'(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x'},'MagEnDens',{'Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'},'Drad',{'(Haxi*M-Haziy*x)/x'},'Dazi',{'-Haxix+Hrady'},'Daxi',{'(Hazi-Hrad*M+Hazix*x)/x'},'Erad',{'Drad/eperp'},'Eazi',{'Dazi/eperp'},'Eaxi',{'Daxi/epara'},'ElecMagSqrd',{'Erad*Erad+Eazi*Eazi+Eaxi*Eaxi'},'ElecEnDens',{'Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}}}),struct('var',{{'DivH',{'(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x'},'MagEnDens',{'Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'},'Drad',{'(Haxi*M-Haziy*x)/x'},'Dazi',{'-Haxix+Hrady'},'Daxi',{'(Hazi-Hrad*M+Hazix*x)/x'},'Erad',{'Drad/eperp'},'Eazi',{'Dazi/eperp'},'Eaxi',{'Daxi/epara'},'ElecMagSqrd',{'Erad*Erad+Eazi*Eazi+Eaxi*Eaxi'},'ElecEnDens',{'Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'}}}),struct('var',{{'DivH',{'(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x'},'MagEnDens',{'Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'},'Drad',{'(Haxi*M-Haziy*x)/x'},'Dazi',{'-Haxix+Hrady'},'Daxi',{'(Hazi-Hrad*M+Hazix*x)/x'},'Erad',{'Drad/eperp'},'Eazi',{'Dazi/eperp'},'Eaxi',{'Daxi/epara'},'ElecMagSqrd',{'Erad*Erad+Eazi*Eazi+Eaxi*Eaxi'},'ElecEnDens',{'Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}}},'ind',{{{'1','2','3','4','5','6','7','8','9'}}})}}})tgstruct('elem',{'elconst'},'var',{{'c','299792458','fc','4*pi^2/c^2','alpha','1','M','14','delta_e','0*1e-3','e1','9.8*(1+delta_e)','e2','1.0','e3','1.0','e4','1.0','e5','1.0','delta_eperp1','0*1e-3','eperp1','9.2725*(1+delta_eperp1)','delta_epara1','0*1e-3','epara1','11.3486*(1+delta_epara1)','eperp2','1.0','epara2','1.0','eperp3','1.0','epara3','1.0','eperp4','1.0','epara4','1.0','eperp5','1.0','epara5','1.0','e_293K_alumina','9.8','eperp_4K_sapph_UWA','9.2725','epara_4K_sapph_UWA','11.3486','eperp_293K_sapph','9.407','epara_293K_sapph','11.62','eperp_4K_sapph_NPL','9.2848','epara_4K_sapph_NPL','11.3660'}})t6struct('elem',{'elgeom'},'g',{{'1'}},'frame',{{'xy'}})tKstruct('elem',{'elepspec'},'g',{{'1'}},'geom',{{struct('ep',{{'2','1'}})}})tKstruct('elem',{'elgpspec'},'g',{{'1'}},'geom',{{struct('ep',{{'4','0'}})}})t{struct('elem',{'eleqw'},'g',{{'1'}},'geomdim',{{{struct('coeff',{{{'0','0','0'}}},'tcoeff',{{{'0','0','0'}}},'ipoints',{{'2'}},'dvolname',{{{'dvol','dvol','dvol'}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}}}),struct('coeff',{{{'0','0','0'}}},'tcoeff',{{{'0','0','0'}}},'ipoints',{{{'1','1','1'}}},'dvolname',{{{'dvol','dvol','dvol'}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'}}}),struct('coeff',{{{'+(((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1))','+(alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy)))','0'},{'+((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+(test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy)))','+(alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy)))','0'}}},'tcoeff',{{{'+(fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad)))','0','0'},{'+(fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad)))','0','0'}}},'ipoints',{{{'1','1','1'},{'1','1','1'}}},'dvolname',{{{'dvol','dvol','dvol'},{'dvol','dvol','dvol'}}},'ind',{{{'1','2','3','5'},{'4','6','7','8','9'}}})}}},'nonlintest',{{'off'}})tstruct('elem',{'elpconstr'},'g',{{'1'}},'geomdim',{{{{},struct('constr',{{{'+(Hrad*nx+Haxi*ny)','0','0'}}},'cpoints',{{{'1','1','1'}}},'ind',{{{'1','2','3','5','7','9','14','16','21','22','23','24'}}}),{}}}})uq~ uq~ t8struct('elem',{'elconst'},'var',{{'x2','xg','y2','yg'}})tOstruct('elem',{'elvar'},'g',{{'1'}},'geomdim',{{{struct('var',{{'Hrad',{''},'Hazi',{''},'Haxi',{''},'Hradt',{''},'Hazit',{''},'Haxit',{''}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16'}}}),struct('var',{{'Hrad',{''},'Hazi',{''},'Haxi',{''},'Hradt',{''},'Hazit',{''},'Haxit',{''}}},'ind',{{{'1','2','3','4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23','24'}}}),struct('var',{{'Hrad',{'0'},'Hazi',{'0'},'Haxi',{'0'},'Hradt',{'0'},'Hazit',{'0'},'Haxit',{'0'}}},'ind',{{{'1','2','3','4','5','6','7','8','9'}}})}}})uq~uq~ur[Lcom.femlab.xmesh.MEGrp;5q|Yxpsrcom.femlab.xmesh.MEGrpfI bmTypeIndIeDimIgeomNumImeshCaseL bmTypeStrq~[coordst[[D[domainsq~[namest[Ljava/lang/String;xpwts(0)uq~ uq~ tHaxitHazitHraduq~xsq~wts(1)uq~ uq~ tHaxitHaxitHaxitHazitHazitHazitHradtHradtHradtx2ty2uq~uq~ ????????xsq~wtb(2)uq~  uq~ %tHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHazitHazitHazitHazitHazitHazitHazitHazitHazitHradtHradtHradtHradtHradtHradtHradtHradtHradtx2tx2tx2tx2tx2ty2ty2ty2ty2ty2uq~uq~%??????????????????????????uq~%??????????????????????????xsq~wtlb(2)uq~  uq~ tHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHaxitHazitHazitHazitHazitHazitHazitHazitHazitHazitHradtHradtHradtHradtHradtHradtHradtHradtHraduq~uq~??????????????????uq~??????????????????xuq~xq~{q~~q~q~sq~awq~ew F%u F%u? F%u F%u? F%u?h㈵> F%u????? BezierCurveh㈵> F%u? F%u? F%u? BezierCurve F%u? F%u? F%u? F%u?? BezierCurve F%u? F%u??h㈵> F%u?? BezierCurveh㈵> F%u??h㈵> F%u? AssocAttrib VectorInt AssocAttrib VectorInt AssocAttrib VectorInt AssocAttrib VectorInt AssocAttrib VectorIntxwxwtcorneruq~>hu%F uq~Xsq~Zwt1.0E-5w?xsq~Zwt-0.0127w?xwsq~Zwt0w?FR9xxw ?6sq~Zwt0.01269w?xw?u%F sq~Zwt0.0254w?xxsq~awq~ew@uq~Y@Geom2|=-C6?Jov?{X?Jov?l.n?Pw?{X?Pw?l.n????? BezierCurveJov?{X??Jov?l.n?? BezierCurveJov?{X??Pw?{X?? BezierCurveJov?l.n??Pw?l.n?? BezierCurvePw?{X??Pw?l.n?? AssocAttrib VectorInt AssocAttrib VectorInt/Ixwxsrcom.femlab.api.client.MFileInfo3$$LfemNameq~[historyq~[ storedNamesq~Lversionq~xpwuq~ tfem0tfem1uq~ )t`% COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flclear fem % COMSOL version clear vrsn vrsn.name = 'COMSOL 3.2'; vrsn.ext = ''; vrsn.major = 0; vrsn.build = 224; vrsn.rcs = '$Name: $'; vrsn.date = '$Date: 2005/10/24 07:30:19 $'; fem.version = vrsn; flbinaryfile=''; % Geometry g1=flbinary('g1','draw',flbinaryfile); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','2', ... 'M','9', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Geometry clear s s.objs={g1}; s.name={'R1'}; s.tags={'g1'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{1,[40],2,[20]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{1,[40],2,[20]}); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','0', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','0', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; prop.frame='xy'; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'}}; bnd.name = {'tangential_H'}; bnd.ind = [1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1}; equ.constr = {{'0';'0';'0'}}; equ.cporder = {{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric0:vacuum'}; equ.ind = [1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {}; % Functions clear fcns fem.functions = {}; % Descriptions clear descr descr.const= {'eperp2','eperp for the 2nd dielectric','eperp_293K_sapph','nominal room temperature values for same','c','speed of light (exact!)','epara0','ditto but now parallel to cylindrical axis','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','epara1','ditto but parallel to cylindrical axis','eperp3','etc.','epara2','epara for the 2nd dielectric','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of 1st dielectric perpendicular to cylindrical axis','eperp0','relative permittivity of vacuum perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.701017e10 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.010881225026045,0.0235912252615741,-0.0139699998311698,0.0139699998311698,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.901426e9 Surface: Hrad', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0157563611263049,-0.0141301144424153,0.0139699998311698,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.901426e9 Surface: Hazi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0157563611263049,-0.0149179681136374,0.0147578535023919,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.901426e9 Surface: Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0157563611263049,-0.0149179681136374,0.0147578535023919,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','5', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','5', ... 'eperp0','1.00', ... 'epara0','1.00', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; prop.frame='xy'; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'}}; bnd.name = {'tangential_H'}; bnd.ind = [1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1}; equ.constr = {{'0';'0';'0'}}; equ.cporder = {{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'}}; equ.name = {'dielectric0:vacuum'}; equ.ind = [1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {}; % Functions clear fcns fem.functions = {}; % Descriptions clear descr descr.const= {'eperp2','eperp for the 2nd dielectric','eperp_293K_sapph','nominal room temperature values for same','c','speed of light (exact!)','epara0','ditto but now parallel to cylindrical axis','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','epara1','ditto but parallel to cylindrical axis','eperp3','etc.','epara2','epara for the 2nd dielectric','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of 1st dielectric perpendicular to cylindrical axis','eperp0','relative permittivity of vacuum perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=4.124785e10 Surface: Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0157563611263049,-0.0149179681136374,0.0147578535023919,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; prop.frame='xy'; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'}}; bnd.name = {'tangential_H'}; bnd.ind = [1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x'}; % Functions clear fcns fem.functions = {}; % Descriptions clear descr descr.const= {'eperp2','eperp for the 2nd dielectric','eperp_293K_sapph','nominal room temperature values for same','c','speed of light (exact!)','epara0','ditto but now parallel to cylindrical axis','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','epara1','ditto but parallel to cylindrical axis','eperp3','etc.','epara2','epara for the 2nd dielectric','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of 1st dielectric perpendicular to cylindrical axis','eperp0','relative permittivity of vacuum perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Geometry [g2]=geomcopy({g1}); clear g1 g3=flbinary('g3','draw',flbinaryfile); g4=flbinary('g4','draw',flbinaryfile); g5=flbinary('g5','draw',flbinaryfile); g6=flbinary('g6','draw',flbinaryfile); g7=flbinary('g7','draw',flbinaryfile); g8=flbinary('g8','draw',flbinaryfile); clear s s.objs={g3,g4,g5,g6,g7,g8}; s.name={'R1','R2','R3','R4','R5','R6'}; s.tags={'g3','g4','g5','g6','g7','g8'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{8,[15],12,[15],13,[20],16,[30],17,[20],18,[20],19,[20]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{8,[15],12,[15],13,[24],16,[30],17,[20],18,[20],19,[20]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{8,[20],12,[15],13,[24],16,[30],17,[20],18,[20],19,[20]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{8,[18],12,[15],13,[24],16,[30],17,[20],18,[20],19,[20]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{8,[18],12,[15],13,[24],16,[30],17,[20],18,[20],19,[20]}); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','5', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','2', ... 'epara4','9', ... 'eperp5','9.407', ... 'epara5','11.62', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','5', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,2,1,1,2,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x'}; % Functions clear fcns fem.functions = {}; % Descriptions clear descr descr.const= {'epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','fc','constant used internally --do not modify','c','speed of light (exact!)','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.272202e11 Surface: Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0179127983008426,0.0403164999692663,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,2,1,1,2,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x'}; % Functions clear fcns fem.functions = {}; % Descriptions clear descr descr.const= {'epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','fc','constant used internally --do not modify','c','speed of light (exact!)','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686226e10 Surface: Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0218126933194372,0.044216394987861,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0218126933194372,0.044216394987861,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0218126933194372,0.044216394987861,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad*Hrad+Hazi*Hazi+Haxi*Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0218126933194372,0.044216394987861,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hrad*Hrad+Hazi*Hazi+Haxi*Haxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0231882993258393,0.045592000994263,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0231882993258393,0.045592000994263,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+0.00001)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+0.00001)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0225630238683838,0.0449667255368076,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+0.0001)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+0.0001)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0221087878858377,0.0445124895542614,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+0.000001)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+0.000001)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0221087878858377,0.0445124895542614,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0221087878858377,0.0445124895542614,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0221087878858377,0.0445124895542614,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0221087878858377,0.0445124895542614,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0221087878858377,0.0445124895542614,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00233658994443658,0.0399897487140879,-0.0274195297985001,0.0498232314669239,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1, ... 'arrowtype','arrow', ... 'arrowstyle','normalized', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',0.5, ... 'arrowtype','arrow', ... 'arrowstyle','normalized', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,t`0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0398949969370733,-0.00785416306104278,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=1.02501e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0440877290624526,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=1.140409e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0440877290624526,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',17, ... 'phase',(0)*pi/180, ... 'title','lambda(17)=1.233746e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0440877290624526,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.239518e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00179499985679286,0.0440877290624526,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0018741080101019,0.0441668372157617,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0018741080101019,0.0441668372157617,-0.00856613644082418,0.0428541632100544,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.00', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,2,1,1,2,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','spf','small postivie finite number (to avoid close-to-zero values)','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.759825e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.759825e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.593191e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294742e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294742e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,2,2,2,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,2,1,1,2,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','spf','small postivie finite number (to avoid close-to-zero values)','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686226e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.344946e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.366096e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00229999844552669,0.0445927276511865,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=1.02501e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=1.140409e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.239518e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=1.140409e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=1.02501e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082418,0.0428541632100544,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.294123e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238084797327964,0.0446735771789394,-0.00856613644082419,0.0428541632100544,-1,1]); % Geometry [g9,g10,g11,g12,g13,g14]=geomcopy({g3,g4,g5,g6,g7,g8}); clear g3 g4 g5 g6 g7 g8 g15=flbinary('g15','draw',flbinaryfile); g16=flbinary('g16','draw',flbinaryfile); g17=flbinary('g17','draw',flbinaryfile); g18=flbinary('g18','draw',flbinaryfile); g19=flbinary('g19','draw',flbinaryfile); g20=flbinary('g20','draw',flbinaryfile); g21=flbinary('g21','draw',flbinaryfile); g22=flbinary('g22','draw',flbinaryfile); g23=flbinary('g23','draw',flbinaryfile); g24=flbinary('g24','draw',flbinaryfile); g25=flbinary('g25','draw',flbinaryfile); g26=flbinary('g26','draw',flbinaryfile); g27=flbinary('g27','draw',flbinaryfile); g28=flbinary('g28','draw',flbinaryfile); g29=flbinary('g29','draw',flbinaryfile); g30=flbinary('g30','draw',flbinaryfile); g31=flbinary('g31','draw',flbinaryfile); g32=flbinary('g32','draw',flbinaryfile); g33=flbinary('g33','draw',flbinaryfile); g34=flbinary('g34','draw',flbinaryfile); g35=flbinary('g35','draw',flbinaryfile); g36=flbinary('g36','draw',flbinaryfile); g37=flbinary('g37','draw',flbinaryfile); g38=flbinary('g38','draw',flbinaryfile); g39=flbinary('g39','draw',flbinaryfile); g40=flbinary('g40','draw',flbinaryfile); g41=flbinary('g41','draw',flbinaryfile); clear s s.objs={g15,g16,g17,g18,g19,g20,g21,g22,g23,g24,g25,g26,g27,g28,g29, ... g30,g31,g32,g33,g34,g35,g36,g37,g38,g39,g40,g41}; s.name={'s1a1','s1b1','s1','s2','s3','s4','s5','v1','v8a1','v8b1', ... 'v9a1','v9b1','v10a1','v10b1','v10c1','v11a1','v11b1','v11c1','v2','v3', ... 'v4','v5','v6','v7','v8','v9','v10'}; s.tags={'g15','g16','g17','g18','g19','g20','g21','g22','g23','g24', ... 'g25','g26','g27','g28','g29','g30','g31','g32','g33','g34','g35','g36', ... 'g37','g38','g39','g40','g41'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{2,[7],5,[4],6,[10],10,[4],13,[2],20,[6],27,[8],34,[10],38,[16],40,[7],41,[16],51,[26],59,[40],67,[26],68,[3],69,[7],71,[7],72,[3],73,[26]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{2,[7],5,[4],6,[10],10,[4],13,[2],20,[6],27,[7],34,[10],38,[16],40,[7],41,[16],51,[26],59,[40],67,[26],68,[3],69,[7],71,[7],72,[3],73,[26]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgelem',{2,[7],5,[4],6,[10],10,[4],13,[2],20,[6],27,[8],34,[10],38,[16],40,[7],41,[16],51,[26],59,[40],67,[26],68,[3],69,[7],71,[7],72,[3],73,[26]}); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dit`electric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','spf','small postivie finite number (to avoid close-to-zero values)','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'eperp1','9.407', ... 'epara1','11.62', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'spf','1e-6'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','spf','small postivie finite number (to avoid close-to-zero values)','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.274361e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0291797175750504,0.0291899732992421,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=9.144314e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.035498760448906,0.0355090161730977,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.287051e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0356203491075053,0.035630604831697,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.801924e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0356203491075053,0.035630604831697,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=8.643685e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0356203491075053,0.035630604831697,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=9.208728e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0356203491075053,0.035630604831697,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.801924e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0356203491075053,0.035630604831697,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.326233e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.80211e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.326497e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.801554e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','29979245t`8', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.202673e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.202673e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.801184e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.286256e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.794991e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.055352e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.762968e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.146114e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.763133e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','7', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*t`test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.120027e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.01791e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=6.443297e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.220922e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.123376e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','10', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.354009e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=8.47851e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.376963e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=8.47851e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.54642e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.825549e9 t` Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.616243e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.049614e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.678853e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.116492e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.741669e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.1832e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.367326e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.249751e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)t`+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.054965e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.76203e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','7', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.11972e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=6.442435e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.221754e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.122579e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.326513e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.801184e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','10', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.375851e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=8.477818e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-et`perp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.254938e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.152388e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.54642e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.824937e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.206405e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.049556e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.735268e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.116437e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.290388e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.183148e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... t` 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.849894e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.249701e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.054726e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=5.7583e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','7', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.108758e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=6.43786e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.252493e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.117184e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','10', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.framt`e = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.353087e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=8.470846e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.471293e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.144653e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.54642e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=9.816451e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.655171e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.048633e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0348655243155999,0.0348757800397916,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.678244e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.115441e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazit`x)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=3.374604e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.18208e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0351068437078331,0.0351170994320248,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','1*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.80451e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.248562e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','16', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.80561e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=1.249818e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.326233e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.80211e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0104489449066157,0.0533709279469029,-0.0349857679437989,0.0349960236679905,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','t`relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.472172e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0153345923215852,0.0582565753618724,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.287051e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.83803e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(20)=7.801924e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=8.643685e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=9.208728e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',17, ... 'phase',(0)*pi/180, ... 'title','lambda(17)=9.74777e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.83803e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.83803e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.458182e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=9.909482e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=9.909482e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',19, ... 'phase',(0)*pi/180, ... 'title','lambda(19)=9.909482e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2738*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3501*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2738', ... 'epara_4K_sapph_NPL','11.3501'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2738*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3501*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2738', ... 'epara_4K_sapph_NPL','11.3501'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2738*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3501*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2738', ... 'epara_4K_sapph_NPL','11.3501'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2738*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3501*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2738', ... 'epara_4K_sapph_NPL','11.3501'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.221787e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2738*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3501*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2738', ... 'epara_4K_sapph_NPL','11.3501'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.221787e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2738*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3501*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.221787e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','t`shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',20, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.251868e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.251868e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0349857679437989,0.0349960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',18, ... 'phase',(0)*pi/180, ... 'title','lambda(18)=8.44837e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',17, ... 'phase',(0)*pi/180, ... 'title','lambda(17)=9.037046e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=9.422262e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.800158e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=9.422262e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.225876e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=9.422262e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.800158e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=9.422262e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',16, ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.225876e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',17, ... 'phase',(0)*pi/180, ... 'title','lambda(17)=9.037046e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.800158e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.027374e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.143696e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.016726e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','7', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axt`is','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.338821e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','10', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.31608e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.399235e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.472839e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielect`tric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.565884e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.633227e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.702893e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','0*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.749051e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*2e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*2e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.016726e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','7', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_st`apph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.083872e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.143252e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','10', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.315602e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.398693e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.472231e10 Surface: log10(Hrad*Hradt`+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.559638e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.624103e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686176e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.624103e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','1*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.748442e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407't`, ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.182392e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.35825e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','8', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.143582e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.315915e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','11', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*t`test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.399101e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.472733e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','13', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.547421e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.624299e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','15', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686511e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','1*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)t`*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.748789e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1.0', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.049303e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','11', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.399505e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10.0', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.749286e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.018311e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=8.358121e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=8.845164e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,2t`7]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.084299e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=6.438555e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=7.389506e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=7.695231e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=8.312546e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=8.623541e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=8.751501e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=9.112091e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=9.557666e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=9.632117e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=9.917532e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=9.986376e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',5, ... 'phase',(0)*pi/180, ... 'title','lambda(5)=1.016923e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',4, ... 'phase',(0)*pi/180, ... 'title','lambda(4)=1.017251e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',3, ... 'phase',(0)*pi/180, ... 'title','lambda(3)=1.031561e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=1.066226e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=9.986376e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=9.917532e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.084299e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.084299e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=9.557666e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=9.917532e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=9.986376e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','8', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','8', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3t`', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','8', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.182787e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','8', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.182787e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.143696e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.435251e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=1.22783e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',3, ... 'phase',(0)*pi/180, ... 'title','lambda(3)=1.214784e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',4, ... 'phase',(0)*pi/180, ... 'title','lambda(4)=1.204933e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',5, ... 'phase',(0)*pi/180, ... 'title','lambda(5)=1.193498e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=1.22783e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',3, ... 'phase',(0)*pi/180, ... 'title','lambda(3)=1.214784e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',4, ... 'phase',(0)*pi/180, ... 'title','lambda(4)=1.204933e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxt`i*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.118128e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.34275e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.31608e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',2, ... 'phase',(0)*pi/180, ... 'title','lambda(2)=1.312683e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',3, ... 'phase',(0)*pi/180, ... 'title','lambda(3)=1.311544e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.472839e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','13', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','13', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','13', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'t`0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.559863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.473139e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','13', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.547829e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.622899e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','10', ... 'M','15', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686999e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686999e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686999e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.015992606629861,0.0589145896701482,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlet`vels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.534592e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0590172022678194,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.534592e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.534592e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)t`','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.534592e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.534592e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.512414e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.476622e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442533e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439452e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.413811e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.368061e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338786e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245863e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182362e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.749051e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0160952192275322,0.0580936888887782,-0.0324857679437989,0.0374960236679905,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.248806e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.309936e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.400127e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.441772e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.485793e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.502893e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.509431e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.545196e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.579882e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... t` 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.597478e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','6', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=2.009831e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=5.758766e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0395464618597006,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=6.76759e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=6.954213e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0149903200408515,0.0200005757650432,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=7.586843e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.015049828367052,0.0200600840912437,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=7.96432e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.015049828367052,0.0200600840912437,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=8.172575e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.015049828367052,0.0200600840912437,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=8.358121e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.015049828367052,0.0200600840912437,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=8.431681e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=8.747063e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=8.431681e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=8.358121e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=8.172575e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00245200780154536,0.0327227241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=7.96432e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=7.586843e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=6.954213e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=6.76759e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=5.758766e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','7', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.084299e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=6.438555e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=7.389506e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=7.695231e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=8.312546e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=8.623541e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=8.751501e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=9.112091e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=9.557666e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=9.632117e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','8', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradxt`)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.143696e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=7.118099e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=7.118099e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=8.011071e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=8.44837e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=9.037046e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=9.225876e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=9.422262e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=9.800158e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.027374e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.069285e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.074943e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=1.080404e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=7.796116e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=8.637439e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.202806e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=9.741057e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=9.831303e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.013015e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.049154e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.091479e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.124872e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','10', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.31608e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=8.472173e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=9.268148e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.955611e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.036514e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.052099e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... t` 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.084476e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.118239e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.154596e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.183813e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.210097e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','11', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.399235e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.146177e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=9.902224e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.070585e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.096324e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.12425e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.155943e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.186806e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.216465e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.246274e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.275527e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','12', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.490902e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=9.818166e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.053882e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.145331e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.15633e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.145331e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.15633e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.196701e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.227207e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.254082e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.278379e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.311262e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.340935e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','13', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^t`2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.565884e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.048824e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.117728e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.216749e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.219806e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.269129e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.298195e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.319017e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.342203e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.377635e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.406051e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=1.491113e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.633227e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.11565e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.18171e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.277558e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.294027e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.341466e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.368889e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.381442e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',9, ... 'phase',(0)*pi/180, ... 'title','lambda(9)=1.408552e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',8, ... 'phase',(0)*pi/180, ... 'title','lambda(8)=1.444716e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.470626e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=1.513576e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','15', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.686764e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.182307e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.245789e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0t`.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.338702e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',11, ... 'phase',(0)*pi/180, ... 'title','lambda(11)=1.439296e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',10, ... 'phase',(0)*pi/180, ... 'title','lambda(10)=1.442425e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','16', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.749051e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.248806e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.309936e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.400127e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.441772e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.485793e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2848*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3660*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',7, ... 'phase',(0)*pi/180, ... 'title','lambda(7)=1.14494e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',6, ... 'phase',(0)*pi/180, ... 'title','lambda(6)=1.180524e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',5, ... 'phase',(0)*pi/180, ... 'title','lambda(5)=1.193498e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',4, ... 'phase',(0)*pi/180, ... 'title','lambda(4)=1.204933e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.202806e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[0.00620200780154536,0.0364727241145628,-0.0151097428934314,0.020119998617623,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'-(Haziy*M*test(Haxi))+Hazix*test(Hazi)+Hazi*test(Hazix)-Hrad*M*test(Hazix)-Haxi*M*test(Haziy)-Hazix*M*test(Hrad)+(Haxi*M^2*test(Haxi)+(Hazi-Hrad*M)*(test(Hazi)-M*test(Hrad)))/x+x*((Haxix-Hrady)*test(Haxix)+Hazix*test(Hazix)+Haziy*test(Haziy)-Haxix*test(Hrady)+Hrady*test(Hrady))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara1*Haziy*M*test(Haxi)+eperp1*Hazix*test(Hazi)+eperp1*Hazi*test(Hazix)-eperp1*Hrad*M*test(Hazix)-epara1*Haxi*M*test(Haziy)-eperp1*Hazix*M*test(Hrad))/(epara1*eperp1)+(epara1*Haxi*M^2*test(Haxi)+eperp1*Hazi*test(Hazi)-eperp1*Hrad*M*test(Hazi)-eperp1*Hazi*M*test(Hrad)+eperp1*Hrad*M^2*test(Hrad))/(epara1*eperp1*x)+(x*(epara1*(Haxix-Hrady)*test(Haxix)+eperp1*Hazix*test(Hazix)+epara1*Haziy*test(Haziy)-epara1*Haxix*test(Hrady)+epara1*Hrady*test(Hrady)))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00893335035496t`334,0.0516080822710715,-0.0327858550315698,0.0377961107557615,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, ... 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,1,1,1,1,1,1,1,1,2,1,2,2,2,2,2,2,1,2,2,1,2,2,2,2,2, ... 2,2,2,1,2,2,2,2,2,2,2,2,2,2,2,2,1,2,2,2,1,2,1,2,2,2,2,2,1,2,2,2,2,2,2, ... 2,1,1,1,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_0:vacuum','dielectric_1','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,2,1,1,1,1,1,2,1,1,1,1,2,2,2,2,2,1,1,1,1,1,1,1,1,1]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.228098e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00893335035496334,0.0516080822710715,-0.0327858550315698,0.0377961107557615,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.202806e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00893335035496334,0.0516080822710715,-0.0418314245107177,0.0468416802349093,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.202806e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00893335035496334,0.0516080822710715,-0.0327858550315698,0.0377961107557615,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=9.202806e9 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',2, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00893335035496334,0.0516080822710715,-0.0327858550315698,0.0377961107557615,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Geometry [g2,g9,g10,g11,g12,g13,g14,g42,g43,g44,g45,g46,g47,g48,g49,g50,g51,g52,g53,g54,g55,g56,g57,g58,g59,g60,g61]=geomcopy({g28,g38,g27,g16,g20,g35,g22,g33,g19,g30,g23,g25,g32,g40,g31,g17,g21,g39,g18,g34,g29,g24,g41,g36,g37,g15,g26}); clear g28 g38 g27 g16 g20 g35 g22 g33 g19 g30 g23 g25 g32 g40 g31 g17 g21 g39 g18 g34 g29 g24 g41 g36 g37 g15 g26 g62=flbinary('g62','draw',flbinaryfile); g63=flbinary('g63','draw',flbinaryfile); g64=flbinary('g64','draw',flbinaryfile); g65=flbinary('g65','draw',flbinaryfile); g66=flbinary('g66','draw',flbinaryfile); g67=flbinary('g67','draw',flbinaryfile); g68=flbinary('g68','draw',flbinaryfile); g69=flbinary('g69','draw',flbinaryfile); g70=flbinary('g70','draw',flbinaryfile); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','9', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Geometry clear s s.objs={g62,g63,g64,g65,g66,g67,g68,g69,g70}; s.name={'s1','s2','s3','s4','v1','v2','v3','v4','v5'}; s.tags={'g62','g63','g64','g65','g66','g67','g68','g69','g70'}; fem.draw=struct('s',s); fem.geom=geomcsg(fem); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Initialize mesh fem.mesh=meshinit(fem, ... 'hmax',[], ... 'hmaxfact',1, ... 'hgrad',1.3, ... 'hcurve',0.3, ... 'hcutoff',0.001, ... 'hnarrow',1, ... 'hpnt',10, ... 'xscale',1.0, ... 'yscale',1.0, ... 'mlevel','sub'); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.654084e11 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0190790298376714,0.0617537617537796,-0.0227182521147096,0.0715203062267194,-1,1]); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[6],3,[30],5,[8],7,[6],14,[20],21,[24]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[10],3,[30],5,[14],7,[6],14,[20],21,[24]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[10],3,[30],5,[14],7,[10],14,[20],21,[24]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[10],3,[30],5,[14],7,[10],14,[20],21,[24]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[12],3,[30],5,[14],7,[10],14,[20],21,[24]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[11],3,[30],5,[14],7,[10],14,[20],21,[24]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[11],3,[30],5,[14],7,[10],14,[20],21,[24]}); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi'}; % Descriptions clear descr descr.expr= {'MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0190790298376714,0.0617537617537796,-0.0227182521147096,0.0715203062267194,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0190790298376714,0.0617537617537796,-0.0347955783492975,0.0835976324613074,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030399e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6) Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Hazi-Hrad*M+Hazix*x','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Hazi-Hrad*M+Hazix*x Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00112800835940596,0.0507685982271237,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'2.0','1.00'}, ... 'epara',{'2.0','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','0', ... 'Eazi','0', ... 'Eaxi','0'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'eperp','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: eperp Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00193862774883241,0.0515792176165501,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'eperp','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: eperp Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(ept`ara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','0', ... 'Eazi','0', ... 'Eaxi','0'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'eperp','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: eperp Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'(Hazi-Hrad*M+Hazix*x)/epara','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: (Hazi-Hrad*M+Hazix*x)/epara Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'(Hazi-Hrad*M+Hazix*x)/epara','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: (Hazi-Hrad*M+Hazix*x)/epara Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00163454908198365,0.0512751389497014,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Drad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Drad Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Daxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Daxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'MagEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: MagEn Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eaxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eazi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','Haxi*M- Haziy*x/eperp', ... 'Eazi','-Haxix+Hrady/eperp', ... 'Eaxi','Hazi-Hrad*M+Hazix*x/epara'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: Erad Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: Eaxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00224977801258464,0.0518903678803024,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eaxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','Haxi*M- Haziy*x/eperp', ... 'Eazi','-Haxix+Hrady/eperp', ... 'Eaxi','Hazi-Hrad*M+Hazix*x/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-06)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.513625e10 Surface: Eaxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eaxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00224977801258464,0.0518903678803024,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-06)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: ElecEn Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00163454908198365,0.0512751389497014,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eaxi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00163454908198365,0.0512751389497014,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00163454908198365,0.0512751389497014,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eazi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-t`M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-06)', ... 'Emag','og10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-06)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','Emag','electric field magnitude'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: Eazi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eazi Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Hazi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Hazi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00256824945901339,0.0522088393267311,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'ElecEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: ElecEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'ElecEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: ElecEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'ElecEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: ElecEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'ElecEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: ElecEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'ElecEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: ElecEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'MagEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: MagEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'MagEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030399e10 Surface: ElecEn Contour: MagEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'MagEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'MagEn','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030399e10 Surface: MagEn Contour: MagEn Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'MagEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.2,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030399e10 Surface: MagEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'MagEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030399e10 Surface: MagEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030399e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.100904e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','off'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',[], ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00325502154171962,0.0483829640817542,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'lindata',{'Hrad','cont','internal'}, ... 'linstyle','interp', ... 'linbar','on', ... 'linmap','jet(1024)', ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Boundary: Hrad Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'bdl',{[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]}, ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00574460143455437,0.0553851913022721,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00256824945901339,0.0522088393267311,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'tridlim',[0.001 10.00], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00256824945901339,0.0522088393267311,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'tridlim',[0.001 1000], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'tridlim',[0.001 1000], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'tridlim',[0.001 1000], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'tridlim',[0.001 1000], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-06)', ... 'Emag','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','Emag','electric field magnitude'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'tridlim',[0.001 1000], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00214526035642077,0.0517858502241385,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','flat', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','bone(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.0018t`3649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','pink(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','hot(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Emag','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Emag Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00183649445615039,0.0514770843238681,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eaxi Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00173513784250016,0.0513757277102179,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Drad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Drad Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eazi Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(90)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eazi Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(90)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.0040395349016057,0.0536801247693234,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Erad','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Erad Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.0040395349016057,0.0536801247693234,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: Eazi Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00267607837394595,0.0523166682416637,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00246126295747873,0.0521018528251965,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-04)', ... 'Emag','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','Emag','electric field magnitude'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'init',fem0.sol, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495903e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00153471948192387,0.0511753093496416,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecEn','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: ElecEn Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00163454908198365,0.0512751389497014,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-04)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-04) Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-8.24805507925479E-4,0.0459527480479601,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'Haxi*Haxi','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: Haxi*Haxi Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-8.24805507925479E-4,0.0459527480479601,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'lo10(Haxi*Haxi)','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: lo10(Haxi*Haxi) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00121656912149901,0.0508571589892167,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'lo10(Haxi*Haxi+1e-04)','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: lo10(Haxi*Haxi+1e-04) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-6.38948398362847E-4,0.0457668909383974,-0.00182680812279646,0.0514673979905142,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-04)','cont','internal'}, ... 'contlevels',20, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-04) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00395997697685237,0.049087919516887,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-04)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-04) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-04)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.5, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-04) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-04)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-04) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-04)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-04) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-06), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-06)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Hat`xi+1e-1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e-1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e-1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi*log10(Hazi*Hazi+Haxi*Haxi+1e1), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e01)*Hazi/(Hazi*Hazi+Haxi*Haxi)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e01)*Hazi/(Hazi*Hazi+Haxi*Haxi), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e01)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e01)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), Haxi*log10(Hazi*Hazi+Haxi*Haxi+1e1)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e01)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(Hazi*Hazi+Haxi*Haxi+1e01)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e01)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(Hazi*Hazi+Haxi*Haxi+1e01)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e-03)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(Hazi*Hazi+Haxi*Haxi+1e-03)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e-03)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(Hazi*Hazi+Haxi*Haxi+1e-03)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e+07)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(Hazi*Hazi+Haxi*Haxi+1e+07)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e+07)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(Hazi*Hazi+Haxi*Haxi+1e+07)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(Hazi*Hazi+Haxi*Haxi+1e-07)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [log10(1)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), log10(1)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'(log10(Hazi*Hazi+Haxi*Haxi)+2)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','(log10(Hazi*Hazi+Haxi*Haxi)+2)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [(log10(Hazi*Hazi+Haxi*Haxi)+2)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), (log10(Hazi*Hazi+Haxi*Haxi)+2)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'(log10(Hazi*Hazi+Haxi*Haxi)+4)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','(log10(Hazi*Hazi+Haxi*Haxi)+4)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [(log10(Hazi*Hazi+Haxi*Haxi)+4)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), (log10(Hazi*Hazi+Haxi*Haxi)+4)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'(log10(Hazi*Hazi+Haxi*Haxi)+10)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','(log10(Hazi*Hazi+Haxi*Haxi)+10)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [(log10(Hazi*Hazi+Haxi*Haxi)+10)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), (log10(Hazi*Hazi+Haxi*Haxi)+10)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'(log10(Hazi*Hazi+Haxi*Haxi)+14)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi)','(log10(Hazi*Hazi+Haxi*Haxi)+14)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [(log10(Hazi*Hazi+Haxi*Haxi)+14)*Hazi/sqrt(Hazi*Hazi+Haxi*Haxi), (log10(Hazi*Hazi+Haxi*Haxi)+14)*Haxi/sqrt(Hazi*Hazi+Haxi*Haxi)]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192542e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-9.04630684642005E-4,0.0460325732246766,-0.00112800835940596,0.0507685982271237,-1,1]); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[17],3,[40],5,[20],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[17],3,[40],5,[22],7,[14],14,[28],21,[30]}); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-04)', ... 'Emag','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','Emag','electric field magnitude'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495805e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00362800835940596,0.0482685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-02) Contour: log10(Haxi*Haxi+1e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+1e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04) Contour: log10(Haxi*Haxi+1e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04) Contour: log10(Haxi*Haxi+1e-05) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, .t`.. 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','normalized', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',2.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-03) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00985575482644509,0.0544963446941628,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030372e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',15, ... 'phase',(0)*pi/180, ... 'title','lambda(15)=1.100861e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.205595e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',12, ... 'phase',(0)*pi/180, ... 'title','lambda(12)=1.240562e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'deformsub',{'Hrad','Hazi'}, ... 'deformscale',1, ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi] Deformation: Hrad,Hazi', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','off', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192519e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00933212937787436,0.0539727192455921,-1,1]); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[13],3,[50],5,[28],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[13],3,[50],5,[24],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[13],3,[50],5,[26],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[15],3,[50],5,[26],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[16],3,[50],5,[26],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[18],3,[50],5,[26],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[20],3,[50],5,[26],7,[14],14,[28],21,[30]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[20],3,[50],5,[26],7,[14],14,[28],21,[40]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[20],3,[50],5,[26],7,[14],14,[28],21,[34]}); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[20],3,[50],5,[26],7,[14],14,[28],21,[34]}); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'(-epara2*Haziy*M*test(Haxi)+eperp2*Hazix*test(Hazi)+eperp2*Hazi*test(Hazix)-eperp2*Hrad*M*test(Hazix)-epara2*Haxi*M*test(Haziy)-eperp2*Hazix*M*test(Hrad))/(epara2*eperp2)+(epara2*Haxi*M^2*test(Haxi)+eperp2*Hazi*test(Hazi)-eperp2*Hrad*M*test(Hazi)-eperp2*Hazi*M*test(Hrad)+eperp2*Hrad*M^2*test(Hrad))/(epara2*eperp2*x)+(x*(epara2*(Haxix-Hrady)*test(Haxix)+eperp2*Hazix*test(Hazix)+epara2*Haziy*test(Haziy)-epara2*Haxix*test(Hrady)+epara2*Hrady*test(Hrady)))/(epara2*eperp2)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara3*Haziy*M*test(Haxi)+eperp3*Hazix*test(Hazi)+eperp3*Hazi*test(Hazix)-eperp3*Hrad*M*test(Hazix)-epara3*Haxi*M*test(Haziy)-eperp3*Hazix*M*test(Hrad))/(epara3*eperp3)+(epara3*Haxi*M^2*test(Haxi)+eperp3*Hazi*test(Hazi)-eperp3*Hrad*M*test(Hazi)-eperp3*Hazi*M*test(Hrad)+eperp3*Hrad*M^2*test(Hrad))/(epara3*eperp3*x)+(x*(epara3*(Haxix-Hrady)*test(Haxix)+eperp3*Hazix*test(Hazix)+epara3*Haziy*test(Haziy)-epara3*Haxix*test(Hrady)+epara3*Hrady*test(Hrady)))/(epara3*eperp3)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara4*Haziy*M*test(Haxi)+eperp4*Hazix*test(Hazi)+eperp4*Hazi*test(Hazix)-eperp4*Hrad*M*test(Hazix)-epara4*Haxi*M*test(Haziy)-eperp4*Hazix*M*test(Hrad))/(epara4*eperp4)+(epara4*Haxi*M^2*test(Haxi)+eperp4*Hazi*test(Hazi)-eperp4*Hrad*M*test(Hazi)-eperp4*Hazi*M*test(Hrad)+eperp4*Hrad*M^2*test(Hrad))/(epara4*eperp4*x)+(x*(epara4*(Haxix-Hrady)*test(Haxix)+eperp4*Hazix*test(Hazix)+epara4*Haziy*test(Haziy)-epara4*Haxix*test(Hrady)+epara4*Hrady*test(Hrady)))/(epara4*eperp4)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'},{'(-epara5*Haziy*M*test(Haxi)+eperp5*Hazix*test(Hazi)+eperp5*Hazi*test(Hazix)-eperp5*Hrad*M*test(Hazix)-epara5*Haxi*M*test(Haziy)-eperp5*Hazix*M*test(Hrad))/(epara5*eperp5)+(epara5*Haxi*M^2*test(Haxi)+eperp5*Hazi*test(Hazi)-eperp5*Hrad*M*test(Hazi)-eperp5*Hazi*M*test(Hrad)+eperp5*Hrad*M^2*test(Hrad))/(epara5*eperp5*x)+(x*(epara5*(Haxix-Hrady)*test(Haxix)+eperp5*Hazix*test(Hazix)+epara5*Haziy*test(Haziy)-epara5*Haxix*test(Hrady)+epara5*Hrady*test(Hrady)))/(epara5*eperp5)'; ... 'alpha*(Hrad*test(Haxiy)-Hazi*M*test(Haxiy)-Haxiy*M*test(Hazi)-Hradx*M*test(Hazi)+Haxiy*test(Hrad)+Hradx*test(Hrad)+(-Hrad*M*test(Hazi)+Hazi*M^2*test(Hazi)+Hrad*test(Hrad)-Hazi*M*test(Hrad))/x+Hrad*test(Hradx)-Hazi*M*test(Hradx)+x*(Haxiy*test(Haxiy)+Hradx*test(Haxiy)+Haxiy*test(Hradx)+Hradx*test(Hradx)))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'}}; equ.name = {'dielectric_1','dielectric_0:vacuum','dielectric_2','dielectric_3', ... 'dielectric_4','dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1.00'}, ... 'epara',{'epara1','1.00'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-04)', ... 'Emag','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-04)'}; % Descriptions clear descr descr.expr= {'Eaxi','axiall component of electric field strength','MagEn','magnetic field energy density','DivH','divergence of magnetic field (should be zero)','ElecEn','electric field energy density','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','Emag','electric field magnitude'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'eperp2','relative permittivity of dielectric_2 perpendicular to cylindrical axis','c','speed of light (exact!)','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','eperp_293K_sapph','nominal room temperature values for same','epara1','relative permittivity of dielectric_1 parallel to cylindrical axis','eperp3','etc.','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc.','eperp1','relative permittivity of dielectric_1 perpendicular to cylindrical axis','delta_eperp1','small postivie finite number (to avoid close-to-zero values)','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495792e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00362800835940596,0.0482685982271237,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Haxi*Haxi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Haxi*Haxi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00575095251905018,0.0508788950590848,-0.00921223383123901,0.0538528236989567,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+3e-06)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+3e-06) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-3.97834199044468E-4,0.05006965418058,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-05)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-05) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-7.72592776120882E-4,0.0504444127576565,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-7.72592776120882E-4,0.0504444127576565,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-7)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-7) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-6.46442516185475E-4,0.050318262497721,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',10, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-0.00102867780378978,0.0507004977853253,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-0.00102867780378978,0.0507004977853253,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-0.00102867780378978,0.0507004977853253,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-1.37503775071269E-4,0.045139673983454,-0.00102867780378978,0.0507004977853253,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-02) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00732552473044753,0.0523276949388303,-3.97834199044468E-4,0.05006965418058,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.00', ... 'epara2','1.00', ... 'eperp3','1.00', ... 'epara3','1.00', ... 'eperp4','1.00', ... 'epara4','1.00', ... 'eperp5','1.00', ... 'epara5','1.00', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'-Hrad';'-Hazi';'-Haxi'}}; bnd.name = {'tangential_H',''}; bnd.ind = [1,1,1,2,1,2,1,2,1,2,2,2,2,1,2,1,2,2,2,2,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Ht`rad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniaxial_dielectric_1','dielectric_0:vacuum','uniaxial_dielectric_2', ... 'uniaxial_dielectric_3','uniaxial_dielectric_4','uniaxial_dielectric_5', ... 'isotropic_dielectric_1','isotropic_dielectric_2','isotropic_dielectric_3', ... 'isotropic_dielectric_4','isotropic_dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'HaziStr','log10(Hazi*Hazi+1e-6)', ... 'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-4)', ... 'ElecStr','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','MagEn','logarithmic magnetic field energy density','DivH','divergence of magnetic field (should be zero!)','ElecEn','logarithmic electric energy density','HaziStr','logarithmic magnitude of azimuthal magnetic field strength','Eazi','azimuthal component of electric field strength','ElecStr','logarithmic magnitude of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'ElecStr','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'HaziStr','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495792e10 Surface: ElecStr Contour: HaziStr Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00238319682096284,0.0472968951434518,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecStr','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'HaziStr','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: ElecStr Contour: HaziStr Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.0025429524178502,0.0523359536821839,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniaxial_dielectric_1','dielectric_0:vacuum','uniaxial_dielectric_2', ... 'uniaxial_dielectric_3','uniaxial_dielectric_4','uniaxial_dielectric_5', ... 'isotropic_dielectric_1','isotropic_dielectric_2','isotropic_dielectric_3', ... 'isotropic_dielectric_4','isotropic_dielectric_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'HaziStr','log10(Hazi*Hazi+1e-6)', ... 'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-4)', ... 'ElecStr','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','MagEn','logarithmic magnetic field energy density','DivH','divergence of magnetic field (should be zero!)','HaziStr','logarithmic magnitude of azimuthal magnetic field strength','ElecEn','logarithmic electric energy density','Eazi','azimuthal component of electric field strength','ElecStr','logarithmic magnitude of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Daxi','axial component of electric displacement','Erad','radial component of electric field strength'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e1','relative permittivity of isotropic_dielectric_1','delta_eperp1','fractional increment (for determining filling factors)','alpha','penalty coefficient on Div H','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'ElecStr','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'HaziStr','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495792e10 Surface: ElecStr Contour: HaziStr Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00937291637677534,0.0542866146992643,-0.00295454421360046,0.0527475454779342,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'ElecStr','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'HaziStr','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: ElecStr Contour: HaziStr Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00335492266478335,0.0531479239291171,-1,1]); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'HaziStr','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: HaziStr Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0095134451429476,0.0544271434654365,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hazi','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hazi, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00320046955440193,0.0529934708187357,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00320046955440193,0.0529934708187357,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00320046955440193,0.0529934708187357,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00320046955440193,0.0529934708187357,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00320046955440193,0.0529934708187357,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'HaziStr','log10(Hazi*Hazi+1e-6)', ... 'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEn','log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-6)', ... 'Drad','Haxi*M- Haziy*x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','Hazi-Hrad*M+Hazix*x', ... 'Erad','(Haxi*M- Haziy*x)/eperp', ... 'Eazi','(-Haxix+Hrady)/eperp', ... 'Eaxi','(Hazi-Hrad*M+Hazix*x)/epara', ... 'ElecEn','log10(Erad*Drad+Eazi*Dazi+Eaxi*Daxi+1e-4)', ... 'ElecStr','log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','MagEn','logarithmic magnetic field energy density','DivH','divergence of magnetic field (should be zero!)','ElecEn','logarithmic electric energy density','HaziStr','logarithmic magnitude of azimuthal magnetic field strength','Eazi','azimuthal component of electric field strength','ElecStr','logarithmic magnitude of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495792e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00213568491890328,0.0470493832413922,-0.00320046955440193,0.0529934708187357,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Erad*Erad+Eazi*Eazi+Eaxi*Eaxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00239533257084357,0.0473090308933325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Hazi*Hazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2) Contour: log10(Hazi*Hazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00291640028652702,0.0478300986090159,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-6)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2) Contour: log10(Eazi*Eazi+1e-6) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00291640028652702,0.0478300986090159,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-4)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2) Contour: log10(Eazi*Eazi+1e-4) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-2)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2) Contour: log10(Eazi*Eazi+1e-2) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-2) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-3) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-4) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-4)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-4) Contour: log10(Eazi*Eazi+1e-4) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-4) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00329699902824359,0.0482106973507325,-0.00307750688400119,0.0528705081483349,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-5) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00355073152272131,0.0484644298452102,-0.00307750688400119,0.0528705081483349,-1,1]); % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[20],3,[50],5,[26],7,[14],14,[28],21,[34]}); % Plot solution postplot(fem, ... 'tridata',{'log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(Hrad*Hrad+Hazi*Hazi+Haxi*Haxi+1e-5) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00991393281702475,0.0548276311395137,-0.00248965006321669,0.0522826513275504,-1,1]); % COMSOL Multiphyt`sics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/erel', ... 'Eazi','Dazi/erel', ... 'Eaxi','Daxi/erel', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e1','relative permittivity of isotropic_dielectric_1','delta_eperp1','fractional increment (for determining filling factors)','alpha','penalty coefficient on Div H','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/eperp', ... 'Eazi','Dazi/eperp', ... 'Eaxi','Daxi/epara', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e1','relative permittivity of isotropic_dielectric_1','delta_eperp1','fractional increment (for determining filling factors)','alpha','penalty coefficient on Div H','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem,'geoms',[1],'eqvars','on','cplbndeq','on','cplbndsh','off'); % Solve problem fem.sol=femeig(fem, ... 'method','eliminate', ... 'nullfun','auto', ... 'blocksize',5000, ... 'complexfun','off', ... 'solfile','off', ... 'conjugate','off', ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'rowscale','on', ... 'neigs',16, ... 'shift',0, ... 'krylovdim',0, ... 'maxeigit',300, ... 'etol',0.0, ... 'linsolver','spooles', ... 'thresh',0.1, ... 'preorder','mmd', ... 'uscale','auto', ... 'mcase',0); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',1, ... 'phase',(0)*pi/180, ... 'title','lambda(1)=1.495792e10 Surface: log10(MagEnDens+1e-5) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0117097954362115,0.0566234937587005,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[0.0,0.0,0.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00545765170832655,0.0503713500308155,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00545765170832655,0.0503713500308155,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','off', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Constants fem.const = {'c','299792458', ... 'fc','4*pi^2/c^2', ... 'alpha','1', ... 'M','14', ... 'delta_e','0*1e-3', ... 'e1','9.8*(1+delta_e)', ... 'e2','1.0', ... 'e3','1.0', ... 'e4','1.0', ... 'e5','1.0', ... 'delta_eperp1','0*1e-3', ... 'eperp1','9.2725*(1+delta_eperp1)', ... 'delta_epara1','0*1e-3', ... 'epara1','11.3486*(1+delta_epara1)', ... 'eperp2','1.0', ... 'epara2','1.0', ... 'eperp3','1.0', ... 'epara3','1.0', ... 'eperp4','1.0', ... 'epara4','1.0', ... 'eperp5','1.0', ... 'epara5','1.0', ... 'e_293K_alumina','9.8', ... 'eperp_4K_sapph_UWA','9.2725', ... 'epara_4K_sapph_UWA','11.3486', ... 'eperp_293K_sapph','9.407', ... 'epara_293K_sapph','11.62', ... 'eperp_4K_sapph_NPL','9.2848', ... 'epara_4K_sapph_NPL','11.3660'}; % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',15, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',11, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',9, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',9, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',10, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',8, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',6, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',7, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',7, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',15, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(MagEnDens+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(MagEnDens+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e-5)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e-5) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e-3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e-3) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Hrad','Haxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+0) Arrow: [Hrad, Haxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.4, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',1.0, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+1)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+1) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',14, ... 'arrowyspacing',8, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, ... 'arrowyspacing',14, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, .t`.. 'arrowyspacing',15, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, ... 'arrowyspacing',16, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, ... 'arrowyspacing',14, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',12, ... 'arrowyspacing',14, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',8, ... 'arrowyspacing',14, ... 'arrowscale',0.9, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',8, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',9, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',10, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',7, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',5, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.2, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+4)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+4) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log10(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eazi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log10(ElecMagSqrd+1e+3) Arrow: [Erad, Eazi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eazi','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: Eazi Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00814343176044616,0.0530571300829351,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'contdata',{'log10(Eazi*Eazi+1e-3)','cont','internal'}, ... 'contlevels',8, ... 'contstyle',[1.0,1.0,1.0], ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Contour: log10(Eazi*Eazi+1e-3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00545765170832655,0.0503713500308155,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',3, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',4, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',2, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',3, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',4, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',5, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+3)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+3) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00849566520990447,0.0534093635323934,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00840760684753989,0.0533213051700288,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'tridlim',[1.0554683946511696E-30 10.71939644473], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00787925667335243,0.0527929549958414,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'tridlim',[1.0554683946511696E-30 100.71939644473], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00787925667335243,0.0527929549958414,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'tridlim',[1.0554683946511696E-30 10000.71939644473], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00787925667335243,0.0527929549958414,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'tridlim',[1.0554683946511696E-30 1000.71939644473], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: Eaxi*Eaxi+0*log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00787925667335243,0.0527929549958414,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'tridlim',[1.0554683946511696E-30 1000.71939644473], ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00787925667335243,0.0527929549958414,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00787925667335243,0.0527929549958414,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+2)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+2) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+1)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+1) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','gray(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'-log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: -log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',13, ... 'phase',(0)*pi/180, ... 'title','lambda(13)=1.205583e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030366e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','off'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030366e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030366e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','off', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030366e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00823149012281074,0.0531451884452997,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum','end', ... 'phase',(0)*pi/180, ... 'title','lambda(16)=1.030366e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0117097954362115,0.0566234937587005,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00840760684753989,0.0533213051700288,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.00840760684753989,0.0533213051700288,-0.00248965006321669,0.0522826513275504,-1,1]); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/eperp', ... 'Eazi','Dazi/eperp', ... 'Eaxi','Daxi/epara', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperatture','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/eperp', ... 'Eazi','Dazi/eperp', ... 'Eaxi','Daxi/epara', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','e1','relative permittivity of isotropic_dielectric_1','delta_eperp1','fractional increment (for determining filling factors)','alpha','penalty coefficient on Div H','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0110631081567644,0.0559768064792534,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0110631081567644,0.0559768064792534,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0110631081567644,0.0559768064792534,-0.00484588660292805,0.0546388878672618,-1,1]); % Integrate I1=postint(fem,'MagEnDens', ... 'dl',[1,2,3,4,5,6,7,8,9], ... 'edim',2, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I2=postint(fem,'2*pi*x*MagEnDens', ... 'dl',[1,2,3,4,5,6,7,8,9], ... 'edim',2, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I3=postint(fem,'2*pi*x*MagEnDens', ... 'dl',[1,2,3,4,5,6,7,8,9], ... 'edim',2, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I4=postint(fem,'2*pi*x*(Hazi^2*nx^2)', ... 'dl',[], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I5=postint(fem,'2*pi*x*(Hazi^2*nx^2)', ... 'dl',[], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I6=postint(fem,'2*pi*x*(Hazi^2*nx^2)', ... 'dl',[2,7,9,14,16,21,22,23,24], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I7=postint(fem,'2*pi*x*(Hazi^2*nx^2)', ... 'dl',[2,7,9,14,16,21,22,23,24], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I8=postint(fem,'2*pi*x*(Hazi^2*(nx^2+ny^2)+(Haxi*nx-Hrad*ny)^2)', ... 'dl',[2,7,9,14,16,21,22,23,24], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I9=postint(fem,'2*pi*x*(Hazi^2*(nx^2+ny^2)+(Haxi*nx-Hrad*ny)^2)', ... 'dl',[2,7,9,14,16,21,22,23,24], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'triedgestyle','none', ... 'trifacestyle','interp', ... 'tribar','on', ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'phase',(0)*pi/180, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'geom','on', ... 'geomnum',[1], ... 'sdl',{[1,2,3,4,5,6,7,8,9]}, ... 'axisvisible','on', ... 'axisequal','on', ... 'grid','off', ... 'axis',[-0.0110631081567644,0.0559768064792534,-0.00248965006321669,0.0522826513275504,-1,1]); % Integrate I10=postint(fem,'2*pi*x*MagEnDens', ... 'dl',[1,2,3,4,5,6,7,8,9], ... 'edim',2, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Integrate I11=postint(fem,'2*pi*x*(Hazi^2*(nx^2+ny^2)+(Haxi*nx-Hrad*ny)^2)', ... 'dl',[2,7,9,14,16,21,22,23,24], ... 'edim',1, ... 'intorder',4, ... 'geomnum',1, ... 'solnum',14, ... 'phase',(0)*pi/180); % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.mode.type = 'cartesian'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.sdim = {'x','y','z'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.shape = {'shlag(2,''Hrad'')','shlag(2,''Hazi'')','shlag(2,''Haxi'')'}; appl.gporder = 4; appl.cporder = 2; appl.sshape = 2; appl.border = 'off'; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear prop prop.elemdefault='Lag2'; prop.wave='off'; prop.frame='xy'; clear weakconstr weakconstr.value = 'off'; weakconstr.dim = {'lm1','lm2','lm3','lm4','lm5','lm6'}; prop.weakconstr = weakconstr; appl.prop = prop; clear pnt pnt.weak = {{'0';'0';'0'}}; pnt.dweak = {{'0';'0';'0'}}; pnt.constr = {{'0';'0';'0'}}; pnt.ind = [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]; appl.pnt = pnt; clear bnd bnd.weak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.dweak = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'}}; bnd.constr = {{'Hrad*nx+Haxi*ny';'0';'0'},{'Hazi';'-Haxi*nx+Hrad*ny';'0'},{'0'; ... '0';'0'}}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.gporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.init = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.shape = {[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2;3],[1;2; ... 3],[1;2;3],[1;2;3],[1;2;3]}; equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'},{'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'; ... '0'}}; equ.dweak = {{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'},{'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; ... '0';'0'}}; equ.usage = {1,1,1,1,1,1,1,1,1,1,1}; equ.constr = {{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0'; ... '0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0';'0'},{'0';'0'; ... '0'},{'0';'0';'0'}}; equ.cporder = {{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1;1},{1;1; ... 1},{1;1;1},{1;1;1},{1;1;1}}; equ.dinit = {{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0'; ... '0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0'; ... '0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'}, ... {'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0';'0'},{'0';'0';'0';'0';'0'; ... '0'}}; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.sdim = {'x','y'}; fem.frame = {'xy'}; % Simplify expressions fem.simplify = 'on'; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.var = {}; equ.expr = {'eperp',{'eperp1','1'}, ... 'epara',{'epara1','1'}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/eperp', ... 'Eazi','Dazi/eperp', ... 'Eaxi','Daxi/epara', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Functions clear fcns fem.functions = {}; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Solution form fem.solform = 'weak'; % Multiphysics fem=multiphysics(fem); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Create mapped quad mesh fem.mesh=meshmap(fem, ... 'edgegroups',{{[2],[8],[4],[1]},{},{},{},{},{},{},{},{}}, ... 'edgelem',{1,[10],3,[25],5,[13],7,[7],14,[14],21,[17]}); % COMSOL Multiphysics Model M-file % Generated by COMSOL 3.2 (COMSOL 3.2.0.224, $Date: 2005/10/24 07:30:19 $) % Some geometry objects are stored in a separate file. % The name of this file is given by the variable 'flbinaryfile'. flbinaryfile=''; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'axis',[-0.0147898041622324,0.0597035024847213,-0.00248965006321669,0.0522826513275504,-1,1]); % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',14, ... 'title','lambda(14)=1.192515e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'axis',[-0.0147898041622324,0.0597035024847213,-0.00248965006321669,0.0522826513275504,-1,1]); % (Default values are not included) % Application mode 1 clear appl appl.mode.class = 'FlPDEW'; appl.dim = {'Hrad','Hazi','Haxi','Hrad_t','Hazi_t','Haxi_t'}; appl.name = 'Axisymmetric_Dielectric_Resonator_Simulator'; appl.gporder = 4; appl.cporder = 2; appl.assignsuffix = '_Axisymmetric_Dielectric_Resonator_Simulator'; clear bnd bnd.constr = {'Hrad*nx+Haxi*ny',{'Hazi';'-Haxi*nx+Hrad*ny'},0}; bnd.name = {'tangential_H','normal_H','null'}; bnd.ind = [1,1,1,3,1,3,1,3,1,3,3,3,3,1,3,1,3,3,3,3,1,1,1,1]; appl.bnd = bnd; clear equ equ.weak = {{'((eperp1*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara1*M^2*test(Haxi)*Haxi)/x+eperp1*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara1*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp1*test(Hazix)*Hazix+epara1*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara1*eperp1)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((eperp2*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara2*M^2*test(Haxi)*Haxi)/x+eperp2*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara2*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp2*test(Hazix)*Hazix+epara2*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara2*eperp2)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((eperp3*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara3*M^2*test(Haxi)*Haxi)/x+eperp3*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara3*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp3*test(Hazix)*Hazix+epara3*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara3*eperp3)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((eperp4*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara4*M^2*test(Haxi)*Haxi)/x+eperp4*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara4*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp4*test(Hazix)*Hazix+epara4*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara4*eperp4)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((eperp5*(test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hrad)*Hrad)+epara5*M^2*test(Haxi)*Haxi)/x+eperp5*(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-epara5*M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(eperp5*test(Hazix)*Hazix+epara5*((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/(epara5*eperp5)'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e1'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e2'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e3'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e4'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}, ... {'((test(Hazi)*Hazi-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*(test(Hrad)*Hrad+test(Haxi)*Haxi))/x+(test(Hazix)*(Hazi-M*Hrad)+Hazix*(test(Hazi)-M*test(Hrad)))-M*(test(Haxi)*Haziy+Haxi*test(Haziy))+x*(test(Hazix)*Hazix+((test(Haxix)-test(Hrady))*(Haxix-Hrady)+Haziy*test(Haziy))))/e5'; ... 'alpha*((test(Hrad)*Hrad-M*(test(Hazi)*Hrad+Hazi*test(Hrad))+M^2*test(Hazi)*Hazi)/x+(test(Haxiy)+test(Hradx))*(Hrad-M*Hazi)+(test(Hrad)-M*test(Hazi))*(Hradx+Haxiy)+x*(test(Hradx)+test(Haxiy))*(Hradx+Haxiy))'}}; equ.dweak = 'fc*x*(Haxitt*test(Haxi)+Hazitt*test(Hazi)+Hradtt*test(Hrad))'; equ.name = {'uniax_diel_1','dielectric_0:vacuum','uniax_diel_2','uniax_diel_3', ... 'uniax_diel_4','uniax_diel_5','isotrop_diel_1','isotrop_diel_2','isotrop_diel_3', ... 'isotrop_diel_4','isotrop_diel_5'}; equ.ind = [1,1,1,2,1,2,2,2,2]; appl.equ = equ; fem.appl{1} = appl; fem.border = 1; fem.units = 'SI'; % Subdomain expressions clear equ equ.ind = [1,1,1,2,1,2,2,2,2]; equ.dim = {'Hrad','Hazi','Haxi'}; equ.expr = {'eperp',{'eperp1',1}, ... 'epara',{'epara1',1}}; fem.equ = equ; % Global expressions fem.expr = {'DivH','(Hrad-Hazi*M+(Haxiy+Hradx)*x)/x', ... 'MagEnDens','Hrad*Hrad+Hazi*Hazi+Haxi*Haxi', ... 'Drad','(Haxi*M-Haziy*x)/x', ... 'Dazi','-Haxix+Hrady', ... 'Daxi','(Hazi-Hrad*M+Hazix*x)/x', ... 'Erad','Drad/eperp', ... 'Eazi','Dazi/eperp', ... 'Eaxi','Daxi/epara', ... 'ElecMagSqrd','Erad*Erad+Eazi*Eazi+Eaxi*Eaxi', ... 'ElecEnDens','Erad*Drad+Eazi*Dazi+Eaxi*Daxi'}; % Descriptions clear descr descr.expr= {'Eaxi','axial component of electric field strength','DivH','divergence of magnetic field (should be zero!)','ElecEnDens','electric energy density','ElecMagSqrd','electric field strength magnitude squared','Eazi','azimuthal component of electric field strength','Drad','radial component of electric displacement','Dazi','azimuthal component of electric displacement','Erad','radial component of electric field strength','Daxi','axial component of electric displacement','MagEnDens','magnetic energy density'}; fem.descr = descr; % Descriptions descr = fem.descr; descr.const= {'e_293K_alumina','relative permittivity of alumina at room temperature','e2','ditto for isotropic_dielectric_2','eperp2','relative permittivity of uniaxial_dielectric_2 perpendicular to cylindrical axis','eperp_293K_sapph','nominal room temperature values for same','eperp_4K_sapph_UWA','UWA values for cryogenic HEMEX sapphire','c','speed of light (exact!)','delta_e','fractional increment (for determining filling factors)','e3','etc. ...','epara1','relative permittivity of uniaxial_dielectric_1 parallel to cylindrical axis','eperp3','etc.','delta_epara1','fractional increment (for determining filling factors)','epara2','ditto but parallel to cylindrical axis','M','azimuthal mode order','fc','constant used internally --do not modify','epara3','etc. ...','e1','relative permittivity of isotropic_dielectric_1','eperp1','relative permittivity of uniaxial_dielectric_1 perpendicular to cylindrical axis','delta_eperp1','fractional increment (for determining filling factors)','eperp_4K_sapph_NPL','NPL values: fitted to resonance frequencies of NPL Cs HEMEX resonator','alpha','penalty coefficient on Div H'}; fem.descr = descr; % Multiphysics fem=multiphysics(fem); % Extend mesh fem.xmesh=meshextend(fem); % Solve problem fem.sol=femeig(fem, ... 'symmetric','on', ... 'solcomp',{'Hazi','Haxi','Hrad'}, ... 'outcomp',{'Hazi','Haxi','Hrad'}, ... 'neigs',3, ... 'linsolver','spooles'); % Save current fem structure for restart purposes fem0=fem; % Plot solution postplot(fem, ... 'tridata',{'log(ElecMagSqrd+1e+0)','cont','internal'}, ... 'trimap','jet(1024)', ... 'arrowdata',{'Erad','Eaxi'}, ... 'arrowxspacing',6, ... 'arrowyspacing',14, ... 'arrowscale',1.3, ... 'arrowtype','arrow', ... 'arrowstyle','proportional', ... 'arrowcolor',[1.0,1.0,1.0], ... 'solnum',1, ... 'title','lambda(1)=1.192565e10 Surface: log(ElecMagSqrd+1e+0) Arrow: [Erad, Eaxi]', ... 'refine',3, ... 'axis',[-0.0125701888828511,0.05748388720534,-0.00248965006321669,0.0522826513275504,-1,1]); tfemsq~wt COMSOL 3.2twt $Name: $t$Date: 2005/10/24 07:30:19 $xxur[[Ljava.lang.String;2M 2Wxpuq~ +q~q~q~ q~!q~"q~#q~$q~%q~&q~'q~(q~)q~*q~+q~,q~-q~.q~/q~0q~1q~2q~3q~4q~5q~6q~7q~8q~9q~:q~;q~q~?q~@q~Aq~Bq~Cq~Dq~Eq~Fq~Gq~Huq~ +q~Sq~Sq~Sq~Sq~Tq~Sq~Sq~Tq~Sq~Sq~Sq~Sq~Sq~Sq~Tq~Sq~Sq~Sq~Tq~Sq~Tq~Sq~Sq~Sq~Tq~Sq~Sq~Tq~Tq~Sq~Sq~Tq~Sq~Sq~Sq~Sq~Sq~Sq~Sq~Sq~Sq~Uq~S