Clear Filters
Clear Filters

What is the mistake in the simulation, if the transient initialization at time x, solving for consistent states and modes, failed to converge?

12 views (last 30 days)
Hey, I am using a 4-Way Directional Valve to controll a double-acting Actuator. To switch the valve I am using a valve actuator.
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
['test_dumm/Solver Configuration']: Transient initialization at time 0.06666666666666732, solving for consistent states and modes, failed to converge.
Nonlinear solver: Linear Algebra error. Failed to solve using iteration matrix.
all components and nodal across variables involved
Cannot solve for one or more variables, including dynamic variable derivatives:
Time derivative of 'Double_Acting_Actuator_IL.chamber_A.p_I' (Pressure of liquid volume)
Time derivative of 'Double_Acting_Actuator_IL.chamber_A.interface_displacement' (Interface displacement)
Time derivative of 'Double_Acting_Actuator_IL.chamber_B.p_I' (Pressure of liquid volume)
Time derivative of 'Double_Acting_Actuator_IL.chamber_B.interface_displacement' (Interface displacement)
Time derivative of 'Double_Acting_Actuator_IL.hard_stop.x' (Position)
Time derivative of 'Double_Acting_Actuator_IL.sensor.x' (Position)
Time derivative of 'Ideal_Translational_Motion_Sensor.x' (Position)
'Double_Acting_Actuator_IL.R.v' (Velocity)
'Double_Acting_Actuator_IL.chamber_A.R.v' (Velocity)
'Double_Acting_Actuator_IL.chamber_B.R.v' (Velocity)
'Double_Acting_Actuator_IL.hard_stop.R.v' (Velocity)
'Double_Acting_Actuator_IL.hard_stop.v' (Velocity)
'Double_Acting_Actuator_IL.sensor.R.v' (Velocity)
'Double_Acting_Actuator_IL.sensor.V' (V)
'Ideal_Translational_Motion_Sensor.R.v' (Velocity)
'Ideal_Translational_Motion_Sensor.V' (V)
'Translational_Free_End1.V.v' (Velocity)
'Translational_Free_End1.v' (Velocity)
The controlling structure for the valve actuator is correct
Can you tell me where I made mistakes?
Thank you
Yifeng Tang
Yifeng Tang on 12 Feb 2024
The error message seems to suggest that there is something wrong with the way the model is assembled. Possibly overconstrained. But it's impossible to tell without seeing the modeling. If you can share the model here, I can help take a quick look. Or at least, a snapshot of the model (but I can do way less with only a picture).

Sign in to comment.

Accepted Answer

Yifeng Tang
Yifeng Tang on 14 Feb 2024
Hi Emefun,
It looks like the piston side of your hydraulic cylinder doesn't have any mass. Adding a mass block to the rod allow the model to simulate to completion. See below:
And now I understand what the error message is trying to say about time derivative: when you try to divide the force by the mass to get acceleration (derivative of velocity) but the mass is zero, the derivative goes crazy :p
With that fixed, I also believe the valve parameter needs some further work. As the input S varies between -5mm and 5mm, all the flow paths in this valves are open, so the piston isn't moving anywhere. You can right click on the valve -> Fluids -> Plot Valve Characteristics, and view the opening curves. I saw the following, and I'm not sure if it's the intended behavior.
Hope this helps.
Yifeng Tang
Yifeng Tang on 15 Feb 2024
You can add another double-acting cylinder, but you probably also need to keep the mass. The rod side of the added cylinder has no mass either, so if there is ANY difference in the cylinder forces, the acceleration becomes inf. So, keep the mass, and set it as the same (or best guess) as the actual piston+rod mass.

Sign in to comment.

More Answers (0)


Find more on Upgrading Hydraulic Models to Use Isothermal Liquid Blocks in Help Center and File Exchange




Community Treasure Hunt

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

Start Hunting!