Electronics

Electronics

Topics related to HFSS, Maxwell, SIwave, Icepak, Electronics Enterprise and more.

How to analytically (and numerically) define a spatially varying deltaH for a ferromagnet in HFSS?

    • davidconnelly
      Subscriber

      I'm using Ansys HFSS 2019 R1 and trying to do magnetostatic wave simulations with a ferromagnetic film (this is a microwave simulation, so Maxwell 3D won't work). The problem is that I need to manually create an absorbing boundary condition (ABC) for these waves (radiation and PML don't work for my structure and these types of waves). I can only model a small extent of this ferromagnetic film due to mesh and computational constraints (magnetostatic wavelengths are typically five orders of magnitude less than EM waves at a given frequency).

      To create an ABC, I'd like to define the spatially varying magnetic line width (deltaH), preferably with an analytical expression. Defining it numerically (and choosing the axis along which it varies) would work too. I know how to reference intrinsic variables like X, Y, and Z, but when I define the material with an analytical expression, the results don't seem to make sense. For an exponentially graded ABC (more than a wavelength at the lowest frequency), the results seem to yield significant reflections, so I'm not convinced HFSS is interpreting my expression as I intend. I would also like to plot this expression as a function of space so I see exactly what HFSS is receiving as input.

      If I define the spatially varying line width numerically, I'd like to select along which axis, and this is not clear from the help documentation. I do not want to have to do a coordinate transformation, since this complicates defining the magnetic bias field.

      I create two project variables, $aa and $continuous_alpha:

      $aa = 2*ln($alpha_max/$alpha_min)/($SubsY)

      $continuous_alpha = $alpha_min*exp(abs($aa*Y))

      Then, under View/Edit Material, I enter in the following expression which converts alpha (the damping factor) to the linewidth (deltaH):

      Delta H = -($continuous_alpha)*4*pi*5.714e9/(4*pi*1e-7*$gyro)

      I have no units in my expression except for the intrinsic variable Y, which is defined with mm units. $SubsY is 0.2 (without units, but is the number if it were defined in mm units). $alpha_max is 0.01 and $alpha_min is 1e-5. So in 100 um I grade the damping constant alpha 3 orders of magnitude. Below is a picture of the setup and of a linecut along the y-axis of the wave I get.

      I've verified this expression in Matlab. This is one specific example, but I've tried various other alpha values, substrate widths, and CPW dimensions and it's hard to consistently get a good ABC. I'd first like to convince myself that HFSS is receiving the profile I think it is, but I have no idea how to do that.

    • Praneeth
      Forum Moderator
      nThank you for reaching to us. nPlease provide the following details to help us serve you better:nWhat is the range of the frequencies in your simulation model?nWhat solution type you are using in HFSS and kind of result you are expecting?nBest Regards,npmunaga.nn
    • davidconnelly
      Subscriber
      The results I showed above were for 5.85 GHz, but my range of interest is 5.72 to 5.85 GHz. The solution type is Modal, single port Network Analysis. I have verified that I am able to excite the correct CPW mode. nFerromagnetic resonance (FMR) occurs slightly below 5.72 GHz, so above FMR I expect to see magnetostatic waves traveling outward (k-vector along y-axis) from the CPW and getting absorbed at the edges of the simulation domain (no reflections). The result I am primarily interested in is the input impedance of the CPW structure and how it changes due to magnetostatic waves being launched. However, when there are reflections I get a very different input impedance. Below is a picture of a magnetostatic wave without reflections when I use discrete layers for my ABC at 5.75 GHz. The normalized (to 50 ohms) input impedance I get at 5.75 GHz is 0.0088+ j0.0185 ohms, which is what I expect.nnn
    • davidconnelly
      Subscriber
      Just a note to clarify, all I am looking for is help on how to:nCorrectly define an analytical expression that's a function of an intrinsic variable (e.g. what units do I use/assume for SubsY) and assign it to a materialnPlot this analytical expression a function of an intrinsic variable within a certain range so I can verify how HFSS is interpreting the expressionnn
    • Zeba Naqvi
      Ansys Employee
      Hi David,nThe units of DeltaH should be A/m. Your expression for delta H will have that unit if you are specifying proper unit for frequency in numerator, mu0 and charge to mass ratio in denominator. Now say this variable is $DeltaH. You can plot it along a line using Results>>Create Fields Report and select the line under geometry and 'Variable' in the 'Category' column. This will show you the variables available to plot. You will see $DeltaH. Plot it and see if it is as you expect. n
    • davidconnelly
      Subscriber
      Thank you for your reply.I have made sure I am using the correct units for everything. However, when I try plotting $continuous_alpha ($DeltaH would work but I stopped defining that as a project variable) as you suggested, I get a constant alpha that is 9.5e85. I have tried placing my line at the boundary and inside the magnetic material, but it yields the same answer. I'm plotting alpha vs. distance. I tried plotting it vs. the intrinsic variable Y and it gave me the same result as vs. distance. Is there something else I'm missing?nBtw, by using the correct units, I'm getting the results I expect, so I believe the absorbing boundary condition is working. However, I'd still like to double-check what alpha profile I'm inputting. n
    • AndyJP
      Subscriber
      >magnetostatic wave simulations with a ferromagnetic filmnTruth, HFSS can simulate some magnetostatic modes, but you can not be sure it is correct because surface pinning condition is not known to users. So you can roughly estimate the band filled with MS modes, but do not trust the results, because modes can be wrong.n
    • AndyJP
      Subscriber
      P.S. Use scripting to generate multiple materials and component objects. Every object is assigned a material from library uniformly.nnThen, you can not be sure HFSS has the same notation of DH as you suppose. I remember, making loss-fitting in order to determine DH suitable for HFSS, while I was perfectly sure in materials bulk DH, and spin-resonance DH (actual crystalline, with removed resonance degeneration, not Dhk).n
    • AndyJP
      Subscriber
      >create an absorbing boundary condition (ABC) for these wavesnDo it as in times of Adam, Suhl, and Damon: cut the spin-guide at 45 degrees so the mode is converted A) to another mode type B) to lossy mode type, depending on magnetization of course, and put lossy material around that place.n
    • AndyJP
      Subscriber
      >If I define the spatially varying line width numerically, I'd like to select along which axis, and this is not clear from the help documentation.nIn online HELP Library it is here: https://ansyshelp.ansys.com/Views/Secured/Electronics/v201/home.htm#../Subsystems/HFSS/Content/Materials/SpatiallyDependentMaterialsinHFSS.htm%3FTocPath%3DHFSS|HFSS%2520Help|Assigning%2520Materials|Adding%2520New%2520Materials|_____4nSpatially Dependent Materials in HFSSnEach spatially dependent object should have its own coordinate system as that would associate each with a separate origin point. The following images show the coordinate systems for each stripline with the Y origin at the start of the object.nX Y Z are not the same as $-project variables. You can not put them in project variable formulation. But you can use them in material editor.nHowever there is no way to check it in report, so I would avoid using it, or make an experiment with equivalent propagation in subdivided model, and similar modulated model.nMost researchers I know prefer subdividing manually.nn>However, when there are reflections I get a very different input impedancenI wonder how you define the input impedance of the magnetostatic wave. If you have a coplanar transducer, it is also not the best structure to find an equivalent load impedance because of complex modal composition. Why don't you use simple thin-wire as in classic works?nIf that's a practical model, i would model the whole transducer(antenna) and sweep its width until best matching, which will equalize the input impedance with the wave port impedance.nnAnd as znaqvi said, try not to miss the unit. When dividing, or taking trigonometric function, the unit may be lost and you have to multiply the float value with *1mm or 1mn
    • davidconnelly
      Subscriber
      Thanks for your responses. sorry for my delayed answer as I was traveling internationally.nTruth, HFSS can simulate some magnetostatic modes, but you can not be sure it is correct because surface pinning condition is not known to users.nYes, I realize the limitations of HFSS regarding pinning and modes, but in certain regimes the magnetostatic approximation is still good, and that's what I'm interested in.nP.S. Use scripting to generate multiple materials and component objects. Every object is assigned a material from library uniformly.nThis was another option I considered, however, entering an analytical expression is so much simpler and cleaner (much fewer objects to deal with and less time to make changes). My original question was specifically regarding analytically defining spatially varying materials.nDo it as in times of Adam, Suhl, and Damon: cut the spin-guide at 45 degrees so the mode is converted A) to another mode type B) to lossy mode type, depending on magnetization of course, and put lossy material around that place.nWhen you say cut the spin guide at 45 degrees, do you mean cut the film width at 45 degrees (taper)? A simple drawing might help. Do you have a journal article on the topic?nX Y Z are not the same as $-project variables. You can not put them in project variable formulation. But you can use them in material editor.nThanks for the link. I had found that previously. I understand X Y and Z variables to be the intrinsic HFSS variables for position, which I have used to define project variables. What do you mean I can't put them in project variable formulation but only in the material editor? What if I choose to have a complicated expression which would be cleaner if entered as a project variable and referenced in the material editor?.I wonder how you define the input impedance of the magnetostatic wave. If you have a coplanar transducer, it is also not the best structure to find an equivalent load impedance because of complex modal composition. Why don't you use simple thin-wire as in classic works?nIf that's a practical model, i would model the whole transducer(antenna) and sweep its width until best matching, which will equalize the input impedance with the wave port impedance.nI'm interested in the input impedance of the transducer, no of the magnetostatic wave per se. I want to model a CPW instead of a thin-wire because the response of the transducer greatly changes your ability to launch spin waves efficiently (within a bandwidth it can increase your radiation resistance over that of a wire). nAnd as znaqvi said, try not to miss the unit. When dividing, or taking trigonometric function, the unit may be lost and you have to multiply the float value with *1mm or 1mnAre you saying that then in my example of $aa, it does not have units of 1/mm since I am dividing by $SubsY which has units of mm? I agree that anything in a trigonometric function will likely be lost unless you correctly cancel it out, as I do in $continuous_alpha.n
    • AndyJP
      Subscriber
      >Yes, I realize the limitations of HFSS regarding pinning and modes, but in certain regimes the magnetostatic approximation is still good, and that's what I'm interested in.nHow can you be sure? The band is fine. But without certainty in pinning, the mode can be wrong; so the impedance will also be wrong. And you are interested particularly in impedance.n>do you mean cut the film width at 45 degrees (taper)?nSorry, I am not doing film research for many years and lost some of my paper folders. But I can insure you, that is a common practice... it was in 90s.nActually, I am astonished how many decorated physicists do not know this old trick; I've seen it at MMM sympo where a professor was explaining it as his new invention, and we could not understand each other when I asked, so, what's new about that?nI guess, this effect was discovered when early researchers used shorter strips cut from the edge of 3-4 GGG waffers; so it came naturally without any effort.n>What do you mean I can't put them in project variable formulation but only in the material editor?nWell, it seems I was wrong, or the feature was introduced lately, so I missed it. I had an impression that any constant in the project variables is evaluated at runtime in the context and the scope of the model editor, with the global scope $. So defining a primitive with a vertex (2mm +X-Z^2, 4mm, sqrt(Y))... is really insanen   [error] Part Box1: Operation CreateBox uses intrinsic variable X. However, intrinsic variables cannot be used in this context. nThat's what I thought. But it seems like the project variable is not just calculated at runtime, but may be stored and used as a metacode, where XYZ are actually some smart objects available to other tools.nThis is amaizing since no prefix like $, and no evaluating function like getc_oordinate_X() are used.nSo, at your place I would just try defining the function in the material editor (in its scope), avoiding accessing XYZ objects from the project var editor. And see what happens; will it be different or the same.n>because the response of the transducer greatly changes your ability to launch spin waves efficientlynThere is an equivalent circuit with the transducer, and the load impedance of the spin wave mode. The latter is a real value, a resistor. It may be calculated analytically using https://link.springer.com/article/10.1007/BF00941342 (sorry, I have it in Russian scans only); there should be translations or equivalent works in English from Patton, Shirinivasyan, Ishak, Stashkevich or other big people from the spin-wave club. The current strip models are simple like in https://www.amazon.com/Magnetization-Oscillations-Waves-Alexander-Gurevich/dp/0849394600, for coplanar, it is more complicated, but I don't think there is no solution ready for use.... And I never thought that a coplanar may be better for launching a spin-wave. A micro-wire should have the widest band. And an array of wires is easier to control/design.nThe worst part of coplanar... you treat the spin-wave at um scale, but the coplanar works at mm scale. So from the position of spin wave, you excite it in non-shielded film, but it propagates then in a shielded film. So there is a transition with different modes and impedances on the edge of the CPW ground-plane. Therefore the problem is more than just a radiation impedance.n>Are you saying that then in my example of $aa, it does not have units of 1/mmnI am not saying that, but it happens quite often, and I personally check the conversions with a dummy box coordinates, or use excessive formulation with depersonification of variables first, then multiplying by the unit last.n
    • davidconnelly
      Subscriber
      How can you be sure?nBecause there are many articles that show good match between experiment and magnetostatic theory and don't consider any kind of pinning. nSorry, I am not doing film research for many years and lost some of my paper folders. But I can insure you, that is a common practice... it was in 90s.nSorry, you didn't answer my question and I still have no clue what you are talking about. Who are Adam, Schuhl and Damon? Can you give me last names or something else by which to identify them? Also, can you draw or explain more detailed what you mean by cut the film at 45 degrees?nSo, at your place I would just try defining the function in the material editor (in its scope), avoiding accessing XYZ objects from the project var editor. And see what happens; will it be different or the same.nIt doesn't make a difference. nI am not saying that, but it happens quite often, and I personally check the conversions with a dummy box coordinates, or use excessive formulation with depersonification of variables first, then multiplying by the unit last.nI find HFSS always will evaluate an expression in base units (meters, for example), even if one of the variables has been defined separately with units of mm.n
    • AndyJP
      Subscriber
      >good match between experiment and magnetostatic theorynBut completely no articles showing any match between HFSS and experiment with theory. I mean the problem is in HFSS, not in magnetostatics. HFSS has a closed code, and documentation lost 30 years ago for magnetic part of the code. So they could not even translate it into CUDA for acceleration.n
    • davidconnelly
      Subscriber
      But completely no articles showing any match between HFSS and experiment with theory. I mean the problem is in HFSS, not in magnetostatics. HFSS has a closed code, and documentation lost 30 years ago for magnetic part of the code. So they could not even translate it into CUDA for acceleration.nWhat does CUDA have to do with any of this? I think we are getting way off topic here. I am aware of the limitations and abilities of HFSS, and I don't think your assessment is accurate. HFSS solves for magnetostatic modes in much the same way most articles on the topic do, except HFSS is able to solve for a non-uniform internal bias field as well as a coupled current distribution. The documentation explains how it does this; it has not been lost. So back to your original point on pinning and mode profile, there are regimes where you don't need to consider it, so I'm not worried that HFSS doesn't account for pinning.nCan you please explain better your suggestion for the absorbing boundary condition?n
    • AndyJP
      Subscriber
      >Who are Adam, Schuhl and DamonnThe people who established the spin-wave theory and tech... Sorry, Suhl works are generally on nonlinearity, so I should not have to mention him here. I tried remembering where have I seen the 45deg cut film guide for the first time. That was an overview on filters and signal enhancers from around early 70's; but I could not find it in my library, and made a wild guess.n>It doesn't make a difference.nYou mean, you have checked, or is it your guess? That is my guess as well... but my experience tells me, you should try doing that first to be sure.n>I find HFSS always will evaluate an expression in base units (meters, for example), even if one of the variables has been defined separately with units of mm.nThat depends on the sequence of variables. But as I said, it really is better calculating everything in dimensionless values scaled to base SI units first, and applying a unit multiplier at the end.n
    • davidconnelly
      Subscriber
      The people who established the spin-wave theory and tech... Sorry, Suhl works are generally on nonlinearity, so I should not have to mention him here. I tried remembering where have I seen the 45deg cut film guide for the first time. That was an overview on filters and signal enhancers from around early 70's; but I could not find it in my library, and made a wild guess.nBy Adam do you mean J. D. Adam? By Damon, you referring to R. W. Damon, who is credited (along with J. R. Eshbach) for the theory behind surface spin waves? Again, complete names would be helpful.nYou mean, you have checked, or is it your guess? That is my guess as well... but my experience tells me, you should try doing that first to be sure.nI checked.nn
    • AndyJP
      Subscriber
      >Again, complete names would be helpful.nI suppose you know the names. n>I checked.ncool. but not reassuring :-(n
Viewing 17 reply threads
  • The topic ‘How to analytically (and numerically) define a spatially varying deltaH for a ferromagnet in HFSS?’ is closed to new replies.