From 8acaca52f9df81e9fb902ff18967372a1b7ba547 Mon Sep 17 00:00:00 2001 From: bnewbold Date: Wed, 15 Jun 2016 16:02:26 -0400 Subject: add last night's notes --- notes/background.txt | 40 +++++++++++++++++++++++++++++++++++++++ notes/examples.txt | 13 +++++++++---- notes/implementation_libs.txt | 44 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 notes/implementation_libs.txt diff --git a/notes/background.txt b/notes/background.txt index e5c1699..4b08c26 100644 --- a/notes/background.txt +++ b/notes/background.txt @@ -22,8 +22,19 @@ Wolfram SystemModeler SysML ("Systems Modeling Language"): UML subset +Systems Tool Kit +military-industrial 3D modeling... thing... +https://en.wikipedia.org/wiki/Systems_Tool_Kit + +Sims.jl +http://tshort.github.io/Sims.jl/design/ + +https://github.com/casadi/casadi/wiki + ### Modelica Stuff +EU spent 75 million on Modelica stuff in 2007-2015. + "World3 in Modelica: Creating System Dynamics Models in the Modelica Framework" (2008) @@ -37,3 +48,32 @@ OpenModelica PySimulator https://github.com/PySimulator/PySimulator/ +Some internal and implementation details are discussed in: +"Introduction to the Dynamic Modelling of Thermo-Fluid Systems using Modelica" +http://staff.polito.it/roberto.zanino/sub1/teach_files/modelica_minicourse/index_modelica.html + +'Flat' vs. 'Object Oriented' modelica modeling +"Consistent terminology: Modeling, DAE, ODE" +http://stackoverflow.com/questions/37354272/consistent-terminology-modeling-dae-ode + +The "Replaceable Submodels" aspect of modelica seems relevant. + +modelica -> C (FMI) -> Javascript (via enscripten) workflow +https://github.com/tshort/openmodelica-javascript + +parsers: + ocaml: https://opam.ocaml.org/packages/modelica_ml/modelica_ml.0.1.1/ + haskell: https://hackage.haskell.org/package/modelicaparser + python: http://kdavies4.github.io/ModelicaRes/ + js: https://www.npmjs.com/package/modelica-parser + js: https://github.com/omuses/moijs + +### GUI/UI For Models + +GME: genric web "box-and-wire" + https://webgme.org/ + +Luna Lang + so far, vaporware + http://www.luna-lang.org/ + diff --git a/notes/examples.txt b/notes/examples.txt index 0035113..895cd12 100644 --- a/notes/examples.txt +++ b/notes/examples.txt @@ -2,15 +2,20 @@ ### Models Simple, equation based: -- Lotka–Volterra -- whatever Fe is the minimal of (function of protons/neutrons? discrete) +- World3 (from limits to growth report) - classic predator-prey (Lotka–Volterra) - attractors - that vegan paper -x Uranium Critical Mass (meh, too complicated) +- whatever Fe is the minimal of (function of protons/neutrons? discrete) - urban subsidized housing (thinking in systems) -- World3 (from limits to growth report) - Pulse Tube Cooler +- Hodgkin–Huxley model for neurons +x Uranium Critical Mass (meh, too complicated) +- three-body, eg + http://nbviewer.jupyter.org/github/pjpmarques/Julia-Modeling-the-World/blob/master/Three-Body%20Problem.ipynb + +Not-Time-Oriented +- high-precision model for water (enthalpy, etc) Economics: - rent control diff --git a/notes/implementation_libs.txt b/notes/implementation_libs.txt new file mode 100644 index 0000000..94a961f --- /dev/null +++ b/notes/implementation_libs.txt @@ -0,0 +1,44 @@ + +##### Julia Web Framework + +Morsel.jl + Classic web framework paradigm. Use this for the wiki. + http://juliawebstack.org/ + +Escher.jl + Sort of PHP-like single-file UIs. + Might be good for exploration/visualization? + + +##### Julia Markdown Rendering + +Try using the Julia built-in stuff, which seems to support basic LaTeX +rendering. +If that isn't powerful enough, or seems to "custom", switch to pandoc as an +external tool. + + +##### Julia Computer Algebra Stuff + +Use Sims.jl for flattening, etc! Otherwise this will be really hard. + +##### Julia Parser Framework (eg, parser generator) + +Parsimonious.jl + Fairly close to BNF? Good tutorial. Start with this. + +PEGParser.jl + Also pretty BNF-like + +ParserCombinator.jl + More Haskell-like. Meh. + +##### GUI Demos + +numeric.js + Has an ODE solver. Use with Elm? + +Tangle.js + Brett's JS widget-y thing. Very simple. + How did he do plots/graphs for those demos? + http://worrydream.com/Tangle/guide.html -- cgit v1.2.3