HarmonicBalance.jl: A Julia suite for nonlinear dynamics using harmonic balance
HarmonicBalance.jl is a free Julia package that simplifies the analysis of nonlinear periodic systems by combining the harmonic balance method with symbolic algebra and homotopy continuation to numerically determine all steady-state solutions and their fluctuation dynamics, complete with a graphical user interface for exploring solution topologies.
Original paper licensed under CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). This is an AI-generated explanation of the paper below. It is not written or endorsed by the authors. For technical accuracy, refer to the original paper. Read full disclaimer
Many physical systems, from the swinging of a bridge in the wind to the flow of electricity through a circuit, are governed by rules that change over time. When these systems are simple, their behavior is predictable and steady. However, when different parts of a system interact in complex, nonlinear ways, they can produce surprising results. They might suddenly jump to a new state, oscillate in unexpected patterns, or settle into one of several possible stable conditions. Scientists have long known that these nonlinear systems are everywhere, appearing in everything from fluid dynamics to biological processes. Yet, predicting exactly how such a system will behave is notoriously difficult. Traditional methods often rely on guessing a starting point and watching how the system evolves, but this approach has a major flaw: it usually finds only one outcome, missing the other possible states that might exist just as validly. If a system can settle into three different stable patterns, a standard simulation might only reveal one, leaving the full picture incomplete and potentially misleading for engineers and researchers trying to understand the system's true capabilities.
To solve this problem, a team of researchers has developed a new software tool called HarmonicBalance.jl, designed to map out every possible steady state of these complex, time-varying systems. Instead of watching a system evolve from a single starting point, the tool treats the problem as a puzzle of finding all possible solutions at once. It works by assuming that the system's behavior can be described as a combination of repeating waves, or harmonics, that change very slowly over time. By translating the complex, moving equations of the system into a set of static algebraic equations, the software can then use a powerful mathematical technique called homotopy continuation. This method acts like a continuous bridge, starting from a simple, solvable version of the problem and slowly morphing it into the complex, real-world version. As it transforms, it tracks every single path that leads to a solution, ensuring that no possible steady state is left behind. This allows the researchers to see the entire landscape of possibilities, including states that might be unstable or difficult to reach in a real experiment.
The team tested this approach on several classic examples of nonlinear physics, such as a driven oscillator that responds to external forces with a twist of nonlinearity. In these tests, the software successfully identified multiple stable states where traditional methods would have found only one. For instance, in a system of two coupled oscillators, the tool revealed a complex landscape of solutions, showing how the system could jump between different states depending on the direction in which a parameter was changed. This phenomenon, known as hysteresis, was mapped out in detail, showing exactly where the system would snap from one state to another. The researchers also demonstrated that the tool could handle increasingly complex systems, such as a chain of five coupled oscillators, finding hundreds of distinct solutions in a matter of minutes on a standard computer. While the number of theoretical solutions can grow exponentially with the size of the system, the software efficiently filters out the impossible ones, focusing on the real, physical states that actually exist.
Beyond simply finding these states, the tool also analyzes their stability, determining which solutions are robust and which would collapse under a small disturbance. It can even simulate how a system would respond to slow changes in its environment, mimicking the way an experimenter might gradually turn a dial to sweep through different conditions. This capability is crucial for understanding phenomena like spontaneous symmetry breaking, where a system chooses one state over another without any external push. The software is written in Julia, a language known for its speed and ease of use, and is freely available to the scientific community. By providing a way to see the full range of possible behaviors in nonlinear systems, this tool offers a new level of clarity for researchers in fields ranging from structural engineering to optics. It transforms the study of these complex systems from a game of chance, where one hopes to stumble upon the right state, into a comprehensive exploration where every possibility is accounted for.
Drowning in papers in your field?
Get daily digests of the most novel papers matching your research keywords — with technical summaries, in your language.