Coder Social home page Coder Social logo

tbeu / modelicatableadditions Goto Github PK

View Code? Open in Web Editor NEW
15.0 5.0 5.0 1.53 MB

📊 Extension of the CombiTable blocks of the Modelica Standard Library to additionally support cubic interpolation and reading of CSV, EPW (EnergyPlus Weather) and JSON files

Home Page: https://doi.org/10.3384/ecp21181141

License: BSD 2-Clause "Simplified" License

Modelica 15.52% C 78.25% Makefile 0.16% CMake 1.79% Python 1.51% C++ 2.77%
modelica modelica-library

modelicatableadditions's Introduction

ModelicaTableAdditions

Free Modelica library for univariate and bivariate interpolation and extrapolation in lookup-tables.

Status

CI checks GitHub license

Library description

ModelicaTableAdditions is an extension of the CombiTable blocks of the Modelica Standard Library to support reading CSV, EPW (EnergyPlus Weather) and JSON files. An overview of the library is provided in

Thomas Beutlich and Dietmar Winkler. Efficient Parameterization of Modelica Models. In: Proceedings of the 14th International Modelica Conference. Ed. by Martin Sjölund, Lena Buffoni, Adrian Pop, and Lennart Ochel. Linköping, Sweden, September 2021. DOI: 10.3384/ecp21181141.

Some more implementation details have been published earlier in

Thomas Beutlich, Gerd Kurzbach and Uwe Schnabel. Remarks on the Implementation of the Modelica Standard Tables. In: Proceedings of the 10th International Modelica Conference. Ed. by Hubertus Tummescheit and Karl-Erik Årzén. Lund, Sweden, March 2014. DOI: 10.3384/ecp14096893.

Main features

  • Read support of file formats
    • CSV
    • EPW (EnergyPlus Weather)
    • JSON
    • MATLAB MAT of version v4, v6, v7 (and v7.3 depending on Modelica tool)
    • MOS (Text)
  • Univariate interpolation by
    • Constant segments
    • Linear segments
    • Akima splines
    • Natural cubic splines
    • Fritsch-Butland splines
    • Steffen splines
    • Modified Akima splines
  • Bivariate interpolation by
    • Constant segments
    • Bilinear segments
    • Akima splines
    • Natural cubic splines
  • Extrapolation by
    • Constant continuation
    • Continuously differentiable continuation
    • Periodic repetition
    • Extrapolation triggers an error
  • C (and not C++) code for external functions and objects
  • Cross-platform (Windows and Linux)
  • Dependency on the Modelica Standard Library v4.0.0
  • Tested in Dymola and OpenModelica

License

ModelicaTableAdditions is released under the terms of the Simplified BSD License.

Citing

Use the following BibTeX lines to cite the ModelicaTableAdditions library.

@InProceedings{ModelicaTableAdditions,
  title = {{Efficient Parameterization of Modelica Models}},
  author = {Beutlich, Thomas and Winkler, Dietmar},
  pages = {141--146},
  doi = {10.3384/ecp21181141},
  booktitle = {Proceedings of the 14th International Modelica Conference},
  location = {Link\"oping, Sweden},
  editor = {Sj\"olund, Martin and Buffoni, Lena and Pop, Adrian and Ochel, Lennart},
  isbn = {978-91-7929-027-6},
  issn = {1650-3740},
  month = sep,
  series = {Link\"oping Electronic Conference Proceedings},
  number = {181},
  publisher = {Modelica Association and Link\"oping University Electronic Press},
  year = {2021}
}

Development and contribution

You may report any issues with using the Issues button.

Contributions in shape of Pull Requests are always welcome.

modelicatableadditions's People

Contributors

henrikt-ma avatar tbeu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

modelicatableadditions's Issues

Allow reading *.csv via header names instead of column numbers

@tbeu: Is it possible to implement a function that reads in the *.csv header line, which contains the variable names, and to read in the values of these columns in the order of stated strings?

Approximately like in this screenshot:
image

One further nice feature would of cause be, if the unit (e. g. in squared brackets in the column name) would be automatically set for the simulation. But I assume Modelica Specifications does not allow this kind of manipulation during translation?

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.