source: trunk/sample/miscellaneous/sample_pend.mso @ 289

Last change on this file since 289 was 247, checked in by Rafael de Pelegrini Soares, 16 years ago

Updated solver options for the new language

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 2.0 KB
Line 
1#*-------------------------------------------------------------------
2* EMSO Model Library (EML) Copyright (C) 2004 - 2007 ALSOC.
3*
4* This LIBRARY is free software; you can distribute it and/or modify
5* it under the therms of the ALSOC FREE LICENSE as available at
6* http://www.enq.ufrgs.br/alsoc.
7*
8* EMSO Copyright (C) 2004 - 2007 ALSOC, original code
9* from http://www.rps.eng.br Copyright (C) 2002-2004.
10* All rights reserved.
11*
12* EMSO is distributed under the therms of the ALSOC LICENSE as
13* available at http://www.enq.ufrgs.br/alsoc.
14*
15*--------------------------------------------------------------------
16* FlowSheet with the Model for the index three pendulum
17* in Cartesian coordinates.
18*--------------------------------------------------------------------
19* Author: Rafael de Pelegrini Soares
20* $Id: sample_pend.mso 247 2007-04-24 13:44:18Z rafael $
21*-------------------------------------------------------------------*#
22
23using "types.mso";
24
25FlowSheet pend
26        PARAMETERS
27        g     as acceleration (Brief = "Gravity acceleration");
28        L     as length (Brief = "Pendulum cable length");
29       
30        VARIABLES
31        x   as length_delta(Brief="Position x");
32        y   as length_delta(Brief="Position y");
33        w   as velocity(Brief = "Velocity for x");
34        z   as velocity(Brief = "Velocity for y");
35        T   as Real(Brief = "Tension on cable",Default=10,Unit='1/s^2');
36       
37        EQUATIONS
38        "Velocity on x"
39        diff(x)=w;
40       
41        "Velocity on y"
42        diff(y)=z;
43       
44        "Tension on x"
45        diff(w)=T*x;
46       
47        "Tension on y"
48        diff(z)=T*y-g;
49       
50        "Position Constraint"
51        x^2+y^2=L^2;
52       
53        SET
54        g     = 9.8 * 'm/s^2';
55        L     = 1 * 'm';
56
57        INITIAL
58        "Initial Position x"
59        x = -1 * 'm';
60
61        "Initial x Velocity"
62        w = 0 * 'm/s';
63       
64        #"Initial Position y"  y = 0 * "m";
65        #"Initial y Velocity"  z = 0 * "m/s";
66
67        OPTIONS
68        TimeStep = 0.1;
69        TimeEnd = 30;
70        Integration = "index0"; # original, index0 or index1
71
72        NLASolver(
73                RelativeAccuracy = 1e-8,
74                AbsoluteAccuracy = 1e-9
75        );
76        DAESolver(
77                File = "dassl", # mebdf, dasslc, dassl, or sundials
78                RelativeAccuracy = 1e-8,
79                AbsoluteAccuracy = 1e-9,
80                EventAccuracy = 1e-3
81        );
82        SparseAlgebra = true; # dense or sparse
83end
Note: See TracBrowser for help on using the repository browser.