{"id":24485405,"url":"https://github.com/cneverett/boltzmanncollisionintegral.jl","last_synced_at":"2025-04-13T19:22:02.641Z","repository":{"id":249849859,"uuid":"790733969","full_name":"cneverett/BoltzmannCollisionIntegral.jl","owner":"cneverett","description":"Julia Evaluation of the Boltzmann Collision Integral for Relativistic, Anisotropic, Binary Interactions","archived":false,"fork":false,"pushed_at":"2024-10-17T12:35:01.000Z","size":5201,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-19T16:58:10.564Z","etag":null,"topics":["julia","julia-package"],"latest_commit_sha":null,"homepage":"https://cneverett.github.io/BoltzmannCollisionIntegral.jl/","language":"Mathematica","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/cneverett.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-04-23T12:35:48.000Z","updated_at":"2024-10-17T12:30:35.000Z","dependencies_parsed_at":"2024-09-17T15:52:47.838Z","dependency_job_id":"332d135d-295d-4b79-947c-74da697fd104","html_url":"https://github.com/cneverett/BoltzmannCollisionIntegral.jl","commit_stats":null,"previous_names":["cneverett/boltzmanncollisionintegral.jl"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cneverett%2FBoltzmannCollisionIntegral.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cneverett%2FBoltzmannCollisionIntegral.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cneverett%2FBoltzmannCollisionIntegral.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cneverett%2FBoltzmannCollisionIntegral.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cneverett","download_url":"https://codeload.github.com/cneverett/BoltzmannCollisionIntegral.jl/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248766687,"owners_count":21158302,"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","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":["julia","julia-package"],"created_at":"2025-01-21T14:17:48.913Z","updated_at":"2025-04-13T19:22:02.615Z","avatar_url":"https://github.com/cneverett.png","language":"Mathematica","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg align=\"left\" width=\"75\" height=\"75\" src=\"https://github.com/cneverett/BoltzmannCollisionIntegral.jl/blob/main/docs/src/assets/logo.svg\" alt=\"BoltzmannCollisionIntegral.jl icon\"\u003e\n\n# BoltzmannCollisionIntegral.jl\n\n[![][docs-latest-img]][docs-latest-url]\n[![Build Status][gha-img]][gha-url]\n\n[docs-latest-img]: https://img.shields.io/badge/Docs-Stable-lightgrey.svg\n[docs-latest-url]: https://cneverett.github.io/BoltzmannCollisionIntegral.jl/dev/\n\n[gha-img]: https://github.com/cneverett/BoltzmannCollisionIntegral.jl/actions/workflows/CI.yml/badge.svg?branch=main\n[gha-url]: https://github.com/cneverett/BoltzmannCollisionIntegral.jl/actions/workflows/CI.yml?query=branch%3Amain\n\n## Overview\n\n`BoltzmannCollisionIntegral.jl` is a [Julia](http://julialang.org/) package for the evaluation of the relativistic Boltzmann collision integral for binary interactions $(12\\rightleftharpoons34)$ (see [Everett+Cotter 2024](https://doi.org/10.1093/rasti/rzae036)):\n```math\n    C(\\boldsymbol{p}_3)=\\int\\frac{\\mathrm{d}^3\\boldsymbol{p}_1}{p_1^0}\\frac{\\mathrm{d}^3\\boldsymbol{p}_2}{p_2^0}\\frac{\\mathrm{d}^3\\boldsymbol{p}_4}{p_4^0}\\left[\\frac{f(\\boldsymbol{p}_1)f(\\boldsymbol{p}_2)}{1+\\delta_{12}}W(p_1^\\mu,p_2^\\mu|p_3^\\mu,p_4^\\mu)- \\frac{f(\\boldsymbol{p}_3)f(\\boldsymbol{p}_4)}{1+\\delta_{12}}W(p_3^\\mu,p_4^\\mu|p_1^\\mu,p_2^\\mu)\\right],\n```\nvia momentum discretisation and Monte-Carlo sampling. The distribution functions $f(\\boldsymbol{p})$ for the particles involved are assumed to be anisotropic (only axisymmetric is currently implemented). The collision integral is split into two components, an emission spectra dictating the rate of gain of particles emerging from a given binary interaction and an absorption spectra dictating the rate of loss of particles from the same interaction.\n\nEvaluation is performed by assuming that the distribution function is constant over some set of discrete domains in phase space and then integrating over those domains using a Monte-Carlo method. For more information see the [Documentation](https://cneverett.github.io/BoltzmannCollisionIntegral.jl/).\n\nEvaluation currently supports both single and multithreaded operation (with multi-CPU acceleration planned). Data is exported in the [JLD2](https://github.com/JuliaIO/JLD2.jl) file format.\n\nSince v2.0.0 the evaluation of synchrotron emissions from charged particles orbiting a uniform magnetic field directed along the symmetry axis is also supported. This is achieved via the integration of the following:\n```math\n\\left(\\frac{\\partial f(\\boldsymbol{p}_1)}{\\partial t}\\right)_{Sync}=\\frac{Z}{B}\\frac{3c^5\\sigma_Tm_e^5}{4\\pi\\hbar^3\\mu_0e^3}\\int\\mathrm{d}^3\\boldsymbol{p}_2\\frac{1}{p_1p^0_2}\\left[\\left(\\frac{p^0_2\\cos\\theta_1-p_2\\cos\\theta_2}{\\sin\\theta_1}\\right)^2J_{\\omega/\\omega_0}(x)^2+(p_2\\sin\\theta_2)^2 J'_{\\omega/\\omega_0}(x)^2\\right]f(\\boldsymbol{p}_2).\n```\n\n## Usage\n`BoltzmannCollisionIntegral.jl` is available to download from the [Julia package\nmanager](https://pkgdocs.julialang.org/v1/). Inside a Julia session, enter the package manager with `]`, then run the command \n```julia \npkg\u003e add BoltzmannCollisionIntegral\n```\nfinally load the package by running\n```julia\nusing BoltzmannCollisionIntegral\n```\n\nTo perform an evaluation of the emission and absorption spectra, an example script `Run_Integration.jl` for selecting the binary interaction, discrete phase space bounds and integration conditions is located under the `src/Common/` folder of the package. It is recommended to copy this script and place it in your working folder and edit the fields as required. Then simply run\n```julia-repl\ninclude(\"Run_Integration.jl\")\n``` \n\nTo perform an evaluation of the synchrotron emission spectra, an example script `Run_Integration_Sync.jl` for selecting the emitting particle, discrete phase space bounds and integration conditions is located under the `src/Synchrotron/Common/` folder of the package. It is recommended to copy this script and place it in your working folder and edit the fields as required. Then simply run\n```julia-repl\ninclude(\"Run_Integration_Sync.jl\")\n``` \n\nSee [Getting Started](https://cneverett.github.io/BoltzmannCollisionIntegral.jl/dev/quickstart/) for in depth detail.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcneverett%2Fboltzmanncollisionintegral.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcneverett%2Fboltzmanncollisionintegral.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcneverett%2Fboltzmanncollisionintegral.jl/lists"}