Skip to content

v0.9.0

Compare
Choose a tag to compare
@github-actions github-actions released this 20 Feb 20:33
· 20 commits to main since this release

ModiaBase v0.9.0

Diff since v0.8.1

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 via simulate!(.., 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 a Measurement{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 operator implicitDependency(..)).

  • 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 otherwise logCode=true results in wrong code
    (previously, a u"N" definition in the model was displayed in the code as N which is not correct Julia code).

Merged pull requests: