This paper discusses the typical engineering workflow of an aircraft hydraulic actuator developmentenhanced using Modelon Hydraulics library and the new Modelon Impact environment.Modelon Impactconsistent with Modelon's philosophyenables having a more collaborative development and maintains more continuity between different phases of design cycle as well as democratizes models by making it available in different forms including dedicated apps.In order to cover the scope of the engineering design workflow, several steps are discussed:• Specification of the system requirements through test scenarios • Sizing of the system based on a steady-state design point • Re-use of the sized parameters for simulation of the model • Performing design verification, based on dynamic simulation scenarios • Export of the model using the Functional Mock-Up Interface standard, e.g, for cosimulation with flight control laws As most realistic engineering workflows involve several teams and, therefore, several tools, this paper discusses the openness and connectivity of the proposed Modelon solution.
Introduction ......................................................................................................................................... 1 OPTIMICA Compiler Toolkit ................................................................................................................ 2 Runtime instantiation in OCT .............................................................................................................. 2 Interactive HTML diagnostics ............................................................................................................. 3 High-performance storage of simulation data ................................................................................ 3 Improve JastAdd generated code ................................................................................................... 4 Index reduction with arrays................................................................................................................ 4 Dynamic support for mixing FMUs of different bitset........................................................................ 5 Python model diagnostics package ................................................................................................. 5 System modeling and simulation platform of the future ................................................................. 6
We consider dynamic optimization problems for systems described by differential-algebraic equations (DAEs). Such problems are usually solved by discretizing the full DAE. We propose techniques to symbolically eliminate many of the algebraic variables in a preprocessing step before discretization. These techniques are inspired by the causalization and tearing techniques often used when solving DAE initial value problems. Since sparsity is crucial for some dynamic optimization methods, we also propose a novel approach to preserving sparsity during this procedure. The proposed methods have been implemented in the open-source JModelica.org platform. We evaluate the performance of the methods on a suite of optimal control problems solved using direct collocation. We consider both computational time and probability of solving the problem in a timely manner. We demonstrate that the proposed methods often are an order of magnitude faster than the standard way of discretizing the full DAE, and also significantly increase probability of successful convergence.
As automatic sensing and information and communication technology get cheaper, building monitoring data becomes easier to obtain. The availability of data leads to new opportunities in the context of energy efficiency in buildings. This paper describes the development and validation of a data-driven grey-box modelling toolbox for buildings. The Python toolbox is based on a Modelica library with thermal building and Heating, Ventilation and Air-Conditioning models and the optimization framework in JModelica.org. The toolchain facilitates and automates the different steps in the system identification procedure, like data handling, model selection, parameter estimation and validation. To validate the methodology, different grey-box models are identified for a single-family dwelling with detailed monitoring data from two experiments. Validated models for forecasting and control can be identified. However, in one experiment the model performance is reduced, likely due to a poor information content in the identification data set.
This contribution concerns the development of generic methods and tools for robust optimal control of high-pressure liquid chromatographic separation processes. The proposed methodology exploits a deterministic robust formulation, that employs a linearization of the uncertainty set, based on Lyapunov differential equations to generate optimal elution trajectories in the presence of uncertainty. Computational tractability is obtained by casting the robust counterpart problem in the framework of bilevel optimal control where the upper level concerns forward simulation of the Lyapunov differential equation, and the nominal open-loop optimal control problem augmented with the robustified target component purity inequality constraint margin is considered in the lower level. The lower-level open-loop optimal control problem, constrained by spatially discretized partial differential equations, is transcribed into a finite dimensional nonlinear program using direct collocation, which is then solved by a primal-dual interior point method. The advantages of the robustification strategy are highlighted through the solution of a challenging ternary complex mixture separation problem for a hydrophobic interaction chromatography system. The study shows that penalizing the changes in the zero-order hold control gives optimal solutions with low sensitivity to uncertainty. A key result is that the robustified general elution trajectories outperformed the conventional linear trajectories both in terms of recovery yield and robustness.
We present the open-source software framework in JModelica.org for numerically solving large-scale dynamic optimization problems. The framework solves problems whose dynamic systems are described in Modelica, an open modeling language supported by several different tools. The framework implements a numerical method based on direct local collocation, of which the details are presented. The implementation uses the open-source third-party software package CasADi to construct the nonlinear program in order to efficiently obtain derivative information using algorithmic differentiation. The framework is interfaced with the numerical optimizers IPOPT and WORHP for finding local optima of the optimization problem after discretization. We provide an illustrative example based on the Van der Pol oscillator of how the framework is used. We also present results for an industrially relevant problem regarding optimal control of a distillation column.
The Functional Mock-up Interface standard allows to generate stand-alone sub-systems which can be simulated and verified individually.In this paper we present a design of a model aggregation which allows to simulate several Functional Mock-up Units as a coupled model.The formulation is based on Assimulo as a numerical integration environment.Assimulo problem classes are extended to a class for aggregated problems which collects information provided by the Functional Mockup Units through the tool PyFMI together with Python based problem classes defined by Assimulo.This allows to set-up test environments of complex models composed of several sub-systems.
During the last three decades, a vast variety of methods to numerically solve ordinary differential equations and differential algebraic equations has been developed and investigated. The methods are mostly freely available in different programming languages and with different interfaces. Accessing them using a unified interface is a need not only of the research community and for education purposes but also to make them available in industrial contexts.An industrial model of a dynamic system is usually not just a set of differential equations. The models today may contain discrete controllers, impacts or friction resulting in discontinuities that need to be handled by a modern solver in a correct and efficient way. Additionally, the models may produce an enormous amount of data that puts strain on the simulation software.In this paper, Assimulo is presented. It is a unified high-level interface to solvers of ordinary differential equations and is designed to satisfy the needs in research and education together with the requirements for solving industrial models with discontinuities and data handling. It combines original classical and modern solvers independent of their programming language with a well-structured Python/Cython interface. This allows to easily control parameter setting and discontinuity handling for a wide range of problem classes. (C) 2015 International Association for Mathematics and Computers in Simulation (IMACS). Published by Elsevier B.V. All rights reserved.
A polyethylene plant at Borealis AB is modelled in the Modelica language and considered for parameter estimations at grade transitions. Parameters have been estimated for both the steady-state and the dynamic case using the JModelica.org platform, which offers tools for steady-state parameter estimation and supports simulation with parameter sensitivies. The model contains 31 candidate parameters, giving a huge amount of possible parameter combinations. The best parameter sets have been chosen using a parameter-selection algorithm that identified parameter sets with poor numerical properties. The parameter-selection algorithm reduces the number of parameter sets that is necessary to explore. The steady-state differs from the dynamic case with respect to parameter selection. Validations of the parameter estimations in the dynamic case show a significant reduction in an objective value used to evaluate the quality of the solution from that of the nominal reference, where the nominal parameter values are used.
The need for regression testing increases as the size and complexity of software projects grow. The same is true for Modelica libraries and Modelica tools. Large Modelica projects often involves several Modelica tools and libraries which are under development. In those situations, with several orthogonal code bases, the need for systematic regression testing is needed. In this paper we investigate a new way to create and run tests by developing a tool-agnostic testing framework. Additionally a graphical user interface for test authoring and management was created.
Often integrating ordinary differential equations or differential algebraic equations (DAE) do not constitute the problem alone. A common complement is finding the root of an algebraic function (an event function) that depends on the states of the problem. This formulation of a model enables the possibility of including discontinuities, an important part of the Functional Mock-up Interface standard which allows hybrid models of differential algebraic equations. The problem of root-finding during integration is however difficult. Both in a theoretical aspect and as a software problem. An implementation of software for root-finding is done in Assimulo, a Python/Cython wrapper for integrators. The implementation takes the Functional Mock-up Interface standard into consideration. The implementation is made usable for a wide variety of integration algorithms and is also verified and benchmarked with advanced industrial models, showing good indications of being robust and scaling well for large systems.
This paper presents a decomposition strategy applicable to DAE constrained optimization problems. A common solution method for such problems is to apply a direct transcription method and solve the resulting nonlinear program using an interior-point algorithm. For this approach, the time to solve the linearized KKT system at each iteration typically dominates the total solution time. In our proposed method, we exploit the structure of the KKT system resulting from a direct collocation scheme for approximating the DAE constraints in order to compute the necessary linear algebra operations on multiple processors. This approach is applied to find the optimal control profile of a combined cycle power plant with promising results on both distributed memory and shared memory computing architectures with speedups of over 50 times possible.
A combined cycle power plant are modeled and considered for calibration. The dynamic model, aimed for start-up optimization, contains 64 candidate parameters for calibration. The number of parameter sets that can be created are huge and an algorithm called subset selection algorithm is used to reduce the number of parameter sets. The algorithm investigates the numerical properties of a calibration from a parameter Jacobean estimated from a simulation of the model with reasonably chosen parameter values. The calibrations were performed with a Levenberg-Marquardt algorithm considering the least squares of eight output signals. The parameter value with the best objective function value resulted in simulations in good compliance to the process dynamics. The subset selection algorithm effectively shows which parameters that are important and which parameters that can be left out.
This paper shows how different kinds of optimization related task such as offline optimization or optimal control are solved using a combination of Modelica, Optimica, JModelica.organd Python.The application examples presented in this paper are all real industrial applications in the field of Combined Cycle Power Plants.Therefore different workflows have to be combined to solve the underlying task.This paper shows that these workflows can be conveniently connected using Python.
The method is evaluated on two industrially relevant benchmark problems. The first is about vehicletrajectory generation and the second involves startup of power plants. The problems are solved using both the DAE formulation and the ODE formulation and the performance of the two approaches is compared. The ODE formulation is shown to have roughly three times shorter execution time. We also discuss benefits and drawbacks of the two approaches.
This paper presents a framework to apply such ideas to analysis of dynamical systems. A set of tools that can be used for uncertainty analysis of dynamical Modelica models is presented. These tools are made available in the FMI Toolbox for MATLAB. The workflow and tools are demonstrated on a cooling loop design problem.
Systems engineers face the ever increasing chase for reduced time to market, while the systems to develop ever increase in complexity. Software systems design and integration processes have therefor evolved along the well-known V-cycle. This paper will focus on the software integration for mechatronic systems as they develop fast due to high demands and challenging requirements in the automotive industry. The development order of model in the loop (MIL), software in the loop (SIL), processor in the loop (PIL) and hardware in the loop (HIL) can be seen as state of the art practised by many systems engineers. Driver in the loop (DIL) may be in its infancy, but rapidly growing. The novelty presented in this paper is the consistency of the plant models used in the integration chain supporting consistent model data propagation: Functional Mock-up Units (FMU) defined by the open standard of the Functional Mock-up Interface 1 (FMI).
As automatic sensing and Information and Communication Technology (ICT) get cheaper, building monitoring data is easier to obtain.The abundance of data leads to new opportunities in the context of energy efficiency in buildings.This paper describes ongoing developments and first results of data-driven grey-box modelling for buildings.A Python toolbox is developed based on a Modelica library with thermal building and Heating, Ventilation and Air-Conditioning (HVAC) models and the optimisation framework in JModelica.org.The tool chain facilitates and automates the different steps in the system identification procedure, like data handling, model selection, parameter estimation and validation.The results of a system identification and parameter estimation for a singlefamily dwelling are presented.
Many control engineering tasks nowadays rely on the simulation of complex multi-physics systems. Modern tools allow to build the required dynamic models conveniently, thanks to Object-Oriented Modelling languages, e.g., Modelica, and to perform simulations with hardly any additional effort on the part of the analyst. However, when simulation speed is of concern, the same tools fall short of exploiting some useful properties of the model, namely - to focus on the subject of this work - the possibility of partitioning said model in "weakly" coupled submodels. This work proposes an automatic method to perform a structural analysis aimed at identifying weak couplings in the system, providing the information needed for the mentioned partition. This information is here used to feed a mixed-mode integration method, leading to a significant improvement in terms of simulation speed.
a b s t r a c t p r o d u c t i o n d e f a u l t A s s i g n s : : S t m t : : = l h s : : E x p r r h s : : E x p r { s . p p = l h s . p p + + " = " + + r h s . p p + + " ; \ n " ; l h s . e n v = s . e n v ; r h s . e n v = s . e n v ; s . d e f s = e m p t y D e f s ( ) ; s . e r r o r s : = l h s . e r r o r s + + r h s . e r r o r s ; } A d d in g ex te n si on co n st ru ct s in vo lv es w ri ti n g si m ila r pr o d u ct io n s. A dd in g E T C H -l ik e se m an ti c an al ys is . g r a m m a r e d u : u m n : c s : m e l t : a b l e P : e x t e n s i o n s : t y p e C h e c k i n g ; s y n t h e s i z e d a t t r i b u t e t y p e r e p : : T y p e R e p o c c u r s o n E x p r , D e c l s ; a s p e c t p r o d u c t i o n v a r R e f e : : E x p r : : = i d : : I D { e . t y p e r e p = . . . r e t r i e v e f r o m d e c l a r a t i o n f o u n d i n e . e n v . . . ; } a s p e c t p r o d u c t i o n d e f a u l t A s s i g n s : : S t m t : : = l h s : : E x p r r h s : : E x p r { s . e r r o r s < i f i s C o m p a t i b l e ( l h s . t y p e r e p , r h s . t y p e r e p ) t h e n [ ] e l s e [ m k E r r o r ( " I n c o m p a t i b l e t y p e s . . . " ) ] ;