Manipulating physical signals to control mass flow rate source leads to error / difference between physical signals and converted simulink signals ?

3 次查看(过去 30 天)
I am trying to model a rankine cycle in Simscape (Two-phase-fluid). This has been successful so far. The next step is the implementation of a control strategy which allows to control certain parameters by adjusting the mass flow.
There are a total of three pumps (controlled mass flow sources), one big one and two smaller ones. The combined mass flow rates of the two smaller pumps are supposed to be as high as the mass flow rate of the bigger pump. (e.g. 1 kg/s for the big one two times 0.5 kg/s for the small pumps). I started controlling the pumps with a simulink constant for the flow rate of the big pump, and divide block to get the flow rates of the smaller pumps and Simulink-to-PS-converters to connect them to the physical input ports. That has been working fine.
Now, since the mass flow rate shall be dependent on some process parameters I want to use PS-blocks(PS-constant, etc...) instead of the simulink blocks in order to avoid algebraic loops.
The first step was replacing the simulink constant and divide blocks by PS-constant and PS-divide blocks. When running the simulation (even though i used the same values for the flow rates) i recieved following error message:
Nonlinear solver to advance time one step failed to converge, residual norm too large.
Is there a difference between converted simulink signals and physical signals ? (the output signal unit in the Simulink-PS-converter blocks was '1'). Is there a way to work around this problem ?
Note: When i put a PS-to-Simulink and a Simulink-to-PS-behind each other after the PS blocks the error didn't appear (this wouldn't help me though since it would still cause an algebraic loop in the next step).
Thanks in advance

回答(1 个)

Ed Marquez
Ed Marquez 2017-1-12
For the case where the model is not running with the PS Constant, it is possible that the model has trouble during initialization. These initialization problems may arise from some of the initial conditions not being set consistently in the model- or the initial conditions simply cannot be satisfied by the solver.
Furthermore, although your model may run in the case that you described in your 'Note', it is likely that there are warnings about initial conditions not being met when using Simulink Constant block going into a Simulink-PS Converter block.
If you use the Simulink Constant block, the model initializes, but you may see warnings in the Command Window or the Diagnostics Viewer about initial conditions that are not met. In this case, you can go to Analysis > Simscape > Variable Viewer to see which variables did not meet their initial conditions and adjust the model/variables accordingly.

类别

Help CenterFile Exchange 中查找有关 Nonlinear Operators 的更多信息

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by