{"id":32157598,"url":"https://github.com/quantumengineeredsystems/harmonicbalance.jl","last_synced_at":"2025-10-21T12:51:22.633Z","repository":{"id":37951219,"uuid":"435563999","full_name":"QuantumEngineeredSystems/HarmonicBalance.jl","owner":"QuantumEngineeredSystems","description":"A Julia package for solving nonlinear differential equations using the harmonic balance method.","archived":false,"fork":false,"pushed_at":"2025-10-20T11:48:35.000Z","size":70718,"stargazers_count":79,"open_issues_count":15,"forks_count":18,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-20T13:28:44.520Z","etag":null,"topics":["floquet","floquet-theory","harmonic-balance","julia","nonlinear-dynamics","oscillators","perturbation-theory","symbolic-computation","time-dependent-hamiltonian","time-dependent-systems"],"latest_commit_sha":null,"homepage":"https://quantumengineeredsystems.github.io/HarmonicBalance.jl/stable/","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/QuantumEngineeredSystems.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.bib","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-12-06T16:15:14.000Z","updated_at":"2025-10-13T11:11:44.000Z","dependencies_parsed_at":"2024-05-06T11:54:21.239Z","dependency_job_id":"f8077ea7-c414-4554-a055-38cf75b35add","html_url":"https://github.com/QuantumEngineeredSystems/HarmonicBalance.jl","commit_stats":{"total_commits":123,"total_committers":6,"mean_commits":20.5,"dds":0.4715447154471545,"last_synced_commit":"c74de7944ccd59affcdb8ce3067349ba1b83aa51"},"previous_names":["quantumengineeredsystems/harmonicbalance.jl"],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/QuantumEngineeredSystems/HarmonicBalance.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumEngineeredSystems%2FHarmonicBalance.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumEngineeredSystems%2FHarmonicBalance.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumEngineeredSystems%2FHarmonicBalance.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumEngineeredSystems%2FHarmonicBalance.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/QuantumEngineeredSystems","download_url":"https://codeload.github.com/QuantumEngineeredSystems/HarmonicBalance.jl/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/QuantumEngineeredSystems%2FHarmonicBalance.jl/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280264174,"owners_count":26300771,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-21T02:00:06.614Z","response_time":58,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["floquet","floquet-theory","harmonic-balance","julia","nonlinear-dynamics","oscillators","perturbation-theory","symbolic-computation","time-dependent-hamiltonian","time-dependent-systems"],"created_at":"2025-10-21T12:51:21.361Z","updated_at":"2025-10-21T12:51:22.626Z","avatar_url":"https://github.com/QuantumEngineeredSystems.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"./logo.png\" width=\"750\" align=\"top\"\u003e\n\n[![docs](https://img.shields.io/badge/docs-online-blue.svg)](https://quantumengineeredsystems.github.io/HarmonicBalance.jl/)\n[![Downloads](https://img.shields.io/badge/dynamic/json?url=http%3A%2F%2Fjuliapkgstats.com%2Fapi%2Fv1%2Ftotal_downloads%2FHarmonicBalance\u0026query=total_requests\u0026label=Downloads)](https://juliapkgstats.com/pkg/HarmonicBalance)\n[![Downloads](https://img.shields.io/badge/dynamic/json?url=http%3A%2F%2Fjuliapkgstats.com%2Fapi%2Fv1%2Fmonthly_downloads%2FHarmonicBalance\u0026query=total_requests\u0026suffix=%2Fmonth\u0026label=Downloads)](https://juliapkgstats.com/pkg/HarmonicBalance)\n\n[![Code Style: Blue](https://img.shields.io/badge/code%20style-blue-4495d1.svg)](https://github.com/invenia/BlueStyle)\n[![Aqua QA](https://raw.githubusercontent.com/JuliaTesting/Aqua.jl/master/badge.svg)](https://github.com/JuliaTesting/Aqua.jl)\n[![JET](https://img.shields.io/badge/%E2%9C%88%EF%B8%8F%20tested%20with%20-%20JET.jl%20-%20red)](https://github.com/aviatesk/JET.jl)\n[![codecov](https://codecov.io/gh/QuantumEngineeredSystems/HarmonicBalance.jl/branch/master/graph/badge.svg)](https://codecov.io/gh/QuantumEngineeredSystems/HarmonicBalance.jl)\n\n\n**HarmonicBalance.jl** is a Julia package for solving periodic, nonlinear differential equations using the method of harmonic balance.\n\n## Installation\n\nTo install HarmonicBalance.jl, you can use the github repo or the Julia package manager,\n```julia\nusing Pkg\nPkg.add(\"HarmonicBalance\")\n```\n\n## Documentation\n\nFor a detailed description of the package and examples, see the [documentation](https://quantumengineeredsystems.github.io/HarmonicBalance.jl).\n\n[This repo](https://github.com/quantumengineeredsystems/HarmonicBalance-notebooks) contains a collection of example notebooks.\n\n## [Example: steady states of a nonlinear resonator](https://quantumengineeredsystems.github.io/HarmonicBalance.jl/dev/tutorials/steady_states)\nLet's find the steady states of a driven Duffing resonator with nonlinear damping, with equation of motion:\n\n\u003cimg src=\"/docs/images/github_readme_eq.png\" width=\"450\"\u003e\n\n```julia\nusing HarmonicBalance, Plots\n@variables α ω ω0 F η t x(t) # declare constant variables and a function x(t)\ndiff_eq = DifferentialEquation(d(x,t,2) + ω0^2*x + α*x^3 + η*d(x,t)*x^2 ~ F*cos(ω*t), x)\nadd_harmonic!(diff_eq, x, ω) # specify the ansatz x = u(T) cos(ωt) + v(T) sin(ωt)\n\n# implement ansatz to get harmonic equations\nharmonic_eq = get_harmonic_equations(diff_eq)\n\n# solve for a range of ω\nresult = get_steady_states(harmonic_eq, ω =\u003e range(0.9, 1.2, 100), (α =\u003e 1., ω0 =\u003e 1.0, F =\u003e 0.01, η =\u003e 0.1))\n```\n```\nA steady state result for 100 parameter points\n\nSolution branches:   3\n   of which real:    3\n   of which stable:  2\n\nClasses: stable, physical, Hopf, binary_labels\n```\n\n```julia\nplot(result, \"sqrt(u1^2 + v1^2)\")\n```\n\n\u003cimg src=\"/docs/images/github_readme_plot.png\"\u003e\n\n## Citation\n\nIf you use HarmonicBalance.jl in your project, we kindly ask you to cite [this paper](https://scipost.org/SciPostPhysCodeb.6), namely:\n\n**HarmonicBalance.jl: A Julia suite for nonlinear dynamics using harmonic balance**\nJan Košata, Javier del Pino, Toni L. Heugel, Oded Zilberberg\nSciPost Phys. Codebases 6 (2022) \n\n### BibTeX entry\n\n```bibtex\n@Article{10.21468/SciPostPhysCodeb.6,\n    title={{HarmonicBalance.jl: A Julia suite for nonlinear dynamics using harmonic balance}},\n    author={Jan Košata and Javier del Pino and Toni L. Heugel and Oded Zilberberg},\n    journal={SciPost Phys. Codebases},\n    pages={6},\n    year={2022},\n    publisher={SciPost},\n    doi={10.21468/SciPostPhysCodeb.6},\n    url={https://scipost.org/10.21468/SciPostPhysCodeb.6}\n}\n```\n\n## See also\n\n- [JosephsonCircuits.jl](https://github.com/kpobrien/JosephsonCircuits.jl): Models superconducting circuits using modified nodal analysis and harmonic balance with an analytic Jacobian.\n- [Manlab](https://manlab.lma.cnrs-mrs.fr/spip/): A similar package in Matlab also using continuation methods and using the Harmonic Balance method for periodic orbits.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantumengineeredsystems%2Fharmonicbalance.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fquantumengineeredsystems%2Fharmonicbalance.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fquantumengineeredsystems%2Fharmonicbalance.jl/lists"}