public InternalCombustionEngineSimulator(SimulationParameters parameters, Base.Temperature ambientTemperature)
 {
     this.ambientTemperature = ambientTemperature;
     this.parameters         = parameters;
     this.modelTimeStep      = TimeSpan.FromMilliseconds(2000);
     this.points             = this.parameters.CrankshaftSpeedToTorquePoints.OrderBy(point => point.X).ToArray();
     this.stop      = false;
     this.tolerance = 1e-1;
 }
        void CoolEngine(object engineObj)
        {
            var engine = ( InternalCombustionEngine )engineObj;

            while (!stop)
            {
                Thread.Sleep(modelTimeStep);

                Base.Temperature temp = GetCoolingTemperature(engine);
                engine.Cool(temp);

                Console.WriteLine("Cool engine \t by {0} degrees celsius", temp.Celsius);
            }
        }
Пример #3
0
 public void Cool(Base.Temperature temp)
 {
     temperature.Celsius -= temp.Celsius;
 }
Пример #4
0
 public void Heat(Base.Temperature temp)
 {
     temperature.Celsius += temp.Celsius;
 }
Пример #5
0
 public abstract void Start(Base.Temperature temperature);
Пример #6
0
 public AbstractEngine()
 {
     this.temperature = new Base.Temperature(0);
 }
Пример #7
0
 public override void Start(Base.Temperature temperature)
 {
     this.CrankshaftSpeed = 0;
     Temperature.Celsius  = temperature.Celsius;
 }