verivital / hyst

HyST: A Source Transformation and Translation Tool for Hybrid Automaton Models
http://verivital.com/hyst/
Other
15 stars 18 forks source link

Model too complex? #29

Open Kerianne opened 8 years ago

Kerianne commented 8 years ago

Hello,

I'm working on some basic spacecraft models and I have one with the following flow in SpaceEx: theta' == omega & omega' == DoverIzzx100 * thetaf -DoverIzzx100 * theta + DoverIzzx100/200 * psi & psi' == -100 * thetaf +100 theta - 0.5 \ psi & t' == 1

My variables are: theta omega psi t

Constants are: DoverIzzx1000 = 0.0737 Thetaf = 1

Invariants: 0 <= t <= 30

Config file: system = singleRW initially = "loc() == singleRW & theta == 0 & omega == 0 & psi == 0 & t == 0 & thetaf == 1 ...

I run the model using Hypy(Flow) as well as converting the model using Hyst and running it in Flow.

The system runs and says it is successful, but doesn’t produce a plot.

I went through each variable in the flow to see if it was hung up there. I found that I could leave everything the same except take the second 100 in the psi’ flow equation out and it would produce a plot. I ran the following: theta' == omega & omega' == DoverIzzx100 * thetaf -DoverIzzx100 * theta + DoverIzzx100/200 * psi & psi' == -100 * thetaf + theta - 0.5*psi & t' == 1

Any idea why this small change could mean the difference between running and not running?

stanleybak commented 8 years ago

In your constants you refer to DoverIzzx1000, but in the model you use DoverIzzx100. Also, there are multiplication signs (*) missing in the dynamics; I'm not sure if this is on purpose.

I was able to get your model to run through Hyst and plots with Flow* (after adjusting the integation method). Did Flow* give a remainder estimate error when you ran it or did everything appear normal?

Could you attach your exact .xml and .cfg files as well? Mine are here: sate.zip .