[47] | 1 | #*--------------------------------------------------------------------- |
---|
| 2 | * This file is property of the author and cannot be used, copyed |
---|
| 3 | * or modified without permission. |
---|
| 4 | * |
---|
| 5 | * Copyright (C) 2003-2005 the author |
---|
| 6 | *---------------------------------------------------------------------- |
---|
| 7 | * Author: Rafael de Pelegrini Soares |
---|
| 8 | * $Id: sample_car.mso 6 2005-01-11 17:06:06Z paula $ |
---|
| 9 | *---------------------------------------------------------------------- |
---|
| 10 | * |
---|
| 11 | * The car axis problem |
---|
| 12 | * |
---|
| 13 | * The problem is a stiff DAE of index 3, consisting of 8 |
---|
| 14 | * differential and 2 algebraic equations. |
---|
| 15 | * |
---|
| 16 | *--------------------------------------------------------------------*# |
---|
| 17 | |
---|
| 18 | FlowSheet CarAxis |
---|
| 19 | |
---|
| 20 | PARAMETERS |
---|
| 21 | l as Real(Default=1); |
---|
| 22 | l0 as Real(Default=1/2); |
---|
| 23 | eps as Real(Default=1e-2); |
---|
| 24 | M as Real(Default=10); |
---|
| 25 | h as Real(Default=1/5); |
---|
| 26 | tau as Real(Default=3.1514/5); |
---|
| 27 | w as Real(Default=10); |
---|
| 28 | r as Real(Default=0.1); |
---|
| 29 | |
---|
| 30 | |
---|
| 31 | VARIABLES |
---|
| 32 | xl as Real(Default = 0, Lower=-1, Upper = 1); |
---|
| 33 | yl as Real(Default = 0.5, Lower=-1, Upper = 1); |
---|
[49] | 34 | xr as Real(Default = 1, Lower=-2, Upper = 2); |
---|
[47] | 35 | yr as Real(Default = 0.5, Lower=-1, Upper = 1); |
---|
| 36 | q(4) as Real(Default = -1); |
---|
| 37 | lambda(2) as Real(Default = 0); |
---|
| 38 | xb as Real(Default = 1); |
---|
| 39 | yb as Real(Default = 0); |
---|
| 40 | ll as Real(Default = 0.5, Brief="Left spring length"); |
---|
| 41 | lr as Real(Default = 0.5, Brief="Right spring length"); |
---|
| 42 | |
---|
| 43 | EQUATIONS |
---|
| 44 | diff([xl, yl, xr, yr]) = q; |
---|
| 45 | |
---|
| 46 | eps^2*M/2 * diff(q(1)) = (l0-ll)*xl/ll |
---|
| 47 | +lambda(1)*xb +2*lambda(1)*(xl-xr); |
---|
| 48 | |
---|
| 49 | eps^2*M/2 * diff(q(2)) = (l0-ll)*yl/ll |
---|
| 50 | +lambda(1)*yb +2*lambda(2)*(yr-yl) - eps^2*M/2; |
---|
| 51 | |
---|
| 52 | |
---|
| 53 | eps^2*M/2 * diff(q(3)) = (l0-lr)*(xr-xb)/lr |
---|
| 54 | -2*lambda(2)*(xl-xr); |
---|
| 55 | |
---|
| 56 | eps^2*M/2 * diff(q(4)) = (l0-lr)*(yr-yb)/lr |
---|
| 57 | -2*lambda(2)*(yl-yr) - eps^2*M/2; |
---|
| 58 | |
---|
| 59 | xl*xb + yl*yb = 0; |
---|
| 60 | |
---|
| 61 | (xl-xr)^2 + (yl-yr)^2 = l^2; |
---|
| 62 | |
---|
| 63 | xb = sqrt(l^2-yb^2); |
---|
| 64 | |
---|
| 65 | yb = r*sin(w*time); |
---|
| 66 | |
---|
| 67 | ll = sqrt(xl^2 + yl^2); |
---|
| 68 | |
---|
| 69 | lr = sqrt((xr-xb)^2 + (yr-yb)^2); |
---|
| 70 | |
---|
| 71 | INITIAL |
---|
| 72 | yl = 0.5; |
---|
| 73 | xr = 1; |
---|
| 74 | q(3) = -0.5; |
---|
| 75 | q(4) = 0; |
---|
| 76 | |
---|
| 77 | OPTIONS |
---|
| 78 | time = [0:0.01:3]; |
---|
[48] | 79 | integration = "index0"; # "original"; |
---|
| 80 | #DAESolver = "mebdf"; |
---|
[47] | 81 | |
---|
| 82 | relativeAccuracy = 1e-5; |
---|
| 83 | absoluteAccuracy = 1e-5; |
---|
| 84 | indVarAccuracy = 1e-3; |
---|
| 85 | end |
---|