Ansys Maxwell – Transient AC Resistance

Categories:

Introduction

In electrical circuits, AC resistances are not equivalent to their DC counterparts, especially at higher frequencies. Ansys Maxwell can be used to calculate the AC resistance of a conductor in multiple ways, but the main two would be through an impedance matrix in the eddy current solver or through a series of field calculations in the magnetic transient solver. The eddy current case is easier to setup, but there are some assumptions present in that solver that don’t work for every problem; the excitations in the eddy current solver are always pure sinusoids, and the value of resistance is the peak resistance seen during the excitation. But there are times where it is important to see how the impedance of a conductor evolves due to a high frequency pulse or non-sinusoidal waveform – this is where the magnetic transient solver comes in!

Time-Varying Resistance

In order to calculate the AC resistance, we’re going to need to utilize the Field Calculator. Because the typical expression of the current-voltage relationship, V=IR, is for DC resistance because it assumes R is constant, we need another expression to calculate the time-varying resistance. For that, we can use the ohmic loss density and the current flowing through the conductor to calculate the time-varying impedance using the relationship between power and current:

P = I2R

With the definitions out of the way we can now begin to set up the simulation, starting with our sample geometry of a simple cylindrical wire.

Example Geometry

The geometry in this example is a cylinder of copper with a radius of 2 mm and a height of 10 mm, surrounded by vacuum. A sinusoidal current is assigned to the coil (although any waveform can be represented in the transient solver) with an amplitude of 100 A and a DC offset of 200 A – this is to prevent large impedance spikes at zero-crossings in this simple model.

Screenshot of the model window showing the 2 mm radius, 10 mm length copper wire for the example

We have our geometry now, so we can start the process of setting up the field calculator equations we need. The first step is to get the current flowing through the conductor from the electromagnetic field definitions – this process is described in this blog post about Amperian Loops, but the calculator steps are slightly different in a transient simulation compared to the eddy current/frequency domain simulation discussed in that blog. The process of creating the loop line to use in our field definitions remains the same as in the previous case, so review that blog if you are unfamiliar with these steps. Don’t worry, we’ll still tell you the updated calculator steps for a transient amperian loop in this post.

The Field Calculator and You

After creating the loop for the Amperian Loop calculation (in this example, its name is AmpLoop), you’ll need to perform the following operations in the field calculator to get the current through the conductor in a transient magnetic model:

Calculator OperationResulting Stack Display
Input: Quantity → HVec : <Hx,Hy,Hz>
General: SmoothVec : Smooth(<Hx,Hy,Hz>)
Vector: Unit Vec → TangentVec : LineTangent
Vec : Smooth(<Hx,Hy,Hz>)
Vector: DotScl : Dot(Smooth(<Hx,Hy,Hz>), LineTangent)
Input: Geometry → Line → AmpLoopLin : Line(AmpLoop)
Scl : Dot(Smooth(<Hx,Hy,Hz>), LineTangent)
Scalar: ∫ (Integrate)Scl : Integrate(Line(AmpLoop), Dot(Smooth(<Hx,Hy,Hz>), LineTangent))
Then you’ll click “Add…” in the library section and create your loop current approximation variable (for this example, the name LoopCurrent was used).

Because there’s a field representation of the current flowing through the conductor of interest, we can use the field calculator again to create a calculation of the time-varying resistance. Because the default ohmic loss definition in Ansys Maxwell is the ohmic loss density, we need to make sure to integrate that value over the volume of interest – in the example project, the volume is simply called Cylinder1. The field calculator steps are as follows:

Calculator OperationResulting Stack Display
Input: Quantity → Ohmic-LossScl : Ohmic-Loss
Input: Geometry → Volume → Cylinder1Vol : Volume(Cylinder1)
Scl : Ohmic-Loss
Scalar: ∫ (Integrate)Scl : Integrate(Volume(Cylinder1), Ohmic-Loss)
Named Expressions: LoopCurrent → Copy to StackScl : LoopCurrent
Scl : Integrate(Volume(Cylinder1), Ohmic-Loss)
Named Expressions: LoopCurrent → Copy to StackScl : LoopCurrent
Scl : LoopCurrent
Scl : Integrate(Volume(Cylinder1), Ohmic-Loss)
General: * (Multiply)Scl : *(LoopCurrent, LoopCurrent)
Scl : Integrate(Volume(Cylinder1), Ohmic-Loss)
General: / (Divide)Scl : /(Integrate(Volume(Cylinder1), Ohmic-Loss), *(LoopCurrent, LoopCurrent))
Then click “Add…” once more and give the variable a name – for this example we used AC_Resistance.

Solution Setup

In this example, we parameterized the excitation frequency when setting up our current excitations through the wire to allow for investigating the AC resistance at multiple frequency points. We want to simulate over 2 frequency periods and have 30 steps per period (which are also a parameterized variable).

Screenshot showing the Local Variables window for the parameterized values of wire radius, wire length, current amplitude, excitation frequency, and timesteps per period.

When defining the solution setup, we use these variables to set out stop time and step size so as to not have too large of time steps for the high frequency simulations, or way too small of steps for the low frequencies. To get our 2 periods we set the stop time to “2/Frequency,” and our time step size to “1/Frequency/Steps” to give us 30 steps per period for each of our frequencies.

Solve setup window showing the parameterized frequency value being used to set the time step size and simulation stop time

It is also important to ensure that we are saving the fields during the time our simulation is running, since those results are needed to use the field calculator. We can also use our variables there, so that they adapt to the changing time scales as the different frequencies are simulated.

Solve setup window showing how to save all of the field values from time 0 to time 2/Frequency

Once our field calculator equations and solver settings are finished being set up, we can run the simulation and plot the corresponding results.

Temporal Resistance at Different Frequencies

To plot these quantities, we need to use a Fields Report, rather than a transient report, since we are plotting field calculator values.

Screenshot showing the right-click window + button for "Create Field Report"

Because we simulated across a wide range of frequencies, the time scale for each of these simulations will be drastically different and make it difficult to plot them all on the same graph for comparison if we were to simply plot them directly. But because we have parameterized our excitation frequency, we can instead plot the resistance over Normalized Time, allowing us to see the resistance over the two periods of the waveform for each of our frequencies. We’ll need to uncheck the “Default” box next to the X-axis definition, and replace “Time” with “Time/(1/Frequency).”

Window showing the plot window where the X-axis is set to Time/(1/Frequency) and the Y axes are for the LoopCurrent and AC_Resistance values

Because these are field calculator values, there are no units assigned automatically. It will also initially plot both of the waveforms on the same y-axis and plot the current waveforms at each frequency over the normalized time (all of the current waveforms are identical when normalized over time like that). There are a few steps we can take to clean up the waveforms – we can plot the current at just one frequency, move the current to its own axis, and set the units of the AC_Resistance axis to µ in order to get the results below:

Plot of waveforms of the loop current and AC resistance over time in 2 time periods, where time has been normalized over 1 period

Conclusion

From the example model here, we can see how the AC resistance changes over time as higher and higher excitation frequencies are applied. At low frequencies, the wire still behaves close to the DC case, with little variation over the sinusoid. But as the frequency increases, the resistance can spike to values over 5 times larger than the baseline! If you would like to learn more about Ansys Maxwell or other simulation tools and services we offer here at PADT, you can do so on our website here.

Have other questions or looking for a quote? Contact us or call (480) 813-4884 to get in touch with one of our engineering experts today.

Get Your Ansys Products & Support from the Engineers who Contribute to this Blog.

Technical Expertise to Enable your Additive Manufacturing Success.

Share this post:

Upcoming Events

Jan 22
- Jan 25
, 2025
Arizona Photonics Days 2025
Feb 04
- Feb 06
, 2025
MD&M West 2025
Feb 04
- Feb 06
, 2025
2025 Transformative Vertical Flight
Mar 20
, 2025
Arizona Space Summit 2025
Apr 07
- Apr 10
, 2025
40th Space Symposium
Jun 09
- Jun 11
, 2025
TechConnect World 2025
Jun 16
- Jun 20
, 2025
Turbo Expo
Jul 11
, 2025
2025 Aerospace, Aviation, Defense and Manufacturing Conference

Search the PADT Site

Contact Us

Most of our customers receive their support over the phone or via email. Customers who are close by can also set up a face-to-face appointment with one of our engineers.

For most locations, simply contact us: