{"id":29696314,"url":"https://github.com/ilianpihlajamaa/modecouplingtheory.jl","last_synced_at":"2025-07-23T09:09:20.152Z","repository":{"id":58671716,"uuid":"527994449","full_name":"IlianPihlajamaa/ModeCouplingTheory.jl","owner":"IlianPihlajamaa","description":"A generic and fast solver of mode-coupling theory-like integrodifferential equations","archived":false,"fork":false,"pushed_at":"2025-07-14T14:22:49.000Z","size":2352,"stargazers_count":18,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-22T22:37:31.445Z","etag":null,"topics":["differential-equations","julia"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IlianPihlajamaa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-23T13:04:53.000Z","updated_at":"2025-07-14T14:19:28.000Z","dependencies_parsed_at":"2024-01-10T17:46:41.908Z","dependency_job_id":"9efd2462-09d4-4144-93d4-f7d0de9aa7c4","html_url":"https://github.com/IlianPihlajamaa/ModeCouplingTheory.jl","commit_stats":null,"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"purl":"pkg:github/IlianPihlajamaa/ModeCouplingTheory.jl","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlianPihlajamaa%2FModeCouplingTheory.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlianPihlajamaa%2FModeCouplingTheory.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlianPihlajamaa%2FModeCouplingTheory.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlianPihlajamaa%2FModeCouplingTheory.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IlianPihlajamaa","download_url":"https://codeload.github.com/IlianPihlajamaa/ModeCouplingTheory.jl/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlianPihlajamaa%2FModeCouplingTheory.jl/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266649269,"owners_count":23962203,"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-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"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":["differential-equations","julia"],"created_at":"2025-07-23T09:09:18.180Z","updated_at":"2025-07-23T09:09:20.130Z","avatar_url":"https://github.com/IlianPihlajamaa.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ModeCouplingTheory.jl\n[![Build status (Github Actions)](https://github.com/IlianPihlajamaa/ModeCouplingTheory.jl/workflows/CI/badge.svg)](https://github.com/IlianPihlajamaa/ModeCouplingTheory.jl/actions)\n[![codecov](https://codecov.io/github/IlianPihlajamaa/ModeCouplingTheory.jl/graph/badge.svg?token=e6V2TA22Bg)](https://codecov.io/github/IlianPihlajamaa/ModeCouplingTheory.jl)\n[![](https://img.shields.io/badge/docs-stable-blue.svg)](https://IlianPihlajamaa.github.io/ModeCouplingTheory.jl/stable)\n[![](https://img.shields.io/badge/docs-dev-blue.svg)](https://IlianPihlajamaa.github.io/ModeCouplingTheory.jl/dev)\n[![Downloads](https://shields.io/endpoint?url=https://pkgs.genieframework.com/api/v1/badge/ModeCouplingTheory)](https://pkgs.genieframework.com?packages=ModeCouplingTheory)\n[![DOI](https://joss.theoj.org/papers/10.21105/joss.05737/status.svg)](https://doi.org/10.21105/joss.05737)\n\n\nA generic and fast solver of mode-coupling theory-like integrodifferential equations. It uses the algorithm outlined in [Fuchs et al.](https://iopscience.iop.org/article/10.1088/0953-8984/3/26/022/meta) to solve equations of the form\n$$\\alpha \\ddot{F}(t) + \\beta \\dot{F}(t) + \\gamma F(t) + \\delta + \\int_0^t d\\tau K(t-\\tau)\\dot{F}(\\tau) = 0, $$\nin which $\\alpha$, $\\beta$, $\\gamma$, and $\\delta$ are (possibly time-dependent) coefficients, and $K(t) = K(F(t), t)$ is a memory kernel that may nonlinearly depend on $F(t)$. This package exports some commonly used memory kernels, but it is straightforward to define your own. The solver is differentiable and works for scalar- and vector-valued functions $F(t)$. For more information see the [Documentation](https://IlianPihlajamaa.github.io/ModeCouplingTheory.jl/dev). If you use this software, please consider citing [this paper](https://doi.org/10.21105/joss.05737).\n\n\n# Installation\n\nTo install the package run:\n\n```julia\nimport Pkg\nPkg.add(\"ModeCouplingTheory\")\n```\nIn order to install and use it from Python, see the [From Python](https://ilianpihlajamaa.github.io/ModeCouplingTheory.jl/dev/FromPython.html) page of the documentation.\n\n# Example usage:\n\nWe can use one of the predefined memory kernels \n\n```julia\njulia\u003e using ModeCouplingTheory\njulia\u003e ν = 3.999\n3.999\n\njulia\u003e kernel = SchematicF2Kernel(ν)\nSchematicF2Kernel{Float64}(3.999)\n```\nThis kernel evaluates `K(t) = ν F(t)^2` when called.\n\nWe can now define the equation we want to solve as follows:\n\n```julia\njulia\u003e α = 1.0; β = 0.0; γ = 1.0; δ = 0.0; F0 = 1.0; ∂F0 = 0.0;\njulia\u003e equation = MemoryEquation(α, β, γ, δ, F0, ∂F0, kernel);\n```\nWhich we can solve by calling `solve`:\n\n```julia\njulia\u003e sol = solve(equation);\njulia\u003e using Plots\njulia\u003e t = get_t(sol)\njulia\u003e F = get_F(sol)\njulia\u003e plot(log10.(t), F)\n```\n\n![image](readmefig.png)\n\n# Contributing\n\nPlease open an issue if anything is unclear in the documentation, if any unexpected errors arise or for feature requests (such as additional kernels). Pull requests are of course also welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filianpihlajamaa%2Fmodecouplingtheory.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filianpihlajamaa%2Fmodecouplingtheory.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filianpihlajamaa%2Fmodecouplingtheory.jl/lists"}