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_tupleinstead oftime_dependent_functionwith an iterable containing the symbols in the order the function returns them and the function:time_dependent_tuple = (symbols_iterable, time_dependent_functionRename 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_onnow initially is “” instead of NoneFix 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
CopperRCNetwork 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.