Changelog#

Docstrings and documentation, as well as type hints, can be changed in every version without being mentioned in the version changelog.

Unpublished#

Added#

Changed#

Deprecated#

Removed#

Fixed#

0.4.0 (2026-06-03)#

Added#

  • Symbol matrices are now build much faster for networks with hundreds or more capacitors.

  • Tests for classes Geometric, Cell, Material, Solid, Fluid, CompositeMaterialFluid, CompositeMaterialSolid

  • Cell.face_points() to get the four vertices points of a cell face in a defined direction (x, -x, y, …)

Changed#

  • time-dependent values are now mapped to free symbols automatically (fixes #26). RCNetwork.solve_network now gets the parameter time_dependent_tuple instead of time_dependent_function with an iterable containing the symbols in the order the function returns them and the function: time_dependent_tuple = (symbols_iterable, time_dependent_function

  • Rename PerformanceTest to PerformanceCheck and update at few lines.

  • Geometry.position now returns a copy of the vector (is not writeable anymore).

  • Removed some modules/files from coverage (validation scripts, test scripts, models (example RCNetworks))

Removed#

  • sympy_sparse_matrix_to_latex because it wasn’t used anyway

Fixed#

  • remove test code in Simulation.run()

  • Simulation.run() parameter name_add_on now initially is “” instead of None

  • Fix bug in Geometry class that couldn’t be created when fixed_z or fixed_xy was True

0.3.1 (2026-05-29)#

Fixed#

  • fix circular import in inputs module

0.3.0 (2026-05-29)#

Added#

  • LinePlot.add_points()

Changed#

  • The coordinate system of the Viewer class is now colored using RGB colors (x-axis red, y-axis green, z-axis blue). This improves the coordination within the system.

  • InternalHeatSource now works with Capacitors, too, instead of Nodes only. Fixes #18

  • The power value for InternalHeatSource can now be set directly, not only using area/volume specific parameters.

  • initial figure height (see PlotMixin) is now 90 mm instead of 9

Fixed#

  • LinePlot.plot() now correctly adds each plotted lines to self.lines.

  • Resistor classes used warnings.info(), which doesn’t exist. Fixed to warnings.warn()

0.2.0 (2026-05-07)#

Stationary networks can be solved analytically using the solve_stationary() method. This can be done either symbolically or with numeric values. If numeric values are used, the result is saved in the RCSolution object of the network, and several different solutions can be concatenated using the time_step parameter of the method. This makes it easy to parameterise the boundary conditions and compare them, or build quasi-dynamic simulations as is often done when PyRC is not an option.

Added#

  • make.py to build documentary

  • example wall heat conduction

  • new material Copper

  • RCNetwork can now be solved analytically

  • pyrc.core.solver.stationary and test for the function in it

  • scipy-stubs as developer dependency

Removed#

  • build_new.bat and build.info (build files for documentation)

Fixed#

  • Resistor.connect() Every BoundaryCondition that inherits from Geometric can be connected without manually passing a direction. This is the only reason to use a Geometric/Cell BoundaryCondition: not to have to.

  • Wrong heat capacity value for material Metal

0.1.0 (2026-04-13)#

Initial release.