Hello Romain,
The difference is due to the solver type. Your diagram currently selects the ODE solver Sundials/CVode - BDF - Newton.
"xcos_simulate(scs_m, 4);" detects two continuous states and switches to a DAE solver (Sundials/IDA).
"scicos_simulate(scs_m);" only detects one continuous state and keeps the ODE solver.
This must be due to a Modelica compilation difference between xcos and scicos.
I don't know the equations of your model so I cannot assess which method is correct.
Also, I noticed that the context variables (C, R, T, end_time) are not present in the diagram, so what are you trying to change when you modify the context? You might want ot use the END <http://help.scilab.org/docs/5.4.1/fr_FR/ENDBLK.html> block to set the end time.
Hope this helps, Regards, Paul On 02/25/2014 05:52 PM, R0M1 wrote:
Dear Users, Trying different compilation methods for this model, I found some discrepancies in the results that I do not explain so far. With the same .xcos model and .csv input file as in the first post, I compile using /xcos_simulate/ and /scicos_simulate/: The plots shows the difference between the results from the two methods. Any idea on what is causing this ? Thanks a lot. Here is the code: clear // parameters data=csvRead('input.csv',';'); input_current=evstr(data(:,1)); size1=length(input_current); C=1/12900; R=765; T=0.0001; // timestep time=[0:T:(size1-1)*T]'; // in s end_time=time($)+T; // end time in s // loading Xcos functions loadScicos; loadXcosLibs(); exec(loadpallibs,-1); // loading model: creates scs_m importXcosDiagram('graphic_model.xcos') // first compilation method scs_m.props.context=strcat(["C=",string(C),"; R=",string(R),"; T=",string(T)"; end_time=",string(end_time)]); xcos_simulate(scs_m,4) // '4' is to perform compilation graph_voltage_1=graph_voltage.values; // output variable // second compilation method %scicos_context.C=C; %scicos_context.R=R; %scicos_context.T=T; %scicos_context.end_time=end_time; Info=scicos_simulate(scs_m,list(),%scicos_context,flag='nw'); graph_voltage_2=graph_voltage.values; // output variable set("current_figure",10) plot(time,graph_voltage_1,'-b') plot(time,graph_voltage_2,'-r') xtitle('graph title','time (s)','voltage (V)'); hl=legend(['xcos_simulate';'scicos_simulate'],"in_upper_right"); -- View this message in context: http://mailinglists.scilab.org/Scilab-users-Problem-running-xcos-in-batch-mode-from-Scilab-tp4028765p4028965.html Sent from the Scilab users - Mailing Lists Archives mailing list archive at Nabble.com. _______________________________________________ users mailing list users@lists.scilab.org http://lists.scilab.org/mailman/listinfo/users
-- Paul BIGNIER Development engineer ----------------------------------------------------------- Scilab Enterprises 143bis rue Yves Le Coz - 78000 Versailles, France Phone: +33.1.80.77.04.69 http://www.scilab-enterprises.com
_______________________________________________ users mailing list users@lists.scilab.org http://lists.scilab.org/mailman/listinfo/users