Skip to content

Detect purely algebraic systems, use better interpolation method #36

@AnHeuermann

Description

@AnHeuermann

Models like Modelica.Blocks.Examples.BusUsage and Modelica.Electrical.Analog.Examples.OpAmps.Subtracter don't have state variables. The used ODE solver Rodas5P doesn't limit the error on interpolations of algebraic variables.

Model:   Modelica.Electrical.Analog.Examples.OpAmps.Subtracter
┌ Warning: Verbosity toggle: rosenbrock_no_differential_states 
│  Rosenbrock methods on equations without differential states do not bound the error on interpolations.
└ @ OrdinaryDiffEqCore /home/runner/.julia/packages/OrdinaryDiffEqCore/zQTpZ/src/solve.jl:163
┌ Warning: Verbosity toggle: rosenbrock_no_differential_states 
│  Rosenbrock methods on equations without differential states do not bound the error on interpolations.
└ @ OrdinaryDiffEqCore /home/runner/.julia/packages/OrdinaryDiffEqCore/zQTpZ/src/solve.jl:163

Add a backup solver like Rodas5Pr for these models. Detect that they need to be solved with a limit on the residuals to prevent simulation results like

Image

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions