I had installed OpenModelica from the debian installers at
http://openmodelica.ida.liu.se:8080/cb/proj/doc.do?doc_id=1227, on a
chroot (i got a amd64, a chroot is easily than the compilation process
for i386 on a x86_64) with debian sid.

2008/12/4 Jorge Cardona <[EMAIL PROTECTED]>:
> Greeting foot people.
>
> I was creating a external function to create a normal distributed
> source signal, but i found myself in a little problem, look at this:
>
> f.c:
> #include <stdlib.h>t
>
> double f(void)
> {
>    return random();
> }
>
> f.h:
> double f(void);
>
> f.mo:
> function f
>    output Real y;
>    external
>        annotation(Library="/tmp/f.o", Include="#include \"/tmp/f.h\"");
> end f;
>
>
> class A
>    Real x;
> initial equation
>    x = 20;
> equation
>    der(x) = -x;
> end A;
>
>
> class B
>    Real x;
>    Real y;
> initial equation
>    x = 20;
> equation
>    der(x) = -x;
>    y = 0;
> end B;
>
> class C
>    Real x(fixed=false);
>    Real y;
> initial equation
>    x = 20;
> equation
>    der(x) = -x;
>    y = 0;
> end C;
>
> class D
>    Real x(fixed=false);
>    Real y;
> initial equation
>    x = 20;
> equation
>    der(x) = -x;
>    y = f();
> end D;
>
> class E
>    Real y;
> equation
>    y = f();
> end E;
>
> class F
>    Real x;
>    Real y;
> initial equation
>    x = 20;
> equation
>    der(x) = -x;
>    y = f();
> end F;
>
> well, copy this to /tmp and in a OMShell-terminal:
> [EMAIL PROTECTED]:/tmp$ OMShell-terminal
> Open Source Modelica Terminal Shell
> Copyright 1997-2007, PELAB, Linkoping University
>
> To get help on using Mosh and OpenModelica, type "help()" and press enter
> Started server using:/usr/share/omc-omshell/bin/omc +d=interactive >
> /tmp/error.log 2>&1 &
>  res = 0
>>>> loadModel(Modelica)
> true
>>>> loadFile("/tmp/f.mo")
> true
>>>> system("gcc -c -o /tmp/f.o /tmp/f.c")
> 0
>>>> simulate(A,timeStop=10)
> record
>    resultFile = "A_res.plt"
> end record
>>>> plot(x)
> true
>>>> simulate(B,timeStop=10)
> record
>    resultFile = "B_res.plt"
> end record
>>>> plot({x,y})
> true
>>>> simulate(C,timeStop=10)
> record
>    resultFile = "C_res.plt"
> end record
>>>> plot({x,y})
> true
>>>> simulate(D,timeStop=10)
> record
>    resultFile = "D_res.plt"
> end record
>>>> plot({x,y})
> true
>>>> simulate(E,timeStop=10)
> record
>    resultFile = "E_res.plt"
> end record
>>>> plot(y)
> true
>>>> simulate(F,timeStop=10)
> record
>    resultFile = "F_res.plt"
> end record
>>>> plot({x,y})
> true
>
>
> Well, the class A only has a variable and decrease from 20 to 0,
> that's ok. The class B has two variables, one should decrease from 20
> to 0 and the other one should be constant on 0, but both of them are
> 0s. At the class C, i declare the x variable with fixed=false, and
> that work great. At class D, i declard that y is the returned value
> form f, which return a random number, but the simulation stop silently
> without error, but without data. At class E, i had deleted the x
> variable, and then the simulation work great and y has random values,
> and in class F  i declared again the variable, but without fixed and
> the simulation works but x is not initialized at 20, so, it is a
> constant 0.
>
> I don't know if i just missing something here, what i need is work
> with the random generator, and initializa other variables with
> "initial equation".
>
> What can i do to deal whit this?
>
> PD: If you need some hands to type some lines of code of OpenModelica,
> just say, i will be happy to help with it.
>
> --
> Jorge Eduardo Cardona
> [EMAIL PROTECTED]
> jorgeecardona.blogspot.com
> ------------------------------------------------
> Linux registered user  #391186
> Registered machine    #291871
> ------------------------------------------------
>



-- 
Jorge Eduardo Cardona
[EMAIL PROTECTED]
jorgeecardona.blogspot.com
------------------------------------------------
Linux registered user  #391186
Registered machine    #291871
------------------------------------------------

Reply via email to