1

I know it might be dumb to ask such a question because Dymola is short for Dynamic Model laboratory, and I should use modelica/dymola to solve dynamic problems.

However, I still wonder if it is possible to get some kind of quasi-static result from it by using the same model?

For example:

For a simple mass spring damper system, we have

F = mx_dotdot+cx_dot+kx

Of course, modelica is good at handling this kind of problem. What my question is, is there a way to tell the solver that the dynamic components(states) should all be zero without modifying the original model? Then at each time step, I could get a static solution.

F = kx

Thanks ahead for any answers!

Hang Yu
  • 476
  • 2
  • 14
  • One approach could be to implement different equations using an `if-elseif-else` statement. You can find examples for this approach in `Modelica.Fluid`: There is the component `Modelica.Fluid.System` that can be used to independently specify the `energyDynamics`, `massDynamics` and `momentumDynamics`. Models like `OpenTank` do then implement different equations for each possible dynamic behavior. – matth Feb 28 '14 at 08:42
  • 1
    Another approach is to setup the simulation time to zero and specify the quasi-static constraints as initial equations, i.e. in your case x_dotdot = 0 and x_dot =0. – Marco Romanoni Mar 05 '14 at 14:34
  • Greatly appreciated for both matth's and Marco's answers, actually before posting this question, my intention of solving this problem is the same as Marco's, but as I went along in this path, I found out that I still have some time dependent components like PID controllers, which are usually error driven and integrated with time, a pure quasi static solution could only be found by solving f(x) = 0 using optimization methods which I doubt if it would be any faster. Hey Marco, if you are interested, do you like to talk more about this? – Hang Yu Mar 06 '14 at 15:24

0 Answers0