1. Chris Mutel
  2. brightway2-calc


brightway2-calc /

The branch 'lca-breakup' does not exist.
Filename Size Date modified Message
95 B
Add appveyor config
1.6 KB
Added tag 1.5.3 for changeset 22c017a281a4
4.7 KB
Change in 1.5.3
1.5 KB
Update copyright
73 B
Fix setup.py for tests move
1.7 KB
Fix badge URL
1.1 KB
Add appveyor config
35 B
Begin reorganization of tests
77 B
Add test coverage
31 B
Begin unbundling of bw2data to make bw2calc independent
1.2 KB
Use io to get get consistent treatment of encoding

Brightway2 calculations

bw2calc appveyor build status bw2calc drone.io build status Test coverage report

This package provides the calculation engine for the Brightway2 life cycle assessment framework. Online documentation is available, and the source code is hosted on Bitucket.

The emphasis here has been on speed of solving the linear systems, for normal LCA calculations, graph traversal, or Monte Carlo uncertainty analysis.

The Monte Carlo LCA class can do about 30 iterations a second (on a 2011 MacBook Pro). Instead of doing LU factorization, it uses an initial guess and the conjugant gradient squared algorithm.

The multiprocessing Monte Carlo class (ParallelMonteCarlo) can do about 100 iterations a second, using 7 virtual cores. The MultiMonteCarlo class, which does Monte Carlo for many processes (and hence can re-use the factorized technosphere matrix), can do about 500 iterations a second, using 7 virtual cores. Both these algorithms perform best when the initial setup for each worker job is minimized, e.g. by dispatching big chunks.