{"id":19706220,"url":"https://github.com/llnl/pyranda","last_synced_at":"2026-03-09T06:31:39.578Z","repository":{"id":40558930,"uuid":"131025577","full_name":"LLNL/pyranda","owner":"LLNL","description":"A Python driven, Fortran powered Finite Difference solver for arbitrary hyperbolic PDE systems.  This is the mini-app for the Miranda code.","archived":false,"fork":false,"pushed_at":"2024-12-06T16:28:50.000Z","size":2485,"stargazers_count":65,"open_issues_count":1,"forks_count":27,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-06-02T11:54:22.842Z","etag":null,"topics":["finite-elements","fortran","proxy-application","python","solver"],"latest_commit_sha":null,"homepage":null,"language":"Fortran","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LLNL.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":"2018-04-25T15:17:58.000Z","updated_at":"2025-03-18T06:58:12.000Z","dependencies_parsed_at":"2022-07-13T15:59:23.062Z","dependency_job_id":"5026b0ba-240b-4330-a6f5-069e0667f0ee","html_url":"https://github.com/LLNL/pyranda","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LLNL/pyranda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fpyranda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fpyranda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fpyranda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fpyranda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LLNL","download_url":"https://codeload.github.com/LLNL/pyranda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LLNL%2Fpyranda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30284774,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T02:57:19.223Z","status":"ssl_error","status_checked_at":"2026-03-09T02:56:26.373Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["finite-elements","fortran","proxy-application","python","solver"],"created_at":"2024-11-11T21:34:40.619Z","updated_at":"2026-03-09T06:31:39.551Z","avatar_url":"https://github.com/LLNL.png","language":"Fortran","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pyranda\n[![Build Status](https://github.com/LLNL/pyranda/actions/workflows/regression-tests.yaml/badge.svg)](https://github.com/LLNL/pyranda/actions)\n\nA Python driven, Fortran powered Finite Difference solver for arbitrary hyperbolic PDE systems.  This is the mini-app for the Miranda code.\n\nThe PDE solver defaults to a 10th order compact finite difference method for spatial derivatives, and a 5-stage, 4th order Runge-Kutta scheme for temporal integration.  Other numerical methods will be added in the future.\n  \nPyranda parses (through a simple interpreter) the full definition of a system of PDEs, namely:\n  - a domain and discretization (in 1D, 2D or 3D)\n  - governing equations written on RHS of time derivatives.\n  - initial values for all variables\n  - boundary conditions\n\n\n\n## Prerequisites\nAt a minimum, your system will need the following installed to run pyranda. (see install notes for detailed instructions) \n- A fortran compiler with MPI support\n- python 2.7, including these packages\n  - numpy\n  - mpi4py\n\n## Tutorials\nA few tutorials are included on the [project wiki page](https://github.com/LLNL/pyranda/wiki) that cover the example below, as well as few others.  A great place to start if you want to discover what types of problems you can solve.\n\n\n## Example Usage - Solve the 1D advection equation in less than 10 lines of code\n[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/LLNL/pyranda/blob/master/examples/tutorials/notebooks/advection.ipynb)\n\nThe one-dimensional advection equation is written as:\n\n![Advection](http://mathurl.com/y7qnvzeg.png)\n\nwhere phi is a scalar and where c is the advection velocity, assumed to be unity.  We solve this equation \nin 1D, in the x-direction from (0,1) using 100 points and evolve the solution .1 units in time.\n\n### 1 - Import pyranda\n`from pyranda import pyrandaSim`\n\n### 2 - Initialize a simulation object on a domain/mesh\n`pysim = pyrandaSim('advection',\"xdom = (0.0 , 1.0 , 100 )\")`\n\n### 3 - Define the equations of motion\n`pysim.EOM(\" ddt(:phi:)  =  - ddx(:phi:) \")`\n\n### 4 - Initialize variables\n`pysim.setIC(\":phi: = 1.0 + 0.1 * exp( -(abs(meshx-.5)/.1 )**2 )\")`\n\n### 5 - Integrate in time\n`dt = .001`  \n`time = 0.0`  \n`while time \u003c .1:`    \n\u0026nbsp;\u0026nbsp;\u0026nbsp;`time = pysim.rk4(time,dt)`  \n\n### 6 - Plot the solution\n`pysim.plot.plot('phi')`\n\n\u003cimg src=\"https://github.com/LLNL/pyranda/blob/master/docs/images/Advection.png\" alt=\"alt text\" width=\"500pt\"\u003e\n\n\n## Cite\n\nPlease us the folowing bibtex, when you refer to this project.\n\n```\n  @misc{pyrandaCode,\n    title  = {Pyranda: A Python driven, Fortran powered Finite Difference solver for arbitrary hyperbolic PDE systems and mini-app for the LLNL Miranda code},\n    author = {Olson, Britton},\n    url    = https://github.com/LLNL/pyranda},\n    year   = {2023}\n  }\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Fpyranda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fllnl%2Fpyranda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllnl%2Fpyranda/lists"}