Azzera filtri
Azzera filtri

Transient initialization failed to converge using Simscape piston displacement

7 visualizzazioni (ultimi 30 giorni)
Good day to you,
I'm working on a isothermal liquid model, in which a double acting piston is first extended and later retracted. In the first 3 seconds of the simulation, orifice P-B and A-T are open and the piston is in the left end position. Then the "303" valve switches the open orifice to P-A and B-T and the piston moves to the right end position. This works just fine if the "initial piston displacement from chamber A"- parameter is set to 0mm.
If I try to change the initial position of the piston to something else however (e.g 125mm which is the middle position), the following error message pops up:
=== Simulation (Elapsed: 17 sec) ===
Warning:all components and nodal across variables involved
Cannot solve for one or more variables, including dynamic variable derivatives:
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_A.p_I' (Pressure of liquid volume)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_A.interface_displacement' (Interface displacement)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_B.p_I' (Pressure of liquid volume)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_B.interface_displacement' (Interface displacement)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.hard_stop.x' (Position)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.sensor.x' (Position)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_A.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_B.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.hard_stop.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.hard_stop.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.sensor.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.sensor.V' (V)
Problems possible for transient initialization, as well as stepsize control for transient solve, due to equations (including nonlinear equations) of one or more components:
all components involved
'Pruefmaschinenzylinder/Prüfmaschinenzylinder/Double-Acting Actuator (IL)1'
Equation locations are:
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 216)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 216)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 239)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 239)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\fluids\fluids\+fluids\+isothermal_liquid\+actuators\translational_hardstop.sscp' (no line number info)
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
['Pruefmaschinenzylinder/Prüfmaschinenzylinder/Solver Configuration1']: Transient initialization at time 4.450147717014403e-308, 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 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_A.p_I' (Pressure of liquid volume)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_A.interface_displacement' (Interface displacement)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_B.p_I' (Pressure of liquid volume)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_B.interface_displacement' (Interface displacement)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.hard_stop.x' (Position)
Time derivative of 'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.sensor.x' (Position)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_A.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.chamber_B.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.hard_stop.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.hard_stop.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.sensor.R.v' (Velocity)
'Prfmaschinenzylinder.Double_Acting_Actuator_IL1.sensor.V' (V)
Problems possible for transient initialization, as well as stepsize control for transient solve, due to equations (including nonlinear equations) of one or more components:
all components involved
'Pruefmaschinenzylinder/Prüfmaschinenzylinder/Double-Acting Actuator (IL)1'
Equation locations are:
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 216)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 216)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 239)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\simscape\library\m\+foundation\+isothermal_liquid\+elements\translational_mechanical_converter.ssc' (line 239)
'C:\Program Files\MATLAB\R2023a\toolbox\physmod\fluids\fluids\+fluids\+isothermal_liquid\+actuators\translational_hardstop.sscp' (no line number info)
From my understanding and from what I could gather online it seems that this has something to do with rapid changes in the physical network. I have tried all sorts of things like changing solver, step size and tolerance settings, changing initial liquid pressure in the actuators chambers, changing the dead volume but all to no avail.
Does anybody have a solution for this problem?
I have attached the .slx file below, thanks in advance.

Risposta accettata

Sandro G
Sandro G il 21 Feb 2024
When the initial displacement of the cylinder is not 0mm, the solver requires a mass block.

Più risposte (0)

Categorie

Scopri di più su Thermal Liquid Library in Help Center e File Exchange

Prodotti


Release

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by