Skip to main content

PyRC Logo


PyPI - Version PyPI - License DOI Typing

PyRC is a package to create and simulate resistance-capacity networks.

Installation

pip install pyrc

Notes:

  • PyRC started as research software, built from scientists for scientists. It was initiated at the IGTE at the University of Stuttgart by Joel Kimmich and Tim Jourdan.
  • PyRC becomes software in research.
  • PyRC was initiated at the IGTE at the University of Stuttgart from Joel Kimmich and Tim Jourdan. Its first application was to simulate a dynamic thermal system with a constant mass flow under boundary conditions resulting from weather conditions (sun radiation and ambient temperatures) over a whole year. Parameter studies were also
    conducted as part of this work. PyRC has therefore been tested in this regard. Additional functionality was added subsequently, and its performance was tested in individual cases. Nevertheless, more extensive testing is absolutely necessary.
  • PyRC brings the simplicity of Python. Some people may miss the speed of C code but appreciate the user-friendliness of Python. Python is widely spread across the scientific community and the automation of geometric thermal problems build in PyRC makes it a great tool to easily combine existing Python scripts with the accuracy of physics based dynamic models that can be represented in ODEs and solved efficiently by numeric algorithms.

When to use PyRC

  • When you have any thermal multidimensional dynamic problem
  • When modeling systems where time scales span nanoseconds to decades
  • When avoiding the complexity of CFD mesh generation
  • When the thermal network has an unstructured topology
  • When extending or customizing solvers directly in Python
  • When parameterizing large-scale RC-networks with up to thousands of elements are required
  • When parameterizing small-scale RC-networks with only a few elements
  • When working with time-dependent system matrices or boundary conditions
  • When creating networks to solve partial differential equations via lumped-parameter models
  • When creating geometric networks with visual aid of VPython
  • ...

Fun Facts

  • In principle, PyRC works not only for thermal problems but also for electrical ones. However, this has not yet been tested, and an Induction class modeling the behavior of an electrical coil is still missing. Contributions are welcome!
  • Even when not interested in solving the ODE you can use PyRC as tool to get the state-space system of even complex system with hundreds and thousands of capacities and resistors.

Publications

First publication:

Kimmich, J. & Jourdan, T.: "Python Package for Generating Dynamic Systems and Simulating Resistance-Capacitance Networks (PyRC)", DaRUS, 2026. https://dx.doi.org/10.18419/darus-5765

Poster presented at the 1st Stuttgart Research Software Day, 2026:

Kimmich, J. & Jourdan, T.: "PyRC", Zenodo, 2026. https://doi.org/10.5281/zenodo.18832971

Further publications are in progress.

Experiences with PyRC:

  • Network with weather data as boundary conditions and 280 radiation source terms; simulating one year with a maximum time step of 0.4 s on a single core at 3.2 GHz:
    • 3'302 capacities, 10'717 resistances
    • Pre-simulation to initialize: 2.5 hours (~7 simulated days)
    • Total simulation time: ~6.5 days
  • Smaller systems (~400 nodes) run 1'000 times faster than simulated time.

Contributing

See CONTRIBUTING.rst for how to contribute to PyRC.

License

See LICENSE.txt for the license.

Funding

Funded by the Federal Ministry for Economic Affairs and Energy (Bundesministerium für Wirtschaft und Energie), Germany.

Release files for pyrc 0.9.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyrc 0.9.1
File Size Uploaded
pyrc-0.9.1.tar.gz 163.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyrc 0.9.1
File Interpreter ABI Platform
pyrc-0.9.1-py3-none-any.whl Python 3 none any Details

Total release size: 362.9 kB

Release files / pyrc-0.9.1.tar.gz

Download URL pyrc-0.9.1.tar.gz
Size 163.4 kB
Tags Source
SHA-256 checksum
How to use checksums
2163d5d8cba670d0920f2f197636bd2444e4f4aa02a4bb13183333ea3a064cc6
BLAKE2b-256 checksum
How to use checksums
5949bd3325e581ce4529e41c9f76127770ac69db640547be6e6ac87dd17f6823
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release files / pyrc-0.9.1-py3-none-any.whl

Download URL pyrc-0.9.1-py3-none-any.whl
Size 199.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2907209e0a7098a3d8afd2ee01ee4c8ac1a46204e2ce0201b92b289a6e24e702
BLAKE2b-256 checksum
How to use checksums
0a759e037624d7c472aacdc0e74e3ff18e3500759be71f1ce54aecd9a15390a3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.13

Release history Release notifications | RSS feed

This release

0.9.1 This release

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.1

2 release files

0.7.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page