Content uploaded by Gaston A. Fermandois

Author content

All content in this area was uploaded by Gaston A. Fermandois on Sep 29, 2021

Content may be subject to copyright.

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

CLIENT-SERVER APPLICATION FOR MULTI-PLATFORM

COORDINATION IN REAL-TIME HYBRID SIMULATION TESTING

G. Fermandois(1), D. Mera(2)

(1) Assistant Profesor, Departamento de Obras Civiles – Universidad Técnica Federico Santa María, Santiago, Chile,

gaston.fermandois@usm.cl

(2) M.S. Student, Departamento de Obras Civiles – Universidad Técnica Federico Santa María, Santiago, Chile,

diego.mera@sansano.usm.cl

Abstract

Real-Time Hybrid Simulation (RTHS) is an experimental technique with a physical and computational interface to

evaluate complex structural systems. This technique is based on the substructuring methodology in which difficult-to-

model components are tested in an experimental setup. Meanwhile, structural components and materials whose behavior

can be predicted are modeled numerically. The main feature of RTHS is that all calculations, measurements, and signal

processing must be carried out in brief time intervals, typically less than one millisecond. The literature reveals that simple

and linear numerical models are used most of the time and are implemented directly in the microcontroller unit for real-

time execution. The reason being most research prioritized the study of compensation methods. However, these methods

have already reached sufficient maturity, and working with more complex numerical substructures is imperative to

achieve realistic results. Thus, it is essential to integrate the capabilities of finite element analysis with the control software

used in the experimental setup of RTHS tests. Unfortunately, the lack of detailed information on existing

integration/coordination methods for RTHS testing makes the development and implementation of these coupled systems

difficult, especially for researchers who just start working on RTHS.

This study’s motivation is to provide a reasonable and detailed procedure to achieve the coupling of general FE software

with the control software in RTHS testing. Computational tasks are interconnected using a client-server communication

approach. First, the client is chosen as a Matlab/Simulink program to implement the control algorithms for RTHS.

Meanwhile, the servers are multiple OpenSees programs that simulate either numerical or experimental substructures.

Examples of a virtual RTHS benchmark are provided to validate the integration method and illustrate the various uses of

the client-server protocol, focusing on earthquake engineering applications. The results show good accuracy and real-

time synchronization of client-server communication, allowing for the development of additional features of the Client-

Server virtual Real-Time Hybrid Simulation (CSvRTHS) framework to model complex structural systems.

Keywords: real-time hybrid simulation; substructuring; communication protocols; client-server; finite element modeling.

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

2

1. Introduction

There are different experimental techniques for structural testing in civil engineering, the most modern being

hybrid simulation. This technique considers both a physical and computational system interfaced together to

evaluate complex systems experimentally [1]. The technique is based on substructuring. The set of structural

components and materials whose behavior can be predicted, or those with experimentally calibrated and

validated mathematical models, is classified as a numerical substructure. On the other hand, the experimental

substructure is a critical component or innovative material without sufficient knowledge to calibrate a model

capable of predicting the expected behavior. One technique derived from the conventional hybrid simulation

is Real-Time Hybrid Simulation (RTHS). The main feature of RTHS is that all calculations, measurements, and

signal processing must be performed in very short time intervals, typically less than one millisecond [2]. A

critical aspect of RTHS testing is that any experimental errors must be mitigated during real-time execution to

avoid inaccurate and unstable responses [3]. Therefore, the engineering community has focused on developing

compensation techniques in RTHS, with acceptable performance and robustness, such that RTHS experiments

are carried out safely and accurately.

In general, the literature presents RTHS tests with simple, linear, numerical substructures models [4–8].

However, if one seeks to achieve greater simulation fidelity, it is desirable to have a finite element package to

model the numerical substructure more realistically. Therefore, a fundamental aspect in RTHS is integrating a

finite element (FE) analysis software with a controller software used in the experimental facility. To date,

some programs achieve this goal for hybrid simulation, such as UI-SIMCOR [9], OpenFresco [10] (which is

an improved version of the one proposed by [11]), Mercury [12], CSA [13], UT-SIM [14] and the CS technique

[15]. Although, their developers no longer support UI-SIMCOR and Mercury. Moreover, the CSA and CS

techniques were developed to work on coupling finite element software, not to work with cyber-physical

systems. The rest of the coordination programs were originally developed to carry out pseudo-dynamic tests;

hence, there are no guarantees for these programs to complete the required calculations deterministically given

the time constraints to perform RTHS tests. However, the literature provides some examples of conducting

RTHS with OpenFresco as coordinator software [16]. The problem lies in the small community that supports

a continuous and maintained development of OpenFresco, and the lack of detailed documentation for the

integration/coordination methods in RTHS tests. These issues hinder the development and implementation of

RTHS tests with high-fidelity coupled systems.

This study's motivation is to provide a reasonable procedure for researchers in RTHS to achieve the

coupling of widely used FE software with control software available in the laboratory. For this purpose, a four-

story steel structure with three bays will be solved, where a frame of the first floor will be considered as the

experimental substructure. Virtual environments are previously used for laboratory experimentation as a first

approach [17]. Therefore, in this study, a virtual RTHS will be carried out using three computer programs.

First, Matlab/Simulink [18] provides the most convenient means of implementing control algorithms for

RTHS. However, Matlab is not the best choice to model structural systems with nonlinear behavior, given that

it does not provide a library of elements and materials suitable for structural modeling. Therefore, OpenSees

[19] software is preferred for modeling numerical substructures. Finally, the Open-source Framework for

Experimental Setup and Control (OpenFresco) [10, 20] allows communication from/to OpenSees and a

Simulink model running in real-time, and combine a wide variety of hybrid simulation algorithms, control and

laboratory systems, experimental setups, and computational simulation models for a specific hybrid

simulation.

This paper has the following organization. Section 2 describes the procedure and structure to be solved,

the compensation method, and the evaluation criteria to assess its performance. Section 3 presents a detailed

description of the communication protocol used to couple OpenSees with Matlab/Simulink applications and

the process for executing and evaluating the communication’s performance. Section 4 presents the main results

obtained from the simulations carried out. Lastly, Section 5 presents the conclusions and final remarks.

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

3

2. Problem formulation

2.1 Numerical and experimental substructures

One of the crucial steps when performing hybrid simulation is the correct choice of substructuring [21]. In the

context of RTHS, instead of solving the entire domain equation of motion, this substructuring process can be

applied to subdivide the domain into smaller subdomains so that the order of large and complex structural

systems is reduced for computational efficiency. Each subdomain can be resolved independently, as long as

the coupling between components is enforced at their interfaces [22].

In this study, a four-story planar frame with three bays is chosen as a reference structure, with a total of

52 degrees of freedom (16 lateral, 16 vertical, and 20 rotational). The beams are modeled with linear elastic

frame elements. In contrast, the columns are modeled with frame elements using Giuffre-Menegotto-Pinto

steel material with isotropic strain hardening with an initial stiffness of

!"#$%&'()'*+"$

Consequently, the first-

mode fundamental period is

,!-."/$%0+

. The reference structure is divided into the numerical substructure

(NS) and experimental substructure (ES), as shown in Fig. 1. One bay of the first story is taken as the ES,

while the rest is modeled as NS. Since it is intended to work only with a uniaxial actuator, the boundary degrees

of freedom are set to be only horizontal displacements.

Fig. 1 - Reference structure and substructures. (Note: NS = dashed line; ES = red line)

The equation of motion (EOM) governing the dynamic response of a structure subjected to an input

seismic excitation is represented as follows in Eq. (1):

!!"

#

$%!"

&

$'!(")*+

(1)

where

1"

and

2"

are the mass and damping matrices, respectively.

3"

4

5

6 is the nonlinear restoring force.

5

,

5

7, and

5

8 are the displacement, velocity, and acceleration vectors, respectively, all measured relative to the

ground motion.

9

is the vector of external forces.

Let us now consider the system of two substructures shown previously. We can write the EOM of each

substructure as shown below in Eq. (2) and Eq. (3):

!""

#

"$%""

&

"$'!"("")*+"$,"

(2)

!#"##$%#"&#$'!#("#) *+#$,#

(3)

Structural parameters associated with the experimental substructure are indicated with the superscript

"E", and those associated with the numerical substructure are indicated with the superscript "N." The terms

9#

and

9$

are the external force vectors, and terms

:#

and

:$

are the coupling forces. The main assumption

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

4

of this formulation is that the substructures are coupled only through the boundary conditions. Therefore, the

coupling forces of the interior degrees of freedom for each substructure must be equal to zero.

For the resolution of this problem, two conditions must be met. First, Eq. (4) will serve as a

synchronization indicator on the boundary degrees of freedom. Second, Eq. (5) refers to the static equilibrium

at the boundary between substructures which should always be enforced.

5%

#-5%

$$$$4;<=>?@ABACA@D6

(4)

:%

#E:%

$-F$$$4GHIACABJAI=6

(5)

Substituting Eqs. (4) and (5) into Eqs. (2) and (3), the interaction between NS and ES is enforced, which

is explicitly shown in Eqs. (6) and (7):

1#58#E2#57#E3"#45#6-9#EKF&

#

L:%

$M

(6)

:$-KF&

$

:%

$M-1$58$E2$57$E3"$45$6L9$

(7)

where

5#-

N

5&

$5%

#

O

'

is the vector of NS displacements, which are classified as internal displacements

(indicated by the subscript "i"), and boundary displacements (indicated by the subscript "b"). Eq. (6) is the

EOM for NS that is solved ideally using an FEA software. Meanwhile, Eq. (7) collects all terms associated

with the force applied from ES to NS at the boundary. This formulation includes all potential effects associated

with nonlinear restoring forces, nonlinear damping, and inertial forces, along with any external excitation

directly induced to the experimental substructure.

2.2 CSvRTHS framework

In RTHS, the numerical and experimental substructures (NS and ES, respectively) must communicate in real-

time, which is handled by a coordinator software. At each time step of the analysis, the NS solves the equation

of motion through numerical integration and produces a target displacement (

P(

) at the interface. This signal

is imposed on the ES in the laboratory through a loading system (e.g., hydraulic actuator). In RTHS, enforcing

target displacement must be done in real-time; any delay in communication can cause inaccurate results and

potential instability. After this displacement is imposed, the restoring force is measured from the specimen and

returned to the NS integrator for the next step.

In this study, a CSvRTHS test is implemented, where all components are modeled numerically, including

the laboratory test system (actuators, test specimen, and sensors). Both NS, ES, and control systems are

modeled with different state-of-the-art software to explore further integration and increased flexibility.

Matlab/Simulink is chosen for its numerical capabilities and integration with microcontrollers such as dSpace

and Speedgoat. Meanwhile, OpenSees is a finite element analysis (FEA) software widely used by the

earthquake engineering community. Each computational task is interconnected using a TCP/IP communication

protocol through a client-server (CS) approach [10, 23, 24]. Further details on the CS communication task are

provided in Section 3, and the source code is available to the scientific community at a GitHub repository [25].

Many linear and nonlinear models are available for servo-hydraulic actuators [17, 26, 27]. In this study,

a model developed by Spencer et al. [27] is used. This model includes mathematical representations of the

different components of the test system, including servo valve dynamics, hydraulics, payload, and controller.

Fig. 2 shows the model implemented in Simulink. A payload is added to the original model to obtain the

actuator displacement, velocity, and acceleration for commanding over to the ES. This payload includes

damping and static forces, along with possible force losses based on piston friction. The parameters considered

for this model are shown in Table 1.

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

5

Fig. 2 – Block diagram of actuator dynamics in Simulink.

Table 1 – Actuator model parameters [27].

Component

Parameter

Value

Unit

Description

Controller

Q)

R

=S)AT

Proportional gain

Servovalve

U*

F"FFRRV

W

Servovalve time constant

Q+

VR"F.

AT,)W)=S

Valve gain

Q-

.

."R#P.F/0

AT,)W)>WA

Valve flow-pressure gain

Actuator

X

F"Y!.

AT1

Area of the piston

22

!"Z/P.F/3

AT,)W)>WA

Leakage coefficient of the actuator

[(

\Z"##

AT,

Total volume of fluid in actuator chambers

]4

/!/!Z

>WA

Effective oil bulk modulus

2.3 Compensation method

The key to RTHS is that the commanded displacements are imposed on the test sample by hydraulic actuators

in real-time. During testing, the servo-hydraulic actuator’s communication, control, and dynamics cause a time

delay and lag between components. Time delay/lag in the RTHS test is equivalent to introducing spurious

negative damping, leading to potential inaccuracies and instabilities.

Therefore, an Adaptive Model-Based Compensation (AMBC) [28] is chosen to mitigate time delays

during the RTHS tests. The formulation consists of estimating the plant by a third-order transfer function

without zeros, as shown in Eq (8).

-$*.%(/)-&*0 1

2'/'$2(/($2)/$2*3-&

(9)

where

P5

is the displacement measured by the sensors. The inverse of this transfer function is used to generate

the command signal using the target displacement as input, as shown in Eq (10). The derivatives of

P(

are

obtained with finite differences.

-&*.%

+)-,*(2'/'$2(/($2)/$2*)-,*2'-4,$2(-#,$52)-&,$2*-,

(10)

The adaptive parameters

^&

,

'-F_._V_R

, must be adjusted during the test to achieve good compensation.

This adaptation is formulated through a differential equation model provided in Eq. (11), where

P5

6&7

is the i-th

derivative of

P5

associated with adaptive parameter

^&

. A Butterworth filter is designed to remove high-

frequency noise and to estimate higher-order derivatives of target and measured signals.

52&-*6-7-&892'52(52)52*:9-4$5-#$5-&$5-$:.

1$9-4$5-#$5-&$5-$:9-4$5-#$5-&$5-$:.;-$

/-0

(11)

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

6

This methodology requires the calibration of adaptive gains. For this, the procedure given in the original

paper [28] is followed, but with certain modifications: (i) ground acceleration scaled to

.FF`a

(ii) multiples

single-degree-of-freedom structures with a natural period between

F"#$L$\$%0+

; and (iii) mass, stiffness,

damping, and initial conditions for the adaptive controller were randomly generated through the Latin

hypercube method to cover a larger range of structures, obtaining more robust gains. The calibration of optimal

adaptive gains consists of a global optimization scheme through particle swarm optimization, which minimizes

the performance indicator

b1

explained in Section

V"R

. Additionally, the initial conditions are defined from the

actuator without a specimen attached. Finally, the values obtained and used for the adaptive gains (

c&

) and

initial conditions (

^&

) are:

$c&-dA?e

4

.F389,$$$.F:81, $$$.F!8:;$$$.F/!8!9

6

<^&-$%."F$$$$."//f.F/1 $$$$.F/:$$$$F"F+

.

2.4 Evaluation criteria

The performance of the CSvRTHS is evaluated through three performance indicators, which are shown in Table

2.

b1

is the normalized root-mean-square error between the target displacement (

P(

) and the measured

displacement (

P5

); this indicator measures the synchronization error.

b:

is the normalized root-mean-square

error between the reference displacement (

P"

) and the measured displacement (

P5

), which measures the error

between the simulation and the reference structure. Both

b1

and

b:

indices were provided in Silva et al. [17].

Also,

U

corresponds to the delay indicator obtained with the frequency evaluation index [29], which measures

the synchronization delay (in milliseconds) between

P(

and

P5

. Finally, MT is the missed ticks of the real-

time clock in Simulink Desktop Real-Time, which will be discussed in the next section.

Table 2 - Performance evaluation criteria.

Criterion

Description

Definition

Units

b1

Normalized root mean square of the

tracking error

b1-gh%P54'6LP(4'6+1

#

&<!

h %P(4'6+1

#

&<! i.FF

`

b:

Normalized RMS relative

displacement at the first floor

b:-

gh%

P5

4

'

6

LP"4'6

+

1

#

&<!

h %

P"4'6

+

1

#

&<! i.FF

`

U

Time delay between the input and

output signals evaluated at the

equivalent frequency.

U-L j9

Vkl4+

=W

1,

Missed real-time clock ticks and

their associated data points.

Internally calculated by Simulink

@AmnW

3. Methodology

3.1 Communication protocol

In the Client-Server (CS) communication protocol, tasks or workloads are divided between providers of a

resource or service, called servers, and service requesters called clients [23]. This architecture is ideal for

communicating of the NS and ES as servers with Simulink as the client. The whole process is better explained

in Fig. 3. In general terms, it starts with the NS implemented in OpenSees (server), where it calculates the

displacement in the interface nodes and sends this signal to Simulink (client). In Simulink, this displacement

is received, and after a series of intermediate steps (multi-rate transitioning, compensation method, actuator

dynamics and control), it is sent to the ES (server). The ES given a displacement returns a force to Simulink,

to finally return that force to the NS. With this information, the NS performs the calculations of the next time

step.

It is worth noting that both OpenSees and Matlab/Simulink supports TCP/IP communication protocol.

But it requires a certain level of programming knowledge to implement this interface. Although it is possible

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

7

to easily open and close communication channels through Matlab scripts [23], it is not recommended for RTHS

since it will cause severe time constraints during Simulink client’s real-time execution. An alternative employs

user-defined blocks called S-Functions [24] in Simulink, which can execute custom code using different

programming languages and include a set of callback methods that perform the necessary tasks at each time

step. During the simulation stage, the Simulink engine calls the appropriate methods for each S-function block

in the model. For this study, a Level 2 S-function written in C language is suitable to implement TCP/IP

communication. This S-Function block is compiled into a Matlab Executable (MEX) file, which is necessary

to run user-defined code in Matlab/Simulink.

In summary, a Level 2 S-Function called Generic-Client is used to communicate with the ES. This user-

defined block interfaces the Simulink (client) with the ES by specifying IP and connection port as parameters.

As input data, only this displacement is required, and the server returns a displacement and a force. On the

other hand, the Level 2 S-Function called OPF Connect is used to interface Simulink with the NS, in which

force and displacement are sent to solve the equation of motion, Eq. (6), and it responds with a displacement

in the interface nodes. Both user-defined blocks can be obtained from OpenFresco Version 2.7.1 source code

[30] and readily available for use in this study’s companion GitHub repository [25].

3.2 Implementation of real-time system

The implementation of CSvRTHS is illustrated in Fig. 3. Detailed instructions of software installation and

execution are provided in the companion GitHub repository [25]. Briefly, the first requirement is to start the

ES-FE server, which is waiting for the simulation to start. Then, Simulink client must be executed, which

requests a target displacement to OpenSees to execute of the first temporary step. Finally, the NS-FE server

containing the NS performs numerical integration and begins the simulation. An explicit integration scheme,

such as the central difference method (NS-FE server) and the Dormand-Prince method (Simulink client). The

sampling intervals used for the fast (client and ES-FE server) and slow (NS-FE server) processes are

.).FV\

and

V).FF

[s], respectively (i.e.,

Fo,=>?( o,@2AB

). To summarize, the loops need to be run from the inside

to the outside layers: (1) ES-FE server (green); (2) Simulink client (orange); and (3) the NS-FE server (blue-

gray).

Note. Signals: x = displacement, f = force; superscripts: C = client, S = server;

subscripts: m = measured, t = target, c = compensated, a = actuator, S = slow rate, F = fast rate)

Fig. 3 – Simulation loops considered in CSvRTHS.

Further, a real-time sync block is placed on the system to synchronize the Simulink model with the real-

time kernel clock and ensure that it does not run faster than the user-specified simulation rate. Using this sync

block implies that at each sample interval, the Simulink model is evaluated in real-time. Simulink writes the

input data into a buffer that it passes to the kernel-mode process. The kernel-mode process propagates the data

to the hardware, which writes response data into another buffer. Simulink reads the response data at the next

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

8

time step and propagates it to the rest of the model. In this case, the Accelerator mode of Simulink Desktop

Real-Time is used. This mode implies that simulation is not a “hard” RTHS; that is, producing results after

their deadline is allowed and does not cause catastrophic consequences on the system under control.

A consequence of this limited synchronization is that the simulation can miss consecutive real-time

clock ticks and their associated data points without failure [31]. The reasons why ticks are lost are various; for

example, model complexity implies that the model can be so complex that Simulink cannot keep up with the

kernel in real-time. In this paper, the number of allowable missed ticks (

1,

) was fixed to 500. Consequently,

the number of missed ticks is selected as indicators of the communication protocol’s performance in the

CSvRTHS framework. The reliability of this real-time system is assessed in Sec. 4.2.

3.3 Multi-rate transitioning

One problem working with coupling programs is that the systems may run at different speeds. In this case, El

Centro

./\F

is selected as the seismic record, which implies that OpenSees will perform the integration in

time steps of

F"FV$%0+

, corresponding to the step presented by the record. On the other hand, a time step of

.).FV\$%0+

is selected to perform the control algorithms in Simulink. For multi-rate synchronization, the

literature provides multiple alternatives [32–34]. In this study, the corrector-predictor algorithm proposed by

Nakashima [35] is selected, which for the continuous generation of signals uses polynomial

extrapolation/interpolation. This algorithm is implemented in a StateFlow block in Simulink and can be

obtained in the OpenFresco source code [30]. Fig. 4 shows the displacements from OpenSees, which have a

staircase pattern given their greater temporal distribution. The target displacement obtained from the corrective

predictor algorithm is observed to smooth this signal for the faster Simulink task.

Fig. 4 – Predictor-corrector response in CSvRTHS.

4. Results

4.1 CSvRTHS performance

The CSvRTHS results are presented graphically in this subsection. For displacement comparisons, the node to

the left of the first floor (upper left node of the ES) is selected as representative. In Fig. 5, the measured

displacement is compared to the target displacement for evaluating the compensation method. With

b1$-

$F"Z##$%`+

and

U$-$F"FFY!$%=Wpm+

, a good tracking is achieved, which allows a stable test. Furthermore, it

is noticeable that practically all the error obtained (

b1

) is due to the simulated measurement noise considered

in the sensors.

Meanwhile, Fig. 6 shows a comparison between the measured displacement and the reference

displacement. The

b:

indicator reaches a value of

V"/V$%`+_

which means that correct and accurate results were

obtained. The reference displacement is obtained from a model made entirely in the OpenSees software.

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

9

Fig. 5- Target v/s Measured Comparison and J2 indicator.

Fig. 6 - Reference v/s Measured Comparison and J4 indicator.

Fig. 7 - Global comparison. Base Shear v/s Roof Story Displacement.

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

10

Finally, a comparison in global terms of the structure is added in Fig. 7. For this purpose, the graph of

roof story displacement versus base shear is made. Again, a good concordance of the measured results against

the reference ones is observed, thus validating the substructuring and compensation methodology.

4.2 Reliability of the real-time system

The reliability of CSvRTHS is assessed through a set of

\F

simulation runs. The simulations were carried out

on an MSI laptop, model GF75 Thin 9RCX (2.6 GHz Intel Core i7-9750H processor, 8 Gb RAM), running

Windows 10 version 20H2, running Simulink Desktop Real-Time in Accelerator Mode, and under controlled

room temperature (19°C). The results are shown in Fig. 8, which presents missed ticks statistics during the

real-time execution. The maximum value of missed ticks is

\V#

, which is the worst-case scenario. Therefore,

the limit of

!FF

(established in Section 3.2) is never exceeded, and a fast and efficient communication protocol

is achieved. It is observed that the missed ticks are concentrated in the first

R

to

\$%0+"

Hence, the seismic record

is zero-padded for the first 5[s] to verify that the excitation does not cause this phenomenon. This

communication overhead is probably caused by the initiation of the communication protocol between

applications.

For steady-state real-time simulation (i.e., times after

\$%0+

), the missed tick statistics are significantly

reduced. The lower right graph of Fig. 8 shows a worst-case scenario of

.Z

missed ticks and a zero median.

The peaks of missed ticks are generated in regular intervals of 0.02 [s], coinciding with the duration of the

slow rate process (NS-FE Server). However, it is a low and stable number of missed ticks, compared to the

previous peaks, so it is assumed a greater precision and accuracy in the results after the 4 [s] start of the

CSvRTHS. This result encourages using a seismic record with 5 [s] of zero-padding at the start, thus ensuring

that critical information is not lost.

Fig. 8 – Statistics of the missed ticks during CSvRTHS simulation.

Another simulation alternative is Simulink External Mode, where the resulting executables run in the

operating system kernel mode of the development computer. Parameter data is exchanged with Simulink via a

shared memory interface, allowing full synchronization with the real-time clock. Consequently, missed ticks

are eradicated in this simulation mode, allowing for the development of a “hard” real-time system. Further

investigation of this topic will be carried out in future studies.

5. Conclusions

This study presents a detailed explanation of the fundamental components of CSvRTHS, a virtual real-time

hybrid simulation implemented with a Client-Server communication protocol for coupling a finite element

analysis software (OpenSees) with the real-time control system (Matlab/Simulink). A structural engineering

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

11

example is provided to illustrate its implementation and software validation. Additionally, a previously

developed adaptive compensation method is adopted and validated against a nonlinear specimen,

demonstrating that a robust fixed controller could be used with different experimental substructures, avoiding

subsequent system identification tests.

Validation of the CS communication protocol is achieved for vRTHS, providing enough evidence of this

protocol's modularity and flexibility to connect different computational tasks. Further research will consider

implementing the CS method in RTHS over a network with dedicated microcontroller (client) and FEA

machines (servers) in a laboratory setup. The authors anticipate that this work will boost the development and

deployment of real-time hybrid simulation with high-fidelity numerical models and promote further

collaboration among experts in the field.

6. Acknowledgments

The authors gratefully acknowledge the financial support from Agencia Nacional de Investigación y

Desarrollo (ANID, Chile) through FONDECYT Iniciación research project No. 11190774. Also, we thank

Cristobal Gálmez, M.S. Student at USM, for his assistance with the calibration of the Adaptive Model-Based

Compensation and provide insight and expertise with RTHS that greatly assisted this research. Finally, any

opinions, findings, conclusions, or recommendations expressed in this paper are those of the authors and do

not necessarily reflect those of the sponsors.

7. References

[1] M. Nakashima, “Hybrid simulation: An early history,” Earthq. Eng. Struct. Dyn., no. March, pp. 1–14, Apr. 2020.

[2] M. Nakashima, “Development, potential, and limitations of real-time online (pseudo-dynamic) testing,” Philos.

Trans. R. Soc. A Math. Phys. Eng. Sci., vol. 359, no. 1786, pp. 1851–1867, Sep. 2001.

[3] T. Horiuchi, M. Inoue, T. Konno, and Y. Namita, “Real-time hybrid experimental system with actuator delay

compensation and its application to a piping system with energy absorber,” Earthq. Eng. Struct. Dyn., vol. 28,

no. 10, pp. 1121–1141, Oct. 1999.

[4] A. Ashasi-Sorkhabi, H. Malekghasemi, and O. Mercan, “Implementation and verification of real-time hybrid

simulation (RTHS) using a shake table for research and education,” JVC/Journal Vib. Control, vol. 21, no. 8, pp.

1459–1472, 2015.

[5] R. Enokida, “Basic examination of two substructuring schemes for shake table tests,” Struct. Control Heal.

Monit., vol. 27, no. 4, pp. 1–23, 2020.

[6] Z. Fei, W. Jinting, J. Feng, and L. Liqiao, “Control performance comparison between tuned liquid damper and

tuned liquid column damper using real-time hybrid simulation,” Earthq. Eng. Eng. Vib., vol. 18, no. 3, pp. 695–

701, 2019.

[7] T. L. Karavasilis, J. M. Ricles, R. Sause, and C. Chen, “Experimental evaluation of the seismic performance of

steel MRFs with compressed elastomer dampers using large-scale real-time hybrid simulation,” Eng. Struct., vol.

33, no. 6, pp. 1859–1869, 2011.

[8] A. Stavridis and P. B. Shing, “Hybrid testing and modeling of a suspended zipper steel frame,” Earthq. Eng.

Struct. Dyn., vol. 39, no. 2, pp. 187–209, 2010.

[9] O.-S. Kwon, A. S. Elnashai, B. F. Spencer Jr., and K. Park, “UI-SIMCOR : A global platform for hybrid

distributed simulation,” in 9th Canadian Conference on Earthquake Engineering, 2007, no. June, pp. 139–149.

[10] A. H. Schellenberg, S. A. Mahin, and G. L. Fenves, “Advanced Implementation of Hybrid Simulation. PEER

Report 2009/104,” Peer 2009/104, no. November, p. 286, 2009.

[11] Y. Takahashi and G. L. Fenves, “Software framework for distributed experimental-computational simulation of

structural systems,” Earthq. Eng. Struct. Dyn., vol. 35, no. 3, pp. 267–291, Mar. 2006.

[12] V. Saouma, D.-H. Kang, and G. Haussmann, “A computational finite‐element program for hybrid simulation,”

Earthq. Eng. Struct. Dyn., no. 41, pp. 375–389, 2012.

[13] Y. Zhang, P. Pan, Q. Gu, J. Yang, and K. Deng, “Development of Collaborative Structure Analysis (CSA) system

and its application to investigate effects of soil-structure interaction,” J. Earthq. Eng., vol. 18, no. 7, pp. 1151–

1169, 2014.

[14] P. Mortazavi, X. Huang, O. Kwon, and C. Christopoulos, “An Overview of the University of Toronto Simulation

(UT-SIM) Framework and its Application to the Performance Assessment of Structures,” in 7th International

17th World Conference on Earthquake Engineering, 17WCEE

Sendai, Japan - September 27th to October 2nd, 2021

12

Conference on Advances in Experimental Structural Engineering, 2017.

[15] Q. Gu and O. Ozcelik, “Integrating OpenSees with other software - with application to coupling problems in civil

engineering,” Struct. Eng. Mech., vol. 40, no. 1, pp. 85–103, Oct. 2011.

[16] T. Li, M. Su, Y. Sui, and L. Ma, “Real-time hybrid simulation on high strength steel frame with Y-shaped

eccentric braces,” Eng. Struct., vol. 226, no. September 2020, p. 111369, Jan. 2021.

[17] D. Gomez, C. E. Silva, D. Gomez, A. Maghareh, and S. J. Dyke, “Benchmark control problem for real-time

hybrid simulation Benchmark control problem for real-time hybrid simulation,” Mech. Syst. Signal Process., vol.

135:106381, no. October, 2019.

[18] Matlab, Version 9.9.0 (R2020b). Natick, Massachusetts: The MathWorks Inc., 2020.

[19] F. McKenna, “OpenSees: A framework for earthquake engineering simulation,” Comput. Sci. Eng., vol. 13, no.

4, pp. 58–66, 2011.

[20] A. Schellenberg, H. K. Kim, Y. Takahashi, G. L. Fenves, and S. A. Mahin, “OpenFresco Command Language

Manual,” no. July, 2009.

[21] S. N. Dermitzakis and S. A. Mahin, “Development of Substructuring Techniques for On-Line Computer

Controlled Seismic Performance Testing,” Berkeley, CA, UCB/EERC-85/04, 1985.

[22] D. de Klerk, D. J. Rixen, and S. N. Voormeeren, “General Framework for Dynamic Substructuring: History,

Review and Classification of Techniques,” AIAA J., vol. 46, no. 5, pp. 1169–1181, May 2008.

[23] M. Sysel, “MATLAB/Simulink TCP/IP Communication,” in Proceedings of the 15th WSEAS international

conference on Computers, 2015, no. July 2011.

[24] Matlab, Simulink, Model-Based and System-Based Design: Writing S-Functions Version 5. Natick,

Massachusetts: The MathWorks Inc., 2002.

[25] D. Mera and G. Fermandois, “Client-Server application for vRTHS,” 2021. [Online]. Available:

https://github.com/FermandoisLab/CSvRTHS.

[26] A. Maghareh, C. E. Silva, and S. J. Dyke, “Parametric model of servo-hydraulic actuator coupled with a nonlinear

system: Experimental validation,” Mech. Syst. Signal Process., vol. 104, pp. 663–672, 2018.

[27] J. E. Carrion and B. F. Spencer, “Model-based Strategies for Real-time Hybrid Testing. Technical Report NSEL-

006,” Department of Civil and Environmental Engineering, University of Illinois at Urbana-Champaign, Urbana,

IL, 2007.

[28] G. Fermandois, C. Galmez, and M. Valdebenito, “Optimal Gain Calibration of Adaptive Model-Based

Compensation for Real-Time Hybrid Simulation Testing,” 17th World Conf. Earthq. Eng. (17WCEE), Sendai,

Japan, 2020.

[29] T. Guo, C. Chen, W. Xu, and F. Sanchez, “A frequency response analysis approach for quantitative assessment

of actuator tracking for real-time hybrid simulation,” Smart Mater. Struct., vol. 23, no. 4, p. 045042, Apr. 2014.

[30] A. H. Schellenberg, “OpenFresco,” GitHub Repository, 2018. [Online]. Available:

https://github.com/aschellenberg74/OpenFresco.

[31] Simulink Desktop Real-Time User’s Guide. Natick, Massachusetts: The MathWorks Inc., 2020.

[32] A. Maghareh, J. P. Waldbjørn, S. J. Dyke, A. Prakash, and A. I. Ozdagli, “Adaptive multi-rate interface:

development and experimental verification for real-time hybrid simulation,” Earthq. Eng. Struct. Dyn., vol. 45,

no. 9, pp. 1411–1425, Jul. 2016.

[33] Y. Zhang, R. Sause, J. M. Ricles, and C. J. Naito, “Modified predictor-corrector numerical scheme for real-time

pseudo dynamic tests using state-space formulation,” Earthquake Engineering and Structural Dynamics, vol. 34,

no. 3. pp. 271–288, 2005.

[34] J. Ghaboussi, G. J. Yun, and Y. M. A. Hashash, “A novel predictor-corrector algorithm for sub-structure pseudo-

dynamic testing,” Earthq. Eng. Struct. Dyn., vol. 35, no. 4, pp. 453–476, 2006.

[35] M. Nakashima and N. Masaoka, “Real-time on-line test for MDOF systems,” Earthq. Eng. Struct. Dyn., vol. 28,

no. 4, pp. 393–420, Apr. 1999.