moptipyapps.dynamic_control.systems package

Examples for differential equations systems with dynamic control.

Here we provide several systems whose state is governed by differential equations that allow us to plug in a controller. The controller receives the state of the system as input and its output is added to one (or more) of the differential equations.

  • The stuart_landau system has a two-dimensional state space. The goal is to navigate the system into the origin. Without control, the system will converge to oscillate in a circle around the origin with a diameter of sqrt(0.1).

  • The lorenz system has a three-dimensional state space. The goal is again to move the system to the origin using a control strategy (and to keep it there). Without control, it will converge to a double-circle oscillation.

Submodules

moptipyapps.dynamic_control.systems.lorenz module

The three-dimensional Lorenz system.

The initial starting point of the work here were conversations with Prof. Dr. Bernd NOACK and Guy Yoslan CORNEJO MACEDA of the Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)) as well as the following two MSc theses and book:

  1. Yuxiang LI (李宇翔). Jet Mixing Enhancement using Deep Reinforcement Learning (基于深度强化学习的射流混合增强控制). MSc Thesis. Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)). January 2023.

  2. Wei SUN (孙伟). Wake Control of 1-2-3 Fluidic Pinball using Deep Reinforcement Learning (基于深度强化学习方法的 1-2-3 流体弹球尾流控制). MSc Thesis. Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)). January 2023.

  3. Guy Yoslan CORNEJO MACEDA, François LUSSEYRAN, and Bernd R. NOACK. xMLC: A Toolkit for Machine Learning Control, First Edition. Machine Learning Tools in Fluid Mechanics, Vol 2. Shenzhen & Paris; Universitätsbibliothek der Technischen Universität Braunschweig. 2022 https://doi.org/10.24355/dbbs.084-202208220937-0

moptipyapps.dynamic_control.systems.lorenz.LORENZ_111: Final[System] = lorenz

The Lorenz system with 111 training points.

moptipyapps.dynamic_control.systems.lorenz.LORENZ_4: Final[System] = lorenz

The Lorenz system with 4 training points.

moptipyapps.dynamic_control.systems.lorenz.make_lorenz(n_points)[source]

Create the Lorenz system.

Parameters:

n_points (int) – the number of training points

Return type:

System

Returns:

the Lorenz system

moptipyapps.dynamic_control.systems.stuart_landau module

The two-dimensional Stuart-Landau system.

The initial starting point of the work here were conversations with Prof. Dr. Bernd NOACK and Guy Yoslan CORNEJO MACEDA of the Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)) as well as the following two MSc theses and book:

  1. Yuxiang LI (李宇翔). Jet Mixing Enhancement using Deep Reinforcement Learning (基于深度强化学习的射流混合增强控制). MSc Thesis. Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)). January 2023.

  2. Wei SUN (孙伟). Wake Control of 1-2-3 Fluidic Pinball using Deep Reinforcement Learning (基于深度强化学习方法的 1-2-3 流体弹球尾流控制). MSc Thesis. Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)). January 2023.

  3. Guy Yoslan CORNEJO MACEDA, François LUSSEYRAN, and Bernd R. NOACK. xMLC: A Toolkit for Machine Learning Control, First Edition. Machine Learning Tools in Fluid Mechanics, Vol 2. Shenzhen & Paris; Universitätsbibliothek der Technischen Universität Braunschweig. 2022 https://doi.org/10.24355/dbbs.084-202208220937-0

moptipyapps.dynamic_control.systems.stuart_landau.STUART_LANDAU_111: Final[System] = stuart_landau

The Stuart-Landau system with 111 training points.

moptipyapps.dynamic_control.systems.stuart_landau.STUART_LANDAU_4: Final[System] = stuart_landau

The Stuart-Landau system with 4 training points.

moptipyapps.dynamic_control.systems.stuart_landau.make_stuart_landau(n_points)[source]

Create the Stuart-Landau system.

Parameters:

n_points (int) – the number of training points

Return type:

System

Returns:

the Stuart-Landau system

moptipyapps.dynamic_control.systems.three_coupled_oscillators module

A system of three coupled oscillators.

There are three oscillators located in a two-dimensional plane. Thus, there are a total of six coordinates.

The initial starting point of the work here were conversations with Prof. Dr. Bernd NOACK and Guy Yoslan CORNEJO MACEDA of the Harbin Institute of Technology in Shenzhen, China (哈尔滨工业大学(深圳)) as well as the following paper:

  1. Ruiying Li, Bernd R. Noack, Laurent Cordier, Jacques Borée, Eurika Kaiser, and Fabien Harambat. Linear genetic programming control for strongly nonlinear dynamics with frequency crosstalk. Archives of Mechanics. 70(6):505-534. Warszawa 2018. Seventy Years of the Archives of Mechanics. https://doi.org/10.24423/aom.3000. Also: arXiv:1705.00367v1 [physics.flu-dyn] 30 Apr 2017. https://arxiv.org/abs/1705.00367.

moptipyapps.dynamic_control.systems.three_coupled_oscillators.THREE_COUPLED_OSCILLATORS: Final[System] = 3oscillators

The 3 oscillators system with 4 training points.

moptipyapps.dynamic_control.systems.three_coupled_oscillators.make_3_couple_oscillators(n_points)[source]

Create the oscillator system.

Parameters:

n_points (int) – the number of training points

Return type:

System

Returns:

the Lorenz system