gradus.jl
Extensible spacetime agnostic general relativistic ray-tracing (GRRT).
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.2%) to scientific vocabulary
Keywords
Repository
Extensible spacetime agnostic general relativistic ray-tracing (GRRT).
Basic Info
- Host: GitHub
- Owner: astro-group-bristol
- License: gpl-3.0
- Language: Julia
- Default Branch: main
- Homepage: https://astro-group-bristol.github.io/Gradus.jl/dev/
- Size: 8.64 MB
Statistics
- Stars: 29
- Watchers: 6
- Forks: 3
- Open Issues: 27
- Releases: 2
Topics
Metadata Files
README.md
Gradus.jl
Spacetime generic, general relativistic ray-tracing (GRRT) in Julia. See our documentation for more details and usage.
This package is in development and subject to rapid breaking changes, with documentation updates lagging behind features.
About
Gradus.jl is a suite of tools related to tracing geodesics and calculating observational signatures. Gradus.jl requires only a specification of the non-zero metric components of a chosen spacetime in order to solve the geodesic equation and compute a wide variety of trajectories and orbits. Various algorithms for calculating physical quantities are implemented generically, so they may be used with different classes of spacetime with minimal implementation.
Currently, Gradus.jl can be used for any static, axis-symmetric spacetime to calculate:
- geodesic orbits and special radii (event horizon shapes, ISCO radii, etc.)
- null / time / space like trajectories including for charged particles
- black hole shadows
- redshift images
- Cunningham transfer functions
- line profiles and spectra
- reverberation transfer functions
- time-lags from different coronal models
- emissivity profiles on the accretion disc
- covariant radiative transfer
- various toy accretion models (thin disc, $\alpha$-discs, rotationally-supported polish doughnut, etc)
- non-symmetric disc geometries
- mesh file geometry
The library is written to make adding new features as effortless as possible. See Examples for more. Many new features are currently being developed as our research advances.
Gradus.jl uses DifferentialEquations.jl and ForwardDiff.jl as the backend for integrating and solving the geodesic equation for arbitrary metrics, and vendors the DifferentialEquations.jl solver and callback system, making Gradus.jl easy to extend for new problems. Gradus.jl currently supports multi-CPU integration and analysis, with GPU support on the horizon.
Usage
We assume you already have Julia >1.6.
All non-General dependencies for Gradus.jl are in the AstroRegistry which can be added to Julia with:
julia
julia>] registry add https://github.com/astro-group-bristol/AstroRegistry
NB: the Julia General Registry is required to install Gradus, however this should be configured by default with any Julia installation.
Gradus.jl can then be fetched easily:
julia
julia>] add Gradus
julia> using Gradus
See GettingStarted for setting up your first traces.
See also
Astrophysics Group Bristol
Owner
- Name: Astrophysics Group Bristol
- Login: astro-group-bristol
- Kind: organization
- Location: United Kingdom
- Repositories: 9
- Profile: https://github.com/astro-group-bristol
Shared and public repositories for the University of Bristol Astrophysics Group.
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: Baker
given-names: Fergus
- family-names: Young
given-names: Andrew
title: "Gradus.jl"
version: 0.1.0
doi: 10.5281/zenodo.6471796
date-released: 2022-04-20
url: "https://github.com/astro-group-bristol/Gradus.jl"
CodeMeta (codemeta.json)
{
"@context": "https://doi.org/10.5063/schema/codemeta-2.0",
"@type": "SoftwareSourceCode",
"identifier": "https://zenodo.org/records/14134274",
"description": "Extensible spacetime agnostic general relativistic ray-tracing (GRRT): Gradus.jl is a suite of tools related to tracing geodesics and calculating observational signatures of accreting compact objects. Gradus.jl requires only a specification of the non-zero metric components of a chosen spacetime in order to solve the geodesic equation and compute a wide variety of trajectories and orbits. Various algorithms for calculating physical quantities are implemented generically, so they may be used with different classes of spacetime with minimal implementation.",
"name": "Gradus.jl",
"codeRepository": "https://github.com/astro-group-bristol/Gradus.jl",
"issueTracker": "https://github.com/astro-group-bristol/Gradus.jl/issues",
"license": "https://spdx.org/licenses/GPL-3.0",
"version": "0.4.26",
"developmentStatus": "active",
"programmingLanguage": {
"@type": "ComputerLanguage",
"name": "Julia",
"url": "https://julialang.org/"
},
"author": [
{
"@type": "Person",
"givenName": "Fergus",
"familyName": "Baker",
"email": "fergus.baker@bristol.ac.uk"
},
{
"@type": "Person",
"givenName": "Andy",
"familyName": "Young",
"email": "Andy.Young@bristol.ac.uk"
}
],
"contributor": [
{
"@type": "Person",
"givenName": "Wiktoria",
"familyName": "Tarnopolska"
}
],
"copyrightHolder": [
{
"@type": "Person",
"givenName": "Fergus",
"familyName": "Baker",
"email": "fergus.baker@bristol.ac.uk"
}
],
"maintainer": [
{
"@type": "Person",
"givenName": "Fergus",
"familyName": "Baker",
"email": "fergus.baker@bristol.ac.uk"
}
],
"softwareRequirements": {
"1": {
"@type": "SoftwareApplication",
"identifier": "https://epubs.siam.org/doi/10.1137/141000671",
"name": "Julia",
"version": ">= 1.11.0"
},
"SystemRequirements": null
},
"keywords": [
"astrophysics",
"general-relativity",
"black-holes",
"ray-tracing",
"grrt",
"gravity",
"simulation",
"julia"
],
"readme": "https://github.com/astro-group-bristol/Gradus.jl/blob/main/README.md"
}
GitHub Events
Total
- Release event: 1
- Watch event: 8
- Delete event: 4
- Issue comment event: 1
- Push event: 42
- Pull request review comment event: 1
- Pull request review event: 1
- Pull request event: 9
- Fork event: 1
- Create event: 5
Last Year
- Release event: 1
- Watch event: 8
- Delete event: 4
- Issue comment event: 1
- Push event: 42
- Pull request review comment event: 1
- Pull request review event: 1
- Pull request event: 9
- Fork event: 1
- Create event: 5
Issues and Pull Requests
Last synced: 4 months ago
All Time
- Total issues: 0
- Total pull requests: 4
- Average time to close issues: N/A
- Average time to close pull requests: about 5 hours
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 4
- Average time to close issues: N/A
- Average time to close pull requests: about 5 hours
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- fjebaker (12)
- ben1sheff (2)
Pull Request Authors
- fjebaker (15)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/cache v1 composite
- actions/checkout v2 composite
- ad-m/github-push-action master composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite