Exemplo n.º 1
0
        public Smooth(string Nombre, double Delay, int Orden, Auxiliar Aux)
        {
            _Nombre  = Nombre;
            _Delay   = Delay;
            Tipo     = "Smooth";
            Unidades = "Sin Dimensión";
            _orden   = Orden;
            //Nivel _TheInput = new Nivel("TheInput-"+_Nombre,0);
            _valorInicial = 0;// ValorInicial;
            _aux          = Aux;
            _DL           = _Delay / Orden;
            if (_orden == 3)
            {
                //Crear Stocks Auxiliares
                //Nivel

                _level          = new Nivel("_level_" + _Nombre, _valorInicial);
                _level.UpdateFn = () => (_level.j + Reloj.DT * _flow3.j);
                _flow3          = new Tasa("_flow3" + _Nombre);
                _flow3.UpdateFn = () => (_level2.k - _level.k) / _DL;

                //Nivel 1

                _level1          = new Nivel("_level1_" + _Nombre, 0);
                _level1.UpdateFn = () => (_level1.j + Reloj.DT * _flow.j);
                _flow            = new Tasa("_flow" + _Nombre);
                _flow.UpdateFn   = () => (Aux.k - _level1.k) / _DL;

                //Nivel 2
                _level2          = new Nivel("_level2_" + _Nombre, _level.k);
                _level2.UpdateFn = () => (_level2.j + Reloj.DT * _flow2.j);
                _flow2           = new Tasa("_flow2" + _Nombre);
                _flow2.UpdateFn  = () => (_level1.k - _level2.k) / _DL;
            }

            _Numero = Modelo.Agregar(this);
        }
Exemplo n.º 2
0
 private static void tock()
 {
     Modelo.tock();
 }