Hi,

By default OMC adds a dummy state
to the system of equations:
  Real $dummy(start = 0);
  der($dummy) = sin(time * 628.318530717);
It does this to make dassl happy if
there are no states in the system.

This dummy state makes the
solving of the system so slow.

We are looking into solutions
to fix this problem and we will
incorporate a fix in a future
version.

However, if you are in a hurry,
there is a quick workaround:
1. Edit OpenModelica/Compiler/Ceval.mo
        OpenModelica/Compiler/Main.mo
2. Change the second argument of all calls
   to function DAELow.lower(..., true, ...)
   from "true" to "false".
3. Recompile OMC

Now your model should simulate
from 0 to 80000 in about 1 minute.

Cheers,
Adrian Pop/

christian kunze wrote:
ya-hey!

simulate(SimpleRoomR1, stopTime=8E4)

i have trouble with the simulationtime - if i run my model with dymola its all okay (latency maybe 1 min), but if i run with omc i have to wait nearly 1,5h to get a result

if i change the tolerance, then i wait still 15min

simulate(SimpleRoomR1, stopTime=8E4, tolerance=0.1)

can i do something against this? (my computer has cpu = 2ghz and ram = 512mb)


greetings
christian


#####

model ThermalResistor
  extends Modelica.Thermal.HeatTransfer.Interfaces.Element1D;
  parameter Modelica.SIunits.ThermalResistance R;
equation
  Q_flow=1/R*dT;
end ThermalResistor;

model SimpleRoomR1 "Modelling of one wall only"

  ThermalResistor R_Rest_AW(R=0.0170356);
  ThermalResistor R_1_AW(R=0.0170356);
Modelica.Thermal.HeatTransfer.Components.HeatCapacitor C_1_AW(C=1.49028e6);
  Modelica.Thermal.HeatTransfer.Celsius.PrescribedTemperature T_A;
  Modelica.Thermal.HeatTransfer.Celsius.PrescribedTemperature T_I;

equation

  T_A.T=25;
  T_I.T=21;
  connect(T_A.port, R_Rest_AW.port_a);
  connect(T_I.port, R_1_AW.port_b);
  connect(R_Rest_AW.port_b, C_1_AW.port);
  connect(C_1_AW.port, R_1_AW.port_a);

end SimpleRoomR1;

#####

Reply via email to