Releases: ModiaSim/ModiaBase.jl
v0.11.1
ModiaBase v0.11.1
Merged pull requests:
- Add nonlinear equation system solver (#9) (@GerhardHippmann)
v0.11.0
ModiaBase v0.11.0
- Moved ModiaBase.Symbolic.makeDerVar to Modia (because makeDerVar needs FloatType for
generating type-stable code and FloatType is available in Modia but not in ModiaBase).
Merged pull requests:
- Merge main into development (#8) (@MartinOtter)
v0.10.0
ModiaBase v0.10.0
Non-backwards compatible changes
-
EquationAndStateInfo.jl and StateSelection.jl moved to Modia (ModiaLang is merged into Modia), because
the AST generation in these files depends on details of CodeGeneration.jl of Modia/ModiaLang. -
TestLinearEquations.jl also moved to Modia/ModiaLang.
Merged pull requests:
- Mo move ast to modia (#7) (@MartinOtter)
v0.9.2
ModiaBase v0.9.2
- Minor (efficiency) improvement of linear equation system if iteration variables are SVectors.
v0.9.1
v0.9.0
ModiaBase v0.9.0
Non-backwards compatible improvements
- Parameter values in the code are now type cast to the type of the parameter value from the
@instantiatedModel(..)
call. The benefit is that access of parameter values in the code is type stable
and operations with the parameter value are more efficient and at run-time no memory is allocated.
Existing models can no longer be simulated, if parameter values provided viasimulate!(.., merge=xx)
are not
type compatible to their definition. For example, an error is thrown if the @instantedModel(..) uses a Float64 value and the
simulate!(.., merge=xx)
uses aMeasurement{Float64}
value for the same parameter.
Other improvements
-
Hierarchical names in function calls supported (e.g.
a.b.c.fc(..)
). -
Functions can return multiple values, e.g.
(tau1,tau2) = generalizedForces(derw1, derw2)
. -
Large speedup of symbolic transformation, if function depends on many input (and output) arguments
(includes new operatorimplicitDependency(..)
). -
Support for StaticArrays variables (the StaticArrays feature is kept in the generated AST).
-
Support for Array variables (especially of state and tearing variables)
where the dimension can change after @instantiateModel(..) -
Included DAE-Mode in solution of linear equation system (if DAE integrator is used and all unknowns of a linear
equation system are part of the DAE states, solve the linear equation system during continuous integration
via DAE solver (= usually large simulation speed-up, for larger linear equation systems) -
Improved code generation of linear equation systems lead to more efficient solution of linear equation systems.
Bug fixes
- Do no longer expand the unit macro in the AST, such as
u"N"
, because otherwiselogCode=true
results in wrong code
(previously, au"N"
definition in the model was displayed in the code asN
which is not correct Julia code).
Merged pull requests:
- Branch merge development to main2 (#6) (@MartinOtter)
v0.8.1
v0.8.0
ModiaBase v0.8.0
- Require Julia 1.7
- Upgrade Manifest.toml to version 2.0
- Update Project.toml/Manifest.toml
v0.7.8
ModiaBase v0.7.8
- Tests of TestDifferentiate.jl corrected to comply with DiffRules > 1.0
- Scaling introduced to improve numerics when constructing A-matrix of linear equation system.