openLCA で製品システムを計算すると「Calculation failed」とだけ出て、長い Java のスタックトレースが表示されます。
同じデータベースでも、単位プロセスの直接計算は通るのに製品システムでは失敗する、ということもあります。エラー本文からは原因が読み取れないのですが、どこから当たればよいでしょうか。
1 件の回答
まずデータベースの検証(validate)をかけ、その結果を見てください。 そのうえで疑うのは次の5つです。
- 系がうまく定義できていない。 技術行列に一次従属の行・列がある場合で、たとえばパラメータで供給の枝をまるごと 0 にしてしまうと起こり得ます
- パラメータの式が正しくない
- SQL でデータベースを直接書き換えた
- メモリが足りない
- 高速な数値計算ライブラリが読み込まれていない。 エラー報告の
native libraries loaded: falseとwith sparse matrix support: falseがその状態です。これらが有効だと、単位プロセスのデータベースの計算がかなり速く・効率的になります
報告されている事例は、いずれも原因の特定までは至っていません。 エラー報告を出すときは、ログ全文とインストール方法まで添えるのが早道です。
入り口の違う同じエラーとして、ecoinvent 本家から取った元のプロセスを使っている場合とSimaPro の CSV を取り込んだあとの場合は別にまとめています。
参考にしたスレッド
- OpenLCA is calculating unit process but product system processask.openLCA2024-02
- Calculation failed!ask.openLCA2019-04
- Calculation failed - tried to ??? but openLCA threw an error. # Steps to reproduce 1. ? 2. ? 3. ?ask.openLCA2024-05
