/encalmo

Scala library designed to facilitate modeling and documenting complex civil engineering calculations.

Primary LanguageScala

Synopis

What the project does, the problem it solves, etc.

Encalmo is a Scala library designed to facilitate modeling and documenting of recurrent engineering calculations.

  • Goal: You are modeling calculations but Encalmo does it for you and document, step by step, in a pretty way (html + mathml, pdf, latex and so on).
  • Range of applications: real-life and educational structural engineering calculations

Why it does it this way, benefits and drawbacks

Enclamo uses powers of the Scala language:

  • DSL capabilities (operator is a method, space instead of dot operator, implicit conversions, objects, default parameters) for easy-to-read and friendly (mathematical) appearance of user's code
  • flexible type system, pattern matching, implicits and collections for easy modeling of transformations and calculations under the hood

Instructions that detail how the project is compiled, deployed and used.

In the current phase Encalmo is a scala library, operated with unit tests :-), in the future combined with dedicated web gui.

Main features

  • easy calculations using symbolic expressions
  • automatic units of values management and conversions
  • advanced MathML, HTML and PDF output with custom styling
  • FEA modelling with Z88