Skip to content

Commit 6fe29ae

Browse files
committed
README.md improved
1 parent 78b6426 commit 6fe29ae

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

README.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,18 @@
33
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://modiasim.github.io/Modia.jl/stable)
44
[![The MIT License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](https://github.com/ModiaSim/Modia.jl/blob/master/LICENSE)
55

6-
Modia is part of [ModiaSim](https://modiasim.github.io/docs/).
6+
The [Modia Tutorial](https://modiasim.github.io/Modia.jl/stable/Tutorial.html) provides an introduction to Modia. Modia is part of [ModiaSim](https://modiasim.github.io/docs/).
77

8-
The [Modia Tutorial](https://modiasim.github.io/Modia.jl/stable/Tutorial.html) provides an introduction to Modia.
8+
Modia is a Julia package for modeling and simulation of multidomain engineering systems
9+
described by differential equations, algebraic equations, and (space-discretized) partial differential equations. It shares many powerful features of the [Modelica language](https://www.modelica.org/modelicalanguage), together with features not available in Modelica.
910

10-
Modia is a Julia package for modeling and simulation of multidomain engineering systems (electrical, 3D mechanical, fluid, etc.) described by differential equations, algebraic equations, and (space-discretized) partial differential equations. It shares many powerful features of the
11-
[Modelica language](https://www.modelica.org/modelicalanguage), together with new features not available in Modelica.
11+
A user defines a model on a high level with model components (like an electrical resistance, a rotational inertia, a rod with heat transfer, a PI controller etc.) that are physically connected together. A model component is constructed by "expression = expression" equations. The defined model is symbolically transformed to ODE form dx/dt = f(x,t). For example, equations might be analytically differentiated, ODE states selected, linear equation systems numerically solved when evaluating the function. From the transformed model a Julia function is generated that is used to simulate the model with integrators from [DifferentialEquations](https://github.com/SciML/DifferentialEquations.jl). Simulation results are plotted with [ModiaPlot](https://github.com/ModiaSim/ModiaPlot.jl), providing a convenient interface to [GLMakie](https://github.com/JuliaPlots/GLMakie.jl) line plots.
1212

13-
Simulation is performed with [DifferentialEquations.jl](https://github.com/SciML/DifferentialEquations.jl), units are supported via [Unitful.jl](https://github.com/PainterQubits/Unitful.jl) , uncertainty modeling is performed with [Measurements.jl](https://github.com/JuliaPhysics/Measurements.jl), Monte Carlo simulation is performed with [MonteCarloMeasurements.jl](https://github.com/baggepinnen/MonteCarloMeasurements.jl).
13+
Other packages from the Julia eco-systems that are specially supported:
1414

15-
Plotting is performed with package [ModiaPlot.jl](https://github.com/ModiaSim/ModiaPlot.jl) as convenient interface to GLMakie.
15+
- [Unitful](https://github.com/PainterQubits/Unitful.jl) to define and process physical units.
16+
- [Measurements](https://github.com/JuliaPhysics/Measurements.jl) to perform simulations with uncertain parameters and initial values with linear propagation theory.
17+
- [MonteCarloMeasurements](https://github.com/baggepinnen/MonteCarloMeasurements.jl) to perform simulations with uncertain parameters and initial values with particle theory.
1618

1719

1820
## Installation
@@ -26,20 +28,21 @@ julia> ]add Modia, ModiaPlot
2628
It is recommended to also add the following packages, in order that all tests and examples can be executed in your standard environment:
2729

2830
```julia
29-
julia> ]add Measurements, MonteCarloMeasurements, Distributions
31+
julia> ]add Measurements
32+
add MonteCarloMeasurements
33+
add Distributions
34+
add Interpolations
3035
```
3136

32-
## Example
37+
## Examples
3338

34-
The following differential equations describes a damped pendulum:
39+
The following equations describe a damped pendulum:
3540

3641
![Pendulum-Equations](docs/resources/images/PendulumEquations.png)
3742

3843

39-
where *phi* is the rotation angle, *omega* the angular velocity,
40-
*m* the mass, *L* the rod length, *d* a damping constant,
41-
*g* the gravity constant and *r* the vector from the origin of the world system
42-
to the tip of the pendulum. These equations can be defined, simulated and plotted with:
44+
where *phi* is the rotation angle, *omega* the angular velocity, *m* the mass, *L* the rod length, *d* a damping constant, *g* the gravity constant and *r* the vector from the origin of the world system to the tip of the pendulum. These equations can be defined, simulated and plotted with
45+
(note, you can define models also without units, or remove units before the model is processed):
4346

4447
```julia
4548
using Modia, ModiaPlot
@@ -58,7 +61,6 @@ Pendulum = Model(
5861
]
5962
)
6063

61-
6264
pendulum1 = @instantiateModel(Pendulum)
6365
simulate!(pendulum1, Tsit5(), stopTime = 10.0u"s", log=true)
6466
plot(pendulum1, [("phi", "w"); "r"], figure = 1)
@@ -68,8 +70,7 @@ The result is the following plot:
6870

6971
![Pendulum-Figure](docs/resources/images/PendulumFigures.png)
7072

71-
Normally distributed uncertainty can be added, simulated and plotted
72-
in the following way:
73+
Simulation and plotting of the pendulum with normally distributed uncertainty added to some parameters is performed in the following way:
7374

7475
```julia
7576
using Measurements

0 commit comments

Comments
 (0)