Code Monkey home page Code Monkey logo

eco's Introduction

%% Info Open source repository for ECO

  • ECO stands for economic combustion optimization
  • ECO solves for the optimal injector inputs of a direct-injection compression-ignition engine
  • The continuous-time OCP is formulated with the software packages acados and casadi and discretized by an explicit fourth-order Runge-kutta integration scheme and multiple shooting. The resulting NLP is solved by sequential quadratic programming (SQP) using HPIPM with a condensed horizon of 5. Furthermore, the Hessian is regularized by a Levenberg-Marquardt Regularization.

%% Additional Software Packages Please install additional software in the folder '04_external'

%% Exemplary scripts In order to run the exemplary scripts, please do the following

  1. add all folders and subfolders to the working path command window: run path_set.m
  2. create s-functions necessary to run ECO in simulink command window: run main_InjOpt.m
  3. run exemplary file for use of ECO in matlab command window: run mainMATLAB.m
  4. run exemplary file for use of ECO in Simulink command window: run mainSimulink.m

The exemplary file for matlab highlights how ECO can be used to obtain optimal injector inputs under varying constraints which are set by the user. Make sure to initialize the solver with initial values which are close to the solution previously obtained. Otherwise, robust convergence to a feasible solution is not guaranteed.

The exemplary file for simulink highlights how the solutions of ECO can be used in a real-time controller as feedforward control inputs. The bounds, which are not met, can be adapted by a simple PI-controller. The simulink model presented can be used for compilation on embedded systems

%% Cite the code DOI

eco's People

Contributors

giomoretto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.