I'm currently working on a control algorithm, specifically in detumbling, for a 3U cubesat. I'm using magnetorquers for actuation and magnetometers to receive feedback. If I have no current passing through my torquer rod, it will still have some residual moment due to hysteresis. This will affect my magnetometer readings. I know we can get rid of the residual moment by applying a back current corresponding to the coercivity of the core, but how long would it take to completely demagnetize? What's the math behind predicting the time dependence of demagnetization?
How do we manage the residual magnetic moment of magnetorquer with a ferromagnetic core?
I can recommend two methods. Either might work alone, and they could also be used in combination. There may be others in practice as well.
1. Degauss the rod carefully after each torquing session
From Wikipedia's Degaussing; Magnetic data storage media:
Erasure via degaussing may be accomplished in two ways: in AC erasure, the medium is degaussed by applying an alternating field that is reduced in amplitude over time from an initial high value (i.e., AC powered); in DC erasure, the medium is saturated by applying a unidirectional field (i.e., DC powered or by employing a permanent magnet). A degausser is a device that can generate a magnetic field for degaussing magnetic storage media.
2. Calibrate out the fixed magnetizations within the spacecraft
When I use the compass on my phone it instructs me to "calibrate" it first by doing a weird swirly pattern. Internally it continuously digitizes the three magnetometers (and possibly my phone's gyros) during the motion in order to find a best fit to a spherical rotation of a constant vector. It doesn't know if the vector comes from the Earth's field alone or has other external contributions (magnetized or ferromagnetic materials nearby) but it will calibrate out any fixed magnetizations that are in my phone - that rotate along with the magnetometer and add constant offsets.
If you want to have fun, you could cause your satellite to rotate randomly or in some predetermined pattern in order to calibrate out all co-rotating magnetizations (not just your rods) and at the same time bring all three gains into relative agreement.
A random Arduino illustration from ancient history:
You could do active time-varying magnetometer calibration. https://pdfs.semanticscholar.org/7989/c8beb683823a036ee47cdf27113a7a87be03.pdf