Next Article in Journal
Capital Structure Theory in the Transport Sector: Evidence from Visegrad Group
Next Article in Special Issue
A Novel Coupled Meshless Model for Simulation of Acoustic Wave Propagation in Infinite Domain Containing Multiple Heterogeneous Media
Previous Article in Journal
Dry Friction Analysis in Doped Surface by Network Simulation Method
Previous Article in Special Issue
Numerical Analysis and Structure Optimization of Concentric GST Ring Resonator Mounted over SiO2 Substrate and Cr Ground Layer
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Defect Analysis of a Non-Iterative Co-Simulation

1
Spyrosoft Solutions d.o.o., Ulica Grada Vukovara 284, 10000 Zagreb, Croatia
2
Faculty of Electrical Engineering and Computing, University of Zagreb, Unska Ulica 3, 10000 Zagreb, Croatia
*
Author to whom correspondence should be addressed.
Mathematics 2023, 11(6), 1342; https://doi.org/10.3390/math11061342
Submission received: 20 January 2023 / Revised: 25 February 2023 / Accepted: 6 March 2023 / Published: 9 March 2023
(This article belongs to the Special Issue Computational Methods and Applications for Numerical Analysis)

Abstract

:
This article presents an analysis of co-simulation defects for a system of coupled ordinary differential equations. The research builds on the theorem that the co-simulation error is bounded if the co-simulation defect is bounded. The co-simulation defect can be divided into integration, output, and connection defects, all of which can be controlled. This article proves that the output and connection defect can be controlled by the co-simulation master by varying the communication step size. A non-iterative co-simulation method with variable communication step size is presented to demonstrate the applicability of the presented research. The orders of the interpolation polynomials used in the co-simulation method are varied in the experimental analysis. The experimental analysis shows how each component of a co-simulation defect affects the co-simulation error. The analysis presented is used to verify the applicability of the proposed approach and to provide guidelines for the configuration of the co-simulation.

1. Introduction

In practice, a network of co-simulation slaves is often used to model complex systems by coupling subsystems on the behavioral description level [1]. The usefulness of this approach comes from the fact that a co-simulation slave can be exported from a simulation tool. Multi-disciplinary teams can use co-simulation to combine information from already developed models from multiple domains. A recent overview of existing co-simulation research can be found in [2]. A Functional Mock-up Interface (FMI) [3,4] has been introduced to standardize the co-simulation interface. This effort allows the coupling of a growing number of commercial simulators [5].
A co-simulation master is an algorithm responsible for the simulation of a co-simulation network. The master calculates the approximation of input signals and controls the execution of slaves. Each slave has a solver of the internal model to calculate its own state and output updates. The responsibility for the quality of co-simulation results is shared between the master and the solvers. The main objective of this article is to develop a practical co-simulation quality assessment and to illustrate its use in a variable-step co-simulation.
An implicit co-simulation master repeats the simulation steps of the slaves until the coupled inputs and outputs match. An explicit co-simulation master executes a single step and continues the execution regardless of the connection error. A comparison of implicit and explicit masters using the example of a two-mass oscillator can be found in [6]. The comparison shows that implicit approaches have larger regions of stability than explicit approaches. Furthermore, Ref. [1] states implicit co-simulation is zero-stable if zero-stable [7] solvers are used. However, an implicit co-simulation requires the option to roll back a step of a co-simulation slave. That option is defined in the FMI standard but is rarely supported in practice. For this reason, only the explicit co-simulation is analyzed in this article.
Another very important reason to focus on explicit co-simulation is that hardware-in-the-loop simulation [8,9] is explicit co-simulation. Hardware co-simulation slaves included in the simulation loop cannot repeat a simulation step. Furthermore, there are very few techniques that can be applied to assess the quality of such a co-simulation. An energy-based quality assessment of an engine-in-the-loop simulation is presented in [10]. In comparison, this article tries to provide an analysis of the whole co-simulation including integration and output equations, and not just the connections. The quality assessment in [10] shows how the quality of power bonds [11] can be analyzed. This article provides a quality assessment applicable to a wider range of co-simulation systems. Connections do not have to be pairs of effort and flow signals. One example of systems that can have connections that are not power bonds is kinematic models in robotics [12].
Error estimation techniques used in ordinary differential equations provide suggestions for evaluating the simulation quality. Most algorithms for solving ordinary differential equations attempt to control either the local error or the defect of a numerical solution [13]. Local error estimation techniques based on Richardson extrapolation for the co-simulation have been presented in [14]. Assuming perfect subsystem integration, that article shows that the global error is bounded in terms of extrapolation error. That technique, however, requires the option to roll back a step of a co-simulation slave.
This article presents a co-simulation quality assessment based on the defect calculation [15,16,17]. The research presented is the continuation of the work presented in [15]. There, the numerical defect of the co-simulation is analyzed. That analysis showed that for co-simulation, when numerical defects are limited, numerical errors are limited. The main parts of this analysis are referenced in the next section.
The analysis in this article and [15] is based on coupled ordinary differential equations. Coupled ordinary differential equations are a special case of differential and algebraic equations. An example of such a system is shown in Figure 1. Ordinary differential equations are used to represent the state equations of systems modeled by co-simulation slaves. Algebraic equations are divided into output and connection equations. This is performed to reflect co-simulation practice, where co-simulation slaves are typically black boxes. State and output equations are not available to the co-simulation master and are therefore colored gray in Figure 1.
This article proposes an explicit variable step co-simulation method based on numerical defect control. A co-simulation slave is responsible for generating its output signals, while the co-simulation master is responsible to solve the connection equation (Figure 1). The state and output equations are grayed out to indicate that they are usually not available to the co-simulation master. However, the output defect depends on the co-simulation step size controlled by the co-simulation master. This is why this article assumes that the output defect should be estimated by the co-simulation master and why the output equations in Figure 1 are lighter colored.
Ref. [15] provides the basis for the defect analysis of the co-simulation. This article continues that work and proposes how to adapt a step size controller [18] to co-simulation defect control. Non-iterative co-simulation in [15] is a fixed-step, multi-rate co-simulation that uses zero-order hold. This article presents a non-iterative single-rate variable-step co-simulation using higher-order interpolation.
The next section shows the basis for the analysis in this work, carried over from [15]. The defect control section introduces an explicit co-simulation variable-step method. That section shows how to calculate the connection defect and estimate the output defect. The proposed method controls the error by varying the communication step size using the PI controller. A simple application of the method is presented in the example section. This application serves to highlight some of the effects of using different orders of interpolation polynomials in co-simulation. The final section of the article contains conclusions and ideas for future work.

2. Error Bounds

This article extends the work performed in [15] with variable step co-simulation presented in the next section and experimental analysis in the following section. There, coupled ordinary differential Equation (1) and their numerical solution (2) are used to analyze numerical errors of the co-simulation. An important result of [15] is Theorem 1. It states that the global error of the co-simulation is limited when the co-simulation defect is limited. It is worth noting that a similar statement is proved in [19] for a system of differential and algebraic equations. The main difference is that algebraic equations in this article are divided into output and connection equations (Figure 1). This section repeats the expressions for coupled ordinary differential equations and the error bounds theorem from [15] (Theorem 1). Coupled ordinary differential equations are the basis for the step size analysis and Theorem 1 justifies the error control presented in the next section.
A co-simulation models a system partitioned into N subsystems connected by the connection function L
x ˙ i ( t ) = f i ( x i ( t ) , u i ( t ) )
y i ( t ) = g i ( x i ( t ) , u i ( t ) )
x i 0 = x 0 i
u ı ι ( t ) = y i l ( t ) , ı , l = L ı , ι
where i is the subsystem index, x i is the state signal, y i is the output signal, u i is the input signal, and x 0 i is the initial state of the subsystem. The numerical solution of the system satisfies the following equations
x ˜ ˙ i ( t ) = f i ( x i ( t ) , u i ( t ) ) + δ x ˜ i ( t )
y ˜ i ( t ) = g i ( x i ( t ) , u i ( t ) ) + δ y ˜ i ( t )
x ˜ i 0 = x 0 i
u ˜ ı ι ( t ) = y ˜ i l ( t ) + δ u ˜ ı ι ( t ) , ı , l = L ı , ι
where the numerical solution of the state, output, and input signals is denoted as x ˜ i , y ˜ i , and u ˜ ı ι , respectively. The signals found by the numerical solution are assumed to be piecewise continuous. The defect introduced to the numerical solution is partitioned into integration δ x ˜ i , output δ y ˜ i , and connection defect δ u ˜ ı ι . The system (1) represents the equations solved by the co-simulation and the system (2) represents the behavior of the solution obtained by the co-simulation.
The numerical solution (1) can be rewritten to
x ˜ ˙ ( t ) = f ( x ˜ ( t ) , u ˜ ( t ) ) + δ x ˜ ( t )
y ˜ ( t ) = g ( x ˜ ( t ) , u ˜ ( t ) ) + δ y ˜ ( t )
u ˜ ( t ) = L y ˜ ( t ) + δ u ˜ ( t )
where signals of all subsystems in (2) are grouped into large column vector signals
x T ( t ) = x 1 T ( t ) x 2 T ( t ) x N T ( t ) y T ( t ) = y 1 T ( t ) y 2 T ( t ) y N T ( t ) u T ( t ) = u 1 T ( t ) u 2 T ( t ) u N T ( t )
The error of the numerical solution (3) is defined as the difference between the numerical and the analytic solution of the system (1)
Δ x ˜ ( t ) = x ˜ ( t ) x ( t ) , Δ y ˜ ( t ) = y ˜ ( t ) y ( t ) , Δ u ˜ ( t ) = u ˜ ( t ) u ( t )
where Δ x ˜ is the integration error, Δ y ˜ the output error and Δ u ˜ the input error of the numerical solution.
Definition 1 
(Lipschitz Continuity). A function f is said to be Lipschitz continuous if there exist constant K f > 0 such that for all x 1 , x 2 R | x | :
f ( x 2 ) f ( x 1 ) K f x 2 x 1
The constant K f is called the Lipschitz constant of the function f .
Definition 1 introduces Lipschitz continuity, which is used to describe the conditions for the uniqueness of the solution for (1) [15]. It is used to formulate Assumption 1 and Theorem 1.
Assumption 1. 
Assume that there exists a Lipschitz continuous function G that explicitly calculates the input signals
u ˜ ( t ) = G ( x ˜ ( t ) , δ y ˜ ( t ) , δ u ˜ ( t ) )
Assume that the aggregated state transition function f  (3a) is Lipschitz continuous. Assume that the aggregated output function g  (3b) is Lipschitz continuous. Assume that the numerical solution (2) is continuous in every subinterval ( t κ 1 , t κ ] .
Theorem 1 
(Error Bounds = Theorem 2.12 in [15]). Suppose Assumption (1) holds. Then, the integration error is limited
Δ x ˜ ( t ) e K f ( t t 0 ) Δ x ˜ ( t 0 ) + 1 K f e K f ( t t 0 ) 1 δ t 0 , t
the input error satisfies is limited
Δ u ˜ ( t ) K G e K f ( t t 0 ) Δ x ˜ ( t 0 ) + K G K f e K f ( t t 0 ) 1 δ t 0 , t + K G δ y ˜ ( t ) + K G δ u ˜ ( t )
and the output error satisfies is limited
Δ y ˜ ( t ) K g 1 + K G e K f ( t t 0 ) Δ x ˜ t 0 + K g K f 1 + K G e K f ( t t 0 ) 1 δ t 0 , t + 1 + K g K G δ y ˜ ( t ) + K g K G δ u ˜ ( t )
In [15], it is shown that Theorem 1 requires the same conditions as the uniqueness of the solution for (1). In addition, the numerical solution obtained by co-simulation (2) must be piecewise continuous. This theorem provides the justification for the defect control presented next.

3. Defect Control

Theorem 1 suggests that the step size control of the co-simulation defect can be used to limit the global error of the co-simulation. According to [3], a communication step size is the “distance between two subsequent communication points (also known as sampling rate or macro step size)”, where communication points are “time grid for data exchange between master and slaves in a co-simulation environment (also known as sampling points or synchronization points)”. This section describes how to control the communication step size of a slave using a non-iterative variant of the Jacobi co-simulation method (Algorithm 1). The proposed co-simulation method is shown in Figure 2. The variable-step variant of the method generates a sequence of communication step sizes H : N R 0 with the explicit version of the PI control procedure introduced in [18]. The defect controlled by the proposed method is based on the connection defect (2d) and/or the output defect (2b).
The numerical defect must be limited to ensure that the co-simulation error is limited. Theorems 2 and 3 show that the defect can be limited by reducing the communication step size. This section shows how to calculate the connection defect and estimate the output defect. Theorem 4 shows that the output defect estimate used is asymptotically correct.
The sequence of communication points T : N 0 R 0 is determined by the communication step sizes
T k = T k 1 + H k
The sequence of points t κ at which a numeric solution discontinuity can occur is marked differently than the sequence of communication points T k . The reason is that discontinuities in the numeric solution may occur during slave integration. Each slave can perform the integration with different individual integration steps (sometimes referred to as a micro step size ). It is assumed that the internal solver of the slave takes over the responsibility for the control of the integration step size. Control of the integration step size may be used to reduce the integration error [16,17]. Theorem 1 suggests that integration defect reduction is an important factor for the quality of co-simulation. This article focuses on controlling the size of the communication step with respect to output and connection defects. This choice respects the black box character of co-simulation slaves (Figure 1) and leaves the integration defects in the responsibility of internal slave solvers.
Co-simulation is the simulation of a continuous time model with a computer, a discrete system. The co-simulation generates samples of the signal and its derivatives at communication points. This description is consistent with [3]. The reconstruction of output signals from such samples can be obtained using the Taylor polynomial
y ˜ i T k 1 , T k ( t ) = n = 0 n i d n y ˜ i T k 1 , T k dt n T k t T k n n !
where the samples of the output signal and its derivatives are determined by the co-simulation slave. The output signal of the i th co-simulation slave is a piecewise polynomial signal
y ˜ i ( t ) = y ˜ i T k 1 , T k ( t ) , T k 1 < t T k
The inputs of the i th co-simulation slave are extrapolated with the following polynomial
u ˜ i T k 1 , T k ( t ) = m = 0 m i d m u ˜ i T k 1 , T k dt m T k 1 t T k 1 m m !
where the samples of the input signal and its derivatives are determined by the co-simulation master. A non-iterative Jacobi co-simulation master (Figure 2) determines the input signals in the k th step with the connected output signals from the ( k 1 ) s t step
d m u ˜ ı ι T k , T k + 1 dt m ( T k 1 ) = d m y ˜ i l T k 2 , T k 1 dt m ( T k 1 ) , ı , l = L ı , ι , m m ı , m n ı
The input signal of the i th co-simulation slave is a piecewise polynomial signal
u ˜ i ( t ) = u ˜ i T k 1 , T k ( t ) , T k 1 < t T k
The connection defect (2d) can be calculated by comparing the extrapolation polynomials for the output (12) and input (14) signals, i.e.,
δ u ˜ ı ι T k 1 , T k ( t ) = u ˜ ı ι T k 1 , T k ( t ) y ˜ i l T k 1 , T k ( t ) , ı , l = L ı , ι
where individual scalar signals are selected according to the connection function.
This article assumes that the output signal and all its derivatives are perfectly sampled, i.e., the output defect can only deviate from zero between the communication points
d n y ˜ i T k 1 , T k dt n T k = d n g i x ˜ i ( t ) , u ˜ i ( t ) dt n t = T k , n = 0 , , n i
Lemma 1. 
Assume that the numerical solution for the input signals is bounded u ˜ ı ( t ) B u ˜ ı , the numerical solution for the state signal is bounded x ˜ ı ( t ) B x ˜ ı , the integration defects are δ x ˜ ı ( t ) = O ( H N i k ) , and the state transition function f ı is Lipschitz continuous (Definition 1). Then
lim H k 0 x ˜ ı ( T k ) x ˜ ı ( T k 1 ) = 0
Proof. 
Since δ x ˜ ı ( t ) = O ( H N i k ) there exists C , H 0 R > 0 such that for all H k H 0
δ x ˜ ı ( t ) C H 0 N i
By the integration of (2a)
x ˜ ı ( T k ) x ˜ ı ( T k 1 ) = T k 1 T k f x ˜ ı ( τ ) , u ˜ ı ( τ ) + δ x ˜ ı ( τ ) d τ
the following inequality is obtained
x ˜ ı ( T k ) x ˜ ı ( T k 1 ) T k 1 T k 1 + H k K f B x ˜ ı + K f B u ˜ ı + C H 0 N i d τ
The statement of the lemma (19) follows from the previous inequality
x ˜ ı ( T k ) x ˜ ı ( T k 1 ) K f B x ˜ ı + K f B u ˜ ı + C H 0 N i H k
   □
Theorem 2 
(Connection defect). Assume that the numerical solution for the input signals is bounded u ˜ ı ( t ) B u ˜ ı , the numerical solution for the state signal is bounded x ˜ ı ( t ) B x ˜ ı , the integration defects are δ x ˜ ı ( t ) = O ( H N ı k ) , the state transition function f ı is Lipschitz continuous (Definition 1), the output function of the ı t h subsystem is
g ı ( x ˜ ı ( t ) , u ˜ ı ( t ) ) = g ı ( x ˜ ı ( t ) )
and the step sizes of connected simulators i , ı I F . The connection defect (2d) of a numerical solution converges in terms of the communication step size
lim H k 0 δ u ˜ ı ι T k 1 , T k ( t ) = 0
Proof. 
From (14)–(18) and (24) it follows that
δ u ˜ ı ι T k 1 , T k ( t ) = m = 0 min ( m ı , n ı ) d m g ı l x ˜ ı ( t ) dt m t = T k 1 t T k 1 m m ! n = 0 n ı d n g ı l x ˜ ı ( t ) dt n t = T k t T k n n ! = g ı l x ˜ ı ( T k 1 ) g ı l x ˜ ı ( T k ) + O ( H k )
where ı , l = L ı ˘ , ι ˘ . Since g ı is Lipschitz continuous it follows that
g ı l x ˜ ı ( T k 1 ) g ı l x ˜ ı ( T k ) K g i x ˜ ı ( T k 1 ) x ˜ ı ( T k )
The statement of the theorem follows from Lemma 1, (26) and (27).    □
Theorem 2 specifies the conditions under which the connection defect converges with respect to the communication step size. A number of simplifications are adopted to prove Theorem 2. In (26), the higher order terms are ignored to simplify the proof. The goal was to prove that the connection defect was converging in terms of communication step size, rather than finding the smallest limit. The next section shows the order of convergence of the connection defect in a simple example. Bounded inputs and state signals are reasonable assumptions for a stable system and a stable co-simulation. The assumptions (24), however, restrict the models used to those that have no direct output dependency on input signals. If this simplification is not applied, it is possible to construct a system with an algebraic loop that makes the co-simulation unstable. The subject of future work will be to analyze how some or all of these simplifications can be discarded or at least relaxed.
Theorem 3 
(Output defect). Suppose the function g i is continuously differentiable and the calculated state signal x ˜ i is continuously differentiable. Then, the output defect (2b) is
δ y ˜ i ( t ) = O H n i + 1 k
Proof. 
From (14) and the fact that g i and x ˜ i are continuously differentiable, it follows that
g x ˜ i ( t ) , u ˜ i ( t ) = n = 0 n i d n i g x ˜ i ( τ ) , u ˜ i ( τ ) d τ n i τ = T k t T k n n ! + O H n i + 1 k
for T k 1 < t T k The expression (28) follows from (2b), (12) and (18).    □
Theorem 3 shows that the output defect can be controlled by reducing the communication step size. Theorem 2 and Theorem 3 justify the communication step size control. Numerical solvers are expected to minimize the remaining component of the numerical defect, the integration defect (2a). The rest of the section analyzes how to estimate the output defect.
For the purpose of estimating the output defect between the communication points, a Hermite interpolation polynomial [20] is łintroduced
y ^ i T k 1 , T k ( t ) = y ˜ i ( t ) + T k t n i + 1 0.5 H k n i + 1 g i x ˜ i T k H k 2 , u ˜ i T k H k 2 y ˜ i T k H k 2
A Hermite interpolation polynomial is consistent with multiple samples of the signals and their derivatives. The polynomial used in this paper is consistent with signal values at two communication points and signal derivatives at the later point
y ^ i T k 1 , T k T k H k 2 = g i x ˜ i T k H k 2 , u ˜ i T k H k 2 d n y ^ i T k 1 , T k dt n T k = d n g i x ˜ i ( t ) , u ˜ i ( t ) dt n t = T k , n = 0 , , n i
The Hermite interpolation polynomial is used to obtain an asymptotically correct estimate of the output defect.
Theorem 4 
(Estimate of the Output Defect). The estimation of the output defect is defined as the difference between interpolation polynomials (30) and (12)
δ ^ y ˜ i T k 1 , T k ( t ) = y ˜ i T k 1 , T k ( t ) y ^ i T k 1 , T k ( t )
Suppose the function g i is n i + 1 times continuously differentiable on the interval t T k 1 , T k and
x ˜ i T k 1 , T k ( t ) = n = 0 n i + 1 d n x ˜ i dt n ( T k ) t T k n n ! + O H n i + 2 k
Then, the estimate of the output defect (32) is asymptotically correct, i.e., for each α 0 , 1
lim H k 0 δ ^ y ˜ i T k 1 , T k ( t ) δ y ˜ i T k 1 , T k ( t ) = 1 , t = T k 1 + α H k
Proof. 
Since g i is continuously differentiable, it is also Lipschitz continuous. Lipschitz continuity and (33) imply
g i x ˜ i T k 1 , T k ( t ) , u ˜ i T k 1 , T k ( t ) = n = 0 n i + 1 d n g i x ˜ i ( t ) , u ˜ i ( t ) dt n t = T k t T k n n ! + O H n i + 2 k
The output defect (3b) is the difference between the numerical output signal (12) and the output signal without defect (35). The output defect on the interval T k 1 , T k is equal to
δ y ˜ i ( t ) = y ˜ i ( t ) g i x ˜ i ( t ) , u ˜ i ( t ) = d n i + 1 g i x ˜ i ( t ) , u ˜ i ( t ) dt n i + 1 t = T k t T k n i + 1 ( n i + 1 ) ! + O H n i + 2 k
The estimate of the output defect on the interval T k 1 , T k is equal to
δ ^ y ˜ i T k 1 , T k ( t ) = T k t n i + 1 0.5 H k n i + 1 g i x ˜ i T k H k 2 , u ˜ i T k H k 2 y ˜ i T k H k 2 = T k t n i + 1 0.5 H k n i + 1 d n i + 1 g i x ˜ i ( t ) , u ˜ i ( t ) dt n i + 1 t = T k 0.5 H k n i + 1 ( n i + 1 ) ! + O H k n i + 2 = d n i + 1 g i x ˜ i ( t ) , u ˜ i ( t ) dt n i + 1 t = T k t T k n i + 1 ( n i + 1 ) ! + O H n i + 2 k
The Equation (34) follows directly from (36) and (37).    □
The output defect estimate (32) is obtained by adding communication points during co-simulation. The additional points are added in the middle of the interval T k 1 , T k shown in Figure 2. These points are used to obtain a higher order interpolation polynomial (30) for use in the output defect estimate. Theorem 4 gives the conditions (33) under which the output defect estimate (32) is asymptotically correct. The integration should have a higher order of local error than the order of the output interpolation polynomial (12).
The connection defect calculation (17) and the output defect estimate (32) are used to define the controlled co-simulation defect
ϵ k = max max i , j R M S T k 1 < t T k ( δ u ˜ i j ) , max i , j R M S T k 1 < t T k ( δ ^ y ˜ i j )
The calculation of the co-simulation defect is used in a step size control approach similar to the one introduced in [18]. The approach uses a PI controller for the logarithm of an error measurement
e k = log t o l log ϵ k I k = I k 1 + K I e k H k = exp I k + K P e k H k = θ m a x H k 1 , H k > θ m a x H k 1 H k , o t h e r w i s e I k = I k + log H k log H k H 1 = H 1 , I 1 = log H 1
where ϵ : N R is the controlled error approximation. Such a method has already been used for co-simulation [21]. The difference to the method presented in this article is the controlled error estimate. In [21], the authors have used an explicit step size control procedure to control the local co-simulation error of the output signal. In this article, the method controls the maximum of the connection defect and the output defect estimate (38).
The co-simulation method used for demonstrating the communication step size control is defined in Algorithm 1. It is also shown in Figure 2 to simplify the introduction. Like any other co-simulation master, the method solves the connection Equation (1d) and controls the execution of the co-simulation slaves. The connection equation is solved by the assignment of input signal derivatives (15). The presented co-simulation method allows a parallel execution with a distribution of the calculation performed in for-loops. The communication step sizes are controlled using the PI controller (39) to keep the co-simulation defect (38) constant.

4. Numerical Example

This section presents an example of using the proposed variable-step co-simulation method (Algorithm 1). The example system is a two mass oscillator that is commonly used to benchmark co-simulation master algorithms [6,21,22,23,24,25]. The slaves are implemented in the C programming language using Functional Mock-up Interface (FMI) [3,4]. The proposed connection defect calculation (17) and the output defect estimation (32) are illustrated in this example.
Algorithm 1 The pseudocode describes a non-iterative Jacobi co-simulation method. In the variable-step variant, the step size H k is computed with the PI controller (17), (32), (38) and (39). In the fixed-step variant, the step size is constant H k = H k 1 = H 1 .
Require: 
a partitioned system (1) without algebraic loops, an initial step size H 1 , defect tolerance t o l
1:
k : = 0 , T k : = 0 , H 1 = H 1
2:
calculate the initial output signals by solving the Equations (1b) and (1d)
3:
repeat
4:
     k : = k + 1
5:
    for  i 1 to N do
6:
         assign the input signals (15)
7:
    for  i 1 to N do
8:
         integrate the Equation (1a) on the interval T k 1 , T k 1 + H k 2
9:
    for  i 1 to N do
10:
         obtain the output signal samples at T k 1 + H k 2
11:
    for  i 1 to N do
12:
         integrate the Equation (1a) on the interval T k 1 + H k 2 , T k
13:
    for  i 1 to N do
14:
         obtain the output signal samples at T k
15:
    compute H k
16:
     T k : = T k 1 + H k
17:
until   T k t e n d
The algorithms presented in this article and the code used to generate the results in this section are published at [26]. The models are implemented in C, the algorithms are implemented in C++, and the figures are created in Python. In the repository [26] an interested reader can find
  • a C++ implementation of Algorithm 1 in the template function
    fmi::jacobi_co_simulation (src/fmi.h),
  • an implementation of the step size controller (39) in the method VariableStepSize::next (src/fmi.cpp),
  • an implementation of the Hermite polynomial calculation (30) in the method FMU::get_hermite (src/fmi.cpp),
  • an implementation of the output defect calculation in the function fmi::calculate _output_defects (src/fmi.cpp),
  • an implementation of connection defect calculation in the function fmi::calculate _connection_defects (src/fmi.cpp),
  • an implementation of co-simulation slaves according to the FMI 2.0 standard [3] in the directories src/OscillatorOmega2Tau and src/OscillatorTau2Omega,
  • an implementation of the reference solution in the directory
    src/TwoMassRotationalOscillator,
  • and the code to create the images presented in this section in the Python script scripts/results_analysis.py.
The implementation of the co-simulation slaves (Figure 3b) follows the FMI standard [3]. Since slaves are compiled together with the master, the shared library and the interface description are not packaged together for ease of implementation. Models solved by the slaves are described in the following equations.
The example system consists of two slaves i { 1 , 2 } that solve the following system of equations
x ˙ i ( t ) = f i ( x i ( t ) , u i ( t ) ) = A i x 1 ( t ) + B 1 u 1 ( t ) ,
y i ( t ) = g i ( x i ( t ) , u i ( t ) ) = C i x i ( t ) + D i u i ( t ) ,
x i ( 0 ) = x i 0
connected by
u 1 ( t ) = y 2 ( t ) , u 2 ( t ) = y 1 ( t )
where
y 1 ( t ) = τ 1 ( t ) , u 1 ( t ) = ω 2 ( t ) , x 1 ( t ) = ϕ 1 ( t ) ω 1 ( t ) ϕ 2 ( t ) T , x 10 = ϕ 10 ω 10 ϕ 20 T , A 1 = 0 1 0 c 1 + c k J 1 d 1 + d k J 1 c k J 1 0 0 0 , B 1 = 0 d k J 1 1 , C 1 = c k d k c k , D 1 = d k
and
y 2 ( t ) = ω 2 ( t ) , u 2 ( t ) = τ 1 ( t ) , x 2 ( t ) = ϕ 2 ( t ) ω 2 ( t ) T , x 20 = ϕ 20 ω 20 T , A 2 = 0 1 c 2 J 2 d 2 J 2 , B 2 = 0 1 J 2 , C 2 = 0 1 , D 2 = 0
Model parameters are set to
J 1 = 10 kg m 2 , c 1 = 1 N m rad , d 1 = 1 N m s rad , c k = 1 N m rad , d k = 2 N m s rad , ϕ 10 = 0.1 rad , ω 10 = 0.1 rad s , J 2 = 10 kg m 2 , c 2 = 1 N m rad , d 2 = 2 N m s rad , ϕ 20 = 0.2 rad , ω 20 = 0.1 rad s
The analytic solution is approximated by a monolithic solution of the system (Figure 3a) solved using the CVODE solver [27] with a tight tolerance bound. The absolute tolerance limit for the solver used is set to 10 8 . This solution is used to give a reference solution for the co-simulation and to approximate the numerical error.
The internal equations of co-simulation slaves are solved using the forward Euler method. The forward Euler method is a first-order numerical solver for the same equations
x ˜ i T k 1 , T k ( t ) = x ˜ i T k 2 , T k 1 ( T [ k 1 ] ) + t T [ k 1 ] f i x ˜ i T k 2 , T k 1 ( T [ k 1 ] ) , u ˜ i T k 1 , T k ( T [ k 1 ] )
The state derivative values of the Euler solver are equal to
d n x ˜ i T k 1 , T k dt n T k = A i x ˜ i T k 2 , T k 1 ( T [ k 1 ] ) + B i u ˜ i T k 1 , T k ( T [ k 1 ] ) , n = 1 0 , n > 1
Output polynomials are Taylor polynomials (12) with output derivative values calculated using (18) and
d n y ˜ i T k 1 , T k dt n T k = C i d n x ˜ i T k 1 , T k dt n T k + D i d n u ˜ i T k 1 , T k dt n T k , n = 1 , , n i
Input polynomials are Taylor polynomials (14) with input derivative values calculated using (15).
Figure 4a,b shows the piecewise response for both fixed and variable-step co-simulation using Algorithm 1. Figure 4a shows the responses obtained by fixed-step co-simulation with the step size
H = H k = H k 1 = H 1 = 1
Figure 4b shows the responses obtained by variable-step co-simulation with the initial step size and tolerance
H 1 = 1 , t o l = 0.005
The step size is controlled by the step controller (39) with the control parameters set to
K P = 0.13 , K I = 1 15 , θ m a x = 2
The comparison of figures shows how the step size controller reduces the step size during the co-simulation. In Figure 4a,b
  • orders of output (12) and input (14) polynomials are fixed to 0,
  • and compared to the monolithic system (Figure 3a) solution found using CVODE (tolerance 10 8 , [27]).
Theorems 2 and 3 show that the connection and the output defect can be limited by reducing the communication step size. In order to verify this statement, the root mean square value of the connection
R M S ( δ u ˜ i 1 ) = 0 < k H t e n d T k 1 T k δ u ˜ i 1 ( τ ) d τ
and output defect
R M S ( δ y ˜ i 1 ) = 0 < k H t e n d T k 1 T k δ y ˜ i 1 ( τ ) d τ
is calculated for fixed-step co-simulations with different step sizes
H = H k = H k 1 = H 1 { 10 3 , 10 2.8 , , 10 0 }
The results are shown in Figure 5a,b.
The output defect (2b) is estimated using (32). The order of convergence of the output defect is given with Theorem 3. Figure 5a confirms this theorem. It is interesting to observe the output defect of the Euler solver (45) in Figure 5a. From (12), (40b), (45), (46) and (47) it follows that
y ˜ i 1 T k 1 , T k ( t ) = 0.5 x ˜ i 1 T k 1 , T k ( t ) , n i > 0
and
δ y ˜ i 1 ( t ) = 0 , n i > 0
for the Euler solver. This result agrees with the asymptotic upper limit from Theorem 3. This is interesting because it shows that the output defect for such a solver setup is zero for any output interpolation order greater than 0. However, the numerical error is larger than that of an analytic solver (Figure 6).
Theorem 2 shows that the connection defect converges (by assuming that the output equations are independent of the input signal), but does not show the order of convergence. The input assignment (15) suggests that the input signal depends on the order of the input polynomial as well as the connected output polynomial. However, Figure 5b shows a relationship between connection defects and an internal solver. The connection defect when using the analytic solver seems to correlate with the interpolation order and appears to be O H min ( m i , n i ) + 1 . In the case of the Euler solver, the connection defect seems to be limited to O H 2 . The latter seems to be a consequence of (46).
The focus of future work will be on the investigation of the order of convergence of connection defects. Theorem 2 uses a simplification to avoid the analysis of direct influences of input signals on output signals. This simplification prevents the analysis of algebraic loops, which could make the system unstable. Direct influences of input signals on output signals have an effect on the local co-simulation error shown in [24]. This indicates that a direct output input dependency could affect the order of the connection defect. This will be a topic for future work, along with the analysis of the influence of the solver on connection defects.
Theorem 1 suggests that by limiting the overall co-simulation defect, the global co-simulation error should be limited. Theorems 2 and 3 show that by limiting the step size, connection and output defects can be limited. Figure 5 confirms this. The three theorems suggest that by limiting the step size, the global co-simulation error can be limited. This is confirmed by Figure 6. It is worth noting that the conclusions given apply to a coupled ordinary differential system 1.
Reducing the step size limit is not the only way to reduce connection and output defects. The order of the polynomials used to transmit input and output signals also has an effect. This effect can be observed in Figure 6. Theorem 1 shows that the co-simulation error is bounded by connection, output, and integration defects. If defects are
δ u ˜ ( t ) = O H p i , δ y ˜ ( t ) = O H q i , δ x ˜ ( t ) = O H r i
then the errors are
Δ u ˜ ( t ) = O H min ( p i , q i , r i + 1 ) , Δ y ˜ ( t ) = O H min ( p i , q i , r i + 1 ) , Δ x ˜ ( t ) = O H min ( p i , q i , r i + 1 )
All co-simulation errors are limited by the worst co-simulation defect. Figure 6 shows how the integration defect of the Euler solver limits the co-simulation error to O H .
Co-simulation errors can be limited by limiting the co-simulation defects. The rate of convergence of the output defect is given by Theorem 3. It is important to note that the order of convergence for the output defect estimate is influenced by the Euler solver. The Euler solver brakes the assumption (33). This is an example where an integration defect can affect the output error estimate.
It is interesting to observe the effect of the internal solver on the connection defect. In Figure 5b, it can be seen that for the Euler solver and larger orders of extrapolation for input and output signals the connection defect is O H . The connection defect (17) in the explicit co-simulation is influenced by the difference of the state signal at different co-simulation steps (26). This observation suggests that a connection defect can be used to detect numerical errors introduced by solving state, output, and connection equations. The authors plan future work to rigorously analyze whether there are conditions under which this hypothesis is true.
The previous experiments use fixed-step co-simulation to confirm Theorems 1, 2 and 3. Theorem 1 shows that defect control can be used to limit the co-simulation error. Theorems 2 and 3 show that output and connection defects can be limited by limiting the step size. The previous experiments and theorems justify the use of variable step size co-simulation using defect control. The next experiments show the results of applying the variable-step Jacobi co-simulation method to the system (40) and (41). The method is presented in Algorithm 1 and the step size is calculated with (39). The numerical experiment was performed with the reference t o l = 0.1 , controller parameters (50) and the initial step size H 1 = 0.001 . The comparison of the obtained output signals with the monolithic solution (Figure 3a) is shown in Figure 4b.
Next, the tolerance was varied
t o l { 10 3 , 10 2.8 , , 10 0 }
to demonstrate that such a controller can limit output and connection defects. Figure 7 shows that the output defect is limited by the tolerance. Figure 8 shows that the connection defect is limited by the tolerance. This may not always be the case for explicit co-simulation. In the presented experiments, the initial step size was set to small H 1 = 0.001 to ensure that the numerical defect produced in the initial step stays within tolerance. The experiment shows that by controlling (38) both connection and output defects can be controlled.
Furthermore, Figure 9 shows that by reducing the tolerance, the co-simulation error can be reduced. It is interesting to observe that plots of the output defect (Figure 7) and connection defect (Figure 8) are similar shapes to the error plot (Figure 9). This comparison suggests that there are cases where such variable step co-simulation can be used successfully.
It should be noted that the integration defect (2a) is not directly controlled in this example. In the case of the analytic solver, the defect is completely eliminated. In the case of the Euler solver (45), the integration defect is O H . In practice, co-simulation slaves are black boxes without the ability to monitor the integration. This is why the integration defect is not included in this analysis.
In Figure 9, it can be seen that co-simulation errors are similar in order of magnitude for different extrapolation orders. Figure 10 shows the benefit of increasing the extrapolation order. It shows how an average step size during co-simulation depends on the requested tolerance. The step size controller takes smaller steps to achieve the same tolerance if higher extrapolation order is used. This conclusion may not be generalized to more complex subsystems. It shows the idea that an extrapolation order could be used to decrease the CPU and communication network load during co-simulation.

5. Conclusions and Future Work

This article presents an analysis of the co-simulation defect for a system of coupled ordinary differential equations. The analysis is motivated to deepen the understanding of the co-simulation configuration. In practice, co-simulation slaves are black boxes coupled with connection equations (Figure 1). A quality measure that does not require knowledge of the slave’s internal equations can facilitate the co-simulation configuration. The defect analysis was only applied to the co-simulation in [15]. This article continues the application of defect analysis and applies it to variable-step co-simulation with different orders of interpolation polynomials.
The main contribution of this article is a non-iterative co-simulation method with variable communication step size (Figure 2, Algorithm 1). Theorem 1 states that the co-simulation error is bounded if the co-simulation defect is bounded. Theorem 2 and Theorem 3 show that the connection and the output defect can be limited by reducing the communication step size. These theorems justify the use of variable step co-simulation based on defect control. Section 4 shows an application of the proposed method to an example of a two-mass oscillator and gives a verification of the above statements.
Such a method is valuable in practice because it requires little configuration. The parameters for the procedure are the initial communication step size H 1 and the required tolerance t o l . The method does not require a co-simulation slave to repeat a communication step. This relaxes the implementation requirements for co-simulation slaves. In addition, like any variable step method, it can save computation time by calculating the step size for the results of the desired quality.
One goal of future work would be to see if there is a way to eliminate the need to perform additional sampling of the communication points to estimate output defects. It is worth considering under what conditions the calculations of the connection defect are sufficient to assess the quality of the co-simulation.
Another goal of future work would be to focus on the properties of a model and try to estimate the correct initial step size H 1 for co-simulation. This would reduce the configuration effort even further and achieve an almost ideal configuration. In this case, only the required quality of the co-simulation is requested by a user t o l .

Author Contributions

Conceptualization, S.G. and Z.K.; Formal analysis, S.G.; Investigation, S.G.; Software, S.G; Supervision, Z.K.; Visualization, S.G.; Writing—review & editing, S.G. and Z.K. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Kübler, R.; Schiehlen, W. Two Methods of Simulator Coupling. Math. Comput. Model. Dyn. Syst. 2000, 6, 93–113. [Google Scholar] [CrossRef]
  2. Gomes, C.; Thule, C.; Broman, D.; Larsen, P.G.; Vangheluwe, H. Co-Simulation: A Survey. ACM Comput. Surv. 2018, 51, 49:1–49:33. [Google Scholar] [CrossRef]
  3. Functional Mock-Up Interface for Model Exchange and Co-Simulation, Version 2.0. 2014. Available online: https://svn.modelica.org/fmi/branches/public/specifications/v2.0/FMI_for_ModelExchange_and_CoSimulation_v2.0.pdf (accessed on 26 October 2018).
  4. Blochwitz, T.; Otter, M.; Akesson, J.; Arnold, M.; Clauss, C.; Elmqvist, H.; Friedrich, M.; Junghanns, A.; Mauss, J.; Neumerkel, D.; et al. Functional mockup interface 2.0: The standard for tool independent exchange of simulation models. In Proceedings of the 9th International MODELICA Conference, Munich, Germany, 3–5 September 2012; Linköping University Electronic Press: Linköping, Sweden, 2012; pp. 173–184. [Google Scholar] [CrossRef] [Green Version]
  5. Tools | Functional Mock-Up Interface. Available online: https://fmi-standard.org/tools/ (accessed on 1 May 2021).
  6. Schweizer, B.; Li, P.; Lu, D. Explicit and implicit cosimulation methods: Stability and convergence analysis for different solver coupling approaches. J. Comput. Nonlinear Dyn. 2015, 10, 051007. [Google Scholar] [CrossRef]
  7. Hairer, E.; Nørsett, S.P.; Wanner, G. Solving Ordinary Differential Equations. 1, Nonstiff Problems; Springer: Berlin/Heidelberg, Germany, 1991. [Google Scholar]
  8. Isermann, R.; Schaffnit, J.; Sinsel, S. Hardware-in-the-loop simulation for the design and testing of engine-control systems. Control. Eng. Pract. 1999, 7, 643–653. [Google Scholar] [CrossRef]
  9. Fathy, H.K.; Filipi, Z.S.; Hagena, J.; Stein, J.L. Review of hardware-in-the-loop simulation and its prospects in the automotive area. In Proceedings of the Modeling and Simulation for Military Applications. International Society for Optics and Photonics, Kissimmee, FL, USA, 18–21 April 2006; Volume 6228, p. 62280E. [Google Scholar] [CrossRef]
  10. Glumac, S.; Varga, N.; Raos, F.; Kovačić, Z. Co-simulation perspective on evaluating the simulation with the engine test bench in the loop. Automatika 2022, 63, 275–287. [Google Scholar] [CrossRef]
  11. Borutzky, W. Bond Graph Modelling of Engineering Systems; Springer: Berlin/Heidelberg, Germany, 2011; Volume 103. [Google Scholar]
  12. Siciliano, B.; Khatib, O.; Kröger, T. Springer Handbook of Robotics; Springer: Berlin/Heidelberg, Germany, 2008; Volume 200. [Google Scholar]
  13. Shampine, L.F. Error estimation and control for ODEs. J. Sci. Comput. 2005, 25, 3–16. [Google Scholar] [CrossRef]
  14. Arnold, M.; Clauß, C.; Schierz, T. Error analysis and error estimates for co-simulation in FMI for model exchange and co-simulation V2.0. In Progress in Differential-Algebraic Equations; Springer: Berlin/Heidelberg, Germany, 2014; pp. 107–125. [Google Scholar]
  15. Glumac, S. Automated Configuring of Non-Iterative Co-Simulation Modeled by Synchronous Data Flow. Ph.D. Thesis, Faculty of Electrical Engineering and Computing, University of Zagreb, Zagreb, Croatia, 2022. [Google Scholar]
  16. Enright, W. Continuous numerical methods for ODEs with defect control. J. Comput. Appl. Math. 2000, 125, 159–170. [Google Scholar] [CrossRef] [Green Version]
  17. Shampine, L.F. Solving ODEs and DDEs with residual control. Appl. Numer. Math. 2005, 52, 113–127. [Google Scholar] [CrossRef]
  18. Gustafsson, K.; Lundh, M.; Söderlind, G. A PI stepsize control for the numerical solution of ordinary differential equations. BIT Numer. Math. 1988, 28, 270–287. [Google Scholar] [CrossRef]
  19. Nguyen, P.H. Interpolation and Error Control Schemes for Algebraic Differential Equations Using Continuous Implicit Runge-Kutta Methods; Department of Computer Science, University of Toronto: Toronto, ON, USA, 1995. [Google Scholar]
  20. Spitzbart, A. A Generalization of Hermite’s Interpolation Formula. Am. Math. Mon. 1960, 67, 42–46. [Google Scholar] [CrossRef]
  21. Busch, M.; Schweizer, B. An explicit approach for controlling the macro-step size of co-simulation methods. In Proceedings of the 7th European Nonlinear Dynamics Conference (ENOC 2011), Rome, Italy, 24–29 July 2011; pp. 1–6. [Google Scholar]
  22. Benedikt, M.; Watzenig, D.; Hofer, A. Modelling and analysis of the non-iterative coupling process for co-simulation. Math. Comput. Model. Dyn. Syst. 2013, 19, 451–470. [Google Scholar] [CrossRef]
  23. Schweizer, B.; Lu, D. Predictor/corrector co-simulation approaches for solver coupling with algebraic constraints. ZAMM J. Appl. Math. Mech. Z. Für Angew. Math. Und Mech. 2015, 95, 911–938. [Google Scholar] [CrossRef]
  24. Busch, M. Continuous approximation techniques for co-simulation methods: Analysis of numerical stability and local error. ZAMM J. Appl. Math. Mech. 2016, 96, 1061–1081. [Google Scholar] [CrossRef]
  25. Glumac, S.; Kovacic, Z. Relative consistency and robust stability measures for sequential co-simulation. In Proceedings of the 13th International Modelica Conference, Regensburg, Germany, 4–6 March 2019; Linköping University Electronic Press: Linköping, Sweden, 2019; p. 157. [Google Scholar] [CrossRef]
  26. Sglumac/DefectAnalysisArticle. 2023. Available online: https://github.com/sglumac/DefectAnalysisArticle (accessed on 25 February 2023).
  27. Hindmarsh, A.C.; Brown, P.N.; Grant, K.E.; Lee, S.L.; Serban, R.; Shumaker, D.E.; Woodward, C.S. SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers. ACM Trans. Math. Softw. (TOMS) 2005, 31, 363–396. [Google Scholar] [CrossRef]
Figure 1. The underlying model for the analysis in this article is coupled ordinary differential equations [15]. Co-simulation slave equations are colored gray because they are not available to the master. Output equations are lighter colored because this article suggests that the master should estimate the output defect.
Figure 1. The underlying model for the analysis in this article is coupled ordinary differential equations [15]. Co-simulation slave equations are colored gray because they are not available to the master. Output equations are lighter colored because this article suggests that the master should estimate the output defect.
Mathematics 11 01342 g001
Figure 2. This article uses a non-iterative variant of the Jacobi co-simulation method with variable steps to demonstrate co-simulation defect control.
Figure 2. This article uses a non-iterative variant of the Jacobi co-simulation method with variable steps to demonstrate co-simulation defect control.
Mathematics 11 01342 g002
Figure 3. During co-simulation, a co-simulation master orchestrates co-simulation slaves. In the case of the monolithic simulation, a solver solves the entire system of equations: (a) Monolithic simulation; (b) Co-simulation.
Figure 3. During co-simulation, a co-simulation master orchestrates co-simulation slaves. In the case of the monolithic simulation, a solver solves the entire system of equations: (a) Monolithic simulation; (b) Co-simulation.
Mathematics 11 01342 g003
Figure 4. The diagrams show numerical solutions that were calculated with the Jacobi co-simulation method (Algorithm 1). The numerical solutions are compared with the monolithic solution: (a) Fixed step; (b) Variable step.
Figure 4. The diagrams show numerical solutions that were calculated with the Jacobi co-simulation method (Algorithm 1). The numerical solutions are compared with the monolithic solution: (a) Fixed step; (b) Variable step.
Mathematics 11 01342 g004
Figure 5. The diagrams show the defects of the fixed-step Jacobi co-simulation method (Algorithm 1, H k = H k 1 = H 1 ) and different orders of interpolation polynomials m i = n i : (a) Output defects; (b) Connection defects.
Figure 5. The diagrams show the defects of the fixed-step Jacobi co-simulation method (Algorithm 1, H k = H k 1 = H 1 ) and different orders of interpolation polynomials m i = n i : (a) Output defects; (b) Connection defects.
Mathematics 11 01342 g005
Figure 6. The diagrams show the numerical errors of the fixed-step Jacobi co-simulation method (Algorithm 1, H k = H k 1 = H 1 ), different orders of interpolation polynomials and different internal subsystem solvers.
Figure 6. The diagrams show the numerical errors of the fixed-step Jacobi co-simulation method (Algorithm 1, H k = H k 1 = H 1 ), different orders of interpolation polynomials and different internal subsystem solvers.
Mathematics 11 01342 g006
Figure 7. The diagrams show the output defects of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ) and different orders of interpolation polynomials.
Figure 7. The diagrams show the output defects of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ) and different orders of interpolation polynomials.
Mathematics 11 01342 g007
Figure 8. The diagrams show the connection defects of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ), different orders of interpolation polynomials and different internal subsystem solvers.
Figure 8. The diagrams show the connection defects of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ), different orders of interpolation polynomials and different internal subsystem solvers.
Mathematics 11 01342 g008
Figure 9. The diagrams show the numerical errors of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ), different orders of interpolation polynomials and different internal subsystem solvers.
Figure 9. The diagrams show the numerical errors of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ), different orders of interpolation polynomials and different internal subsystem solvers.
Mathematics 11 01342 g009
Figure 10. The diagrams show the average step sizes of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ), different orders of interpolation polynomials and different internal subsystem solvers.
Figure 10. The diagrams show the average step sizes of the variable-step Jacobi co-simulation method (Algorithm 1, (39) and (50), H 1 = 10 4 ), different orders of interpolation polynomials and different internal subsystem solvers.
Mathematics 11 01342 g010
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Glumac, S.; Kovačić, Z. Defect Analysis of a Non-Iterative Co-Simulation. Mathematics 2023, 11, 1342. https://doi.org/10.3390/math11061342

AMA Style

Glumac S, Kovačić Z. Defect Analysis of a Non-Iterative Co-Simulation. Mathematics. 2023; 11(6):1342. https://doi.org/10.3390/math11061342

Chicago/Turabian Style

Glumac, Slaven, and Zdenko Kovačić. 2023. "Defect Analysis of a Non-Iterative Co-Simulation" Mathematics 11, no. 6: 1342. https://doi.org/10.3390/math11061342

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop