Closed MassimoCimmino closed 3 years ago
It seems the cause is the calculation of eigenvalues in MultipleUTube._update_model_variables()
. The coefficient matrix _A
calculated from the resistances is correctly real-valued.
The two options are:
np.real()
. The imaginary part should be negligible.scipy.linalg.expm()
. This eliminates the need for eigenvalues but may affect the calculation time.
Pipe class methods can return complex-valued outputs. This was observed when running unit tests in
pipes_tests
for theMultipleUTube
configuration.This could be fixed using
np.real()
either on the Multipole method (preferably) when computing the thermal resistance matrix or in the class methods themselves.