Open CZRMWMW opened 5 months ago
Hi @ CZRMWMW,
thank you for reaching out and reporting the bug. I think, this is caused by the starting value generator. It will iterate through all connections and assign starting values according to the components attached to the inlet and to the outlet of the connection (https://github.com/oemof/tespy/blob/c90abe8468720f1ad846326dcaad45f73981c39a/src/tespy/networks/network.py#L1792-L1832). It sounds a little strange, that the order of connections has an effect here, but who knows. On top of that, there is also a little bit of randomness in the starting value assignment for mass flows, which could also be a reason (see https://github.com/oemof/tespy/issues/509). I'll have to investigate it further. I will update you, when I find the time to do so.
Best
Francesco
btw: Even if the simulation runs, the solver does not find a feasible solution. You might want to check your specifications.
Dear Francesco, thank you very much for your reply. I understand the issue now. If there is anything that I can assist with in the future, I'd be glad to help. I hope you have a pleasant day. Additionally, thank you very much for developing tespy. This tool has helped me solve many research problems.
You can certainly do so, it is always appreciated. If you want, you can try to find, what causes the differences for this bug. For that, I'd suggest, you'd get a hand on the developer version of the software (see online documentation on how to install it) and then start checking, what the difference is for all SI_values (val_SI
of the connection attributes) of the variables of the system variables_dict
attribute of the Network
class instance, after the initialization is complete and before the actual solution process starts. Have a nice weekend
Dear Developer,I encountered a very peculiar issue. When I use
nw.add_conns(L1, L2, L2_1, L2_2,L3_1,L3_2,c29,c30, c31, c32,L4,L5,L6,Z1,Z2)
the returned result tells me that there are singular values in the calculation. Singularity in jacobian matrix, calculation aborted! Make sure your network does not have any linear dependencies in the parametrisation. Other reasons might be -> given temperature with given pressure in two phase region, try setting enthalpy instead or provide accurate starting value for pressure. -> given logarithmic temperature differences or kA-values for heat exchangers, -> support better starting values. -> bad starting value for fuel mass flow of combustion chamber, provide small (near to zero, but not zero) starting value. However, when I change the order tonw.add_conns(L1, L2, L2_1, L2_2,L3_1,L3_2,L4,L5,L6,Z1,Z2,c29,c30, c31, c32)
it works just fine. I would like to know the reason for this. Thank you for your response. Here is the complete code, along with the corresponding data and process flow diagram.75工况热力性能实验表.csv