0 votes
984 views

Hello hello!

So I updated to openLCA 2.0 recently and ever since then if I try to run a direct calculation on any arbitrary process and select Eager/All, I'll get a "Matrix is probably singular" response. This never really happened in older versions of openLCA, and it's not even custom processes that triggers it, even a single calculation on (for example) production of CEM IV/A will do it. 

Steps to reproduce:

1. Using the latest version of the EF database (ef_secondarydata_202202, from nexus), open the process "Electricity from biomass (solid), production mix, at power plant, AC, mix of direct and CHP, technology mix regarding firing and flue gas cleaning, 1kV - 60kV" (I've tested this with both DK and CZ, so I don't think it matters which region you pick)

2. Click "Direct calculation", and trust the default linking.

3. Allocation as defined in processes, Midpoint, PEF standard weighting, Eager/All

4. Finish.

After a moment of thinking, the error window pops up "Matrix is singular". Oddly, if I make it into a product system of only the one process it calculates just fine with Eager/All, and if I do a direct process calculation with Lazy it runs as well.

My computer's specs and configurations: 

Windows 10, Intel CPU, integrated graphics, 32 GB RAM. 

java --version gives me:

openjdk 11.0.16.1 2022-08-12 LTS

OpenJDK Runtime Environment Microsoft-40648 (build 11.0.16.1+1-LTS)

OpenJDK 64-Bit Server VM Microsoft-40648 (build 11.0.16.1+1-LTS, mixed mode)

Specific openLCA configuration: installed for all users on the system, I've set maximum memory to 32000, and when it prompted me on the welcome screen to download the calculation matrix thing to help speed up calculations I said yes.

in openLCA by (120 points)

1 Answer

0 votes
by (126k points)
I assume this is because the matrix is singular, which in turn is probably due to the EF database being not suited for being autoconnected but you need to build your product system manually. Direct calculation applies this autoconnection. The database comes to a large extent from GaBi background, and as in GaBi, it contains many system processes which are meant to be fully aggregated but aren't (due to the calculation routines in GaBi, I assume), so you have many unintended input and output products, which can then end up in being selected for the connection.

The eager/all calculation calculates everything, the lazy calculation not, but delivers contribution results on demand, and thus you will face singular matrix issues later also in a lazy calculation settingI assume.

All the best,

Andreas
...