Category Archives: Julia

JuliaCon 2023 Presentations Featuring JuliaHub Presenters

By: Andrew Claster

Re-posted from: https://info.juliahub.com/blog/juliacon2023-presentations-juliahub

JuliaHub presenters took part in at least 24 presentations during JuliaCon 2023 July 26-28 at the Massachusetts Institute of Technology (MIT) in Cambridge, Massachusetts. These presentations are now available on YouTube, along with more than 200 other JuliaCon 2023 presentations. Click here to watch all JuliaCon 2023 presentations, or click the links below to watch each video.

State Estimation for High-index DAEs

By: Fredrik Bagge Carlson

Re-posted from: https://info.juliahub.com/blog/state-estimation-high-index-daes

Introduction

In a previous blog post, we spoke about how to tune a Kalman filter, a widely used state estimator for linear dynamical systems. Unfortunately, not all practically occurring systems are represented sufficiently well with linear dynamics affected by Gaussian noise. In fact, such assumptions are almost never satisfied completely, even if they may be good enough in many situations. In this post, we will take a step up in sophistication and consider nonlinear systems expressed as differential-algebraic equations, and explore the challenges and opportunities that arise when performing state estimation and virtual sensing for this richer set of systems.

Differential-Algebraic Equations

Modern equation-based modeling tools, such as ModelingToolkit, allow the user to quickly and in a component-based fashion, model complex real-world systems. Such tools often produce differential-algebraic equation models (DAEs), i.e., the dynamics may include both differential equations and algebraic equations. The standard Kalman filter, and most of its nonlinear extensions, do not deal with algebraic equations, so how do we estimate the state for such a DAE system?

Before we proceed, we define some notion. Let the dynamic equations of the system we want to estimate the state of be written as

$$M\dot x(t) = f(x(t),u(t))$$

where $$M$$ is called a “mass matrix”, $$x$$ is the state (technically, since we are dealing with DAEs, it’s a descriptor) and $$u$$ is the input. If we take $$M=I$$, we have a standard ODE system, if $$M$$ is invertible, we can easily convert this system to an ODE system like $$ẋ=M^-1f(x,u)$$, so the interesting case is when $$M$$ is singular. A commonly occurring special case is when $$M$$ has the form

$$\left\lbrack \matrix{1 & 0\cr 0 & 0} \right\rbrack$$

i.e., the system can be written as

$$\left\lbrack \matrix{\dot x_\delta \cr 0} \right\rbrack = f(x,u)$$

where $$\dot x_\delta$$ includes the derivatives of the differential state variables only. In this form, we have $$f$$ containing a number of ordinary differential equations, followed by one or several algebraic equations $$0=g(x,u)$$

Differential-equation solvers that support DAEs often make use of a nonlinear root finder that continuously solves the equation $$0=g(x,u)$$ in order to simulate the system.

Now, how do we estimate the state descriptor $$x$$ in a DAE system? This question is much more nuanced than when we’re dealing with systems of ordinary differential equations only. How come?

When we design a state estimator, we must come up with some model of the disturbances that affect the dynamics and the measurements. This disturbance model is usually designed to include both unmeasured inputs that affect the system, but also to mitigate the effects of model error. Modeling any physical system perfectly well is impossible, and we must somehow account for the fact that our dynamic equations are an imperfect representation of the true dynamics that govern the system. As detailed in the previous post, the Kalman filter models these disturbances as Gaussian noise, but for nonlinear DAE systems, things can quickly become more challenging.

Dr. Michael Tiller Joins As Senior Director of Product Management for JuliaSim

By: Mischa St. Amand

Re-posted from: https://info.juliahub.com/blog/michael-tiller-juliahub

JuliaHub is pleased to announce that Dr. Michael Tiller has joined our leadership team as the Senior Director of Product Management for JuliaSim, the next-generation, cloud-based platform for model-based design that uses modern scientific machine learning (SciML) techniques and equation-based digital twin modeling and simulation to accelerate simulations by up to 500x.

Michael is a well-known modeling and simulation luminary, one of the contributors to the Modelica modeling language, creator of Modelica University, and author of two books including Modelica by Example, which have collectively been translated into Chinese, Korean, and Japanese. With more than 25 years of expertise at industry-leading organizations like Ford Motor Company and Ricardo, Michael has an unending fascination with new and interesting ways to harness computers and software to improve the way complex engineering problems are overcome.