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

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.

Thanks for your help!

P.S. I have made my ABC using discrete layers (40), and that worked acceptably well for one CPW size but not others. For other sizes, I still see some reflections. When I simulate over various frequencies, this shows up as a frequency shift in the s-parameters. So I believe my best bet is to specify a continuous ABC and refine the mesh as needed.


  • pmunagapmunaga Forum Coordinator

    Hi @davidconnelly,

    Thank you for reaching to us.

    Please provide the following details to help us serve you better:

    1. What is the range of the frequencies in your simulation model?
    2. What solution type you are using in HFSS and kind of result you are expecting?

    Best Regards,


  • 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.

    Ferromagnetic 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.

  • davidconnellydavidconnelly Member
    edited January 18

    Just a note to clarify, all I am looking for is help on how to:

    1. Correctly 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 material
    2. Plot this analytical expression a function of an intrinsic variable within a certain range so I can verify how HFSS is interpreting the expression

  • Hi David,

    The 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.

Sign In or Register to comment.