The following example is used to demonstrate the configuration details of the applications, i.e., integration module, NICON-NIO, MTS CSIC, and MTS 793 software, for hybrid simulations.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/OS_NICON_example.png)
The example is a two-dimensional one-story one-bay steel frame with a single concentric buckling-restrained brace (BRB) to resist lateral loading due to the earthquake excitation. The columns are simply supported at their base and the beam is connected to the columns using simple connections without flexural rigidity. Both columns are 254x254x8.0 HSS members of Class C 350W structural steel. The beam element can be assumed to be a axially rigid element. The core of the BRB consists of a 160mm x 6.4mm steel plate of 300W structural steel. The whole system is supported by a raft foundation founded on dense soil where the soil settlements are negligible. The seismic weight of the system is 2000 KN (equivalent to a seismic mass of 204 tons) and is lumped at the first story.
The structure is decomposed into one OpenSees integration model with the beam and columns modelled by a truss element and two elasticBeam elements, respectively. The substructure model includes the BRB that is physically tested in the lab. The communication between the integration model and NICON-NIO as well as the data exchange between NICON-NIO and the MTS controller are illusrated below:
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/Communication.png)
OpenSees Integration Model¶
The configuration of the OpenSees integration model is the same as the OpenSees model used in the OpenSees-to-OpenSees multi-platform simulation. More details can be found here.
NICON-NIO¶
There are two configuration files (*.cfg) to define the parameters requires for the functions implemented in NICON-NIO. Specifically, “NICON.cfg” file includes the parameters for the communication, MTS control and data acquisition, as well as error compensation functions. “CoordTransform.cfg” file is used for the coordinate transformation function.
NICON.cfg¶
The screenshot of the "NICON.cfg" file for the example structure is shown below.
# configuration file for UTSIM-MTSCSI
# port number
Port = 8090
# number of trial control points
numTrialCPs = 1
# number of CtrlSignals per control point
CtrlDOFs =
1
# number of feedback signals for each control point (excluding external signals)
OutDOFs =
2
# number of external feedback signals for each control point
ExtDOFs =
0
# Controller type
# 1 - MTS controllers
CtrlType = 1
# ramp time (in ms)
Tramp = 50
# hold time (in ms)
Thold = 100
# Flag for error compensation
# 0 - no error compensation
# 1 - Integral control method
#10 - User-defined function
ErrCom = 0
# Log file
# 0 - no log file
# 1 - create log file
Comm_log = 1
where
- Port - This parameter defines the port number for communication between the numerical model and NICON-MTS. The port number specified here should be the same as the port number in Structfile.txt for OpenSees numerical model.
- numTrialCPs - This parameter defines the total number of control point(s) in the simulation. In this example, although two interface nodes are specified in the OpenSees model for data exchange, there is only one control point after removing the rigid body motion of the BRB specimen as shown in Figure 10. Therefore, numTrialCPs is equal to 1.
- CtrlDOFs - This parameter defines the number of DOFs of each control point. The values are specified in the line next to the line of the keyword “CtrlDOFs =” and separated by spaces. For the BRB specimen in this example, there is only one control point and one control DOF (axial deformation only).
- OutDOFs - This parameter defines the size of the feedback signals of each control point. In pseudo-dynamic testing, the feedback signals of a control point are the measured actuators’ strokes followed by the measured forces. Each actuator’s stroke and force are measured by a linear displacement transducer and a load cell attached to the actuator. Similar to CtrlDOFs parameter, the size of the feedback signals is specified in the line next to the line of the keyword “OutDOFs =” and space is used to separate the values for two different control points. In this example, the size of the feedback signals is two (one for measured axial displacement and one for measured axial force).
- ExtDOFs - This parameter defines the size of additional feedback signals for error compensation. The additional feedback signals are measured displacements that reflect the actual deformation of the physical specimen. This parameter follows the same format as that of CtrlDOFs.
- CtrlType - This parameter indicates the type of controllers to be used for hybrid simulations. This document only focuses on MTS controllers with CtrlType=1. Other controllers will be implemented in the future.
- Tramp - This parameter defines the time in millisecond for ramp generation (t_r) as shown in Figure 5.
- Thold - This parameter defines the time in millisecond for the hold stage (t_h) as shown in Figure 5.
- ErrCom - This parameter indicates the method for error compensation. For example, no error compensation is considered in the hybrid simulation if ErrCom=0. For ErrCom=1, the integral control method proposed by Change et al. (2015) is used. Meanwhile, the gain value (α,β), error tolerance, and the maximum number of iterations can be defined next to the line of “ErrCom=1” as illustrated below. Besides, to allow the use of a user-defined error compensation scheme implemented in Python, ErrCom can be defined as 10. More details about the user-defined Python code can be found in the NICON manual.
# Flag for error compensation
# 0 - no error compensation
# 1 - Integral control method
# Alpha, beta, tolerance, number of iterations
#10 - User-defined function
ErrCom = 1
1 1 1e-3 10
- Comm_log - This parameter is for data logging. If Comm_log=1, a log file with displacement commands and feedback signals at each analysis step will be generated for further analysis. No log file will be generated if Comm_log=0.
CoordTransform.cfg¶
The “CoordTransform.cfg” file for the physical BRB specimen is shown below.
# Number of Control points
# followed by the number of dofs of each control point
NumCPs = 1
1
# Number of interface nodes separated by space
NumNode =
2
# Effective DOFs of each interface node
EFF_DOF =
1 1 0 0 0 0
1 1 0 0 0 0
# Control DOFs of each control point
CP_DOF =
0 1 0 0 0 0
# Number of actuators of each control point
NumAct =
1
# Number of external LVDTs of each control point
NumExt =
0
# Remove rigid body movement or not
# 0 - No; 1 - Yes
ReFlag =
1
# Standard unit vectors of element coordinate in global coordinate
# one line for each specimen
upx =
0.876215909 0.48191875 0
upy =
-0.48191875 0.876215909 0
upz =
0 0 1
# Standard unit vectors of element coordinate in control point's coordinate
uppx =
0 1 0
uppy =
-1 0 0
uppz =
0 0 1
# Flag for transformation from control points to actuators
# 0 - No
# 1 - Yes
PAFlag = 1
# Specimen lengths, unit: mm
L =
6847.627326
# Initial control point
vo =
0 0 0
# Initial platform pin location of each actuator
pjo =
0 0 0
# Base pin location for each actuator
qjo =
0 200 0
# scale factor for control signals (displacements)
CtrlScal =
1.0
# scale factor for measured displacements
OutScalD =
1.0
# scale factor for measured signal
OutScalF =
1.0
where
- NumCPs - This parameter indicates the total number of control points. Besides, the number of DOFs of each control point is listed next to the line of the keyword “NumCPs=”. Space is used to separate the values for two control points.
- NumNode - This parameter is used to define the number of interface nodes for each physical specimen. The values are defined right after the line of the keyword “NumNode =” and separated by spaces.
- EFF_DOF - This parameter is similar to the EFF_DOF parameter of the SubStructure element in the OpenSees integration module. It defines the effective DOFs of each interface node specified in NumNode. The effective DOFs are specified in the structural coordinate system as shown in (a) below. The DOFs are enabled or disabled for communication between the OpenSees model and the NICON program by defining the corresponding indicators as 1 or 0.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/Transformation.png)
- CP_DOF - This parameter indicates the DOFs of each control point specified in NumCPs. The DOFs are defined in the testing apparatus’s Cartesian coordinate system as shown in (d). It follows the same format as EFF_DOF to define the effective DOFs for control.
- CP_DOF - This parameter lists the number of actuators for each control point. The values are defined in the line next to the keyword “NumAct =” and separated by spaces.
- NumExt - This parameter lists the number of external LVDTs used to measure the actual displacement of each control point. The values are defined next to the line of the keyword “NumExt = ” and separated by spaces.
- ReFlag - This parameter is used to indicate whether the transformation from (b) to (c) will be performed or not in NICON-MTS. Set ReFlag = 1 to remove the rigid body motion of the physical specimen. Otherwise, set ReFlag = 0.
- upx, upy, upz - These parameters define the standard unit vectors of the element coordinate system with respect to the global coordinate system. upx, upy, upz are the unit vectors pointing parallel to the x’-axis, y’-axis, and z’-axis of the local coordinate system, respectively, as shown in (b). Each line after the keyword “upx =” (“upy =” and “upz =”) defines the unit vector of each physical specimen.
- uppx, uppy, uppz - These parameters define the standard unit vectors of the element coordinate system with respect to the testing apparatus’ Cartesian coordinate system as shown in (d). uppx, uppy, uppz are the unit vectors pointing parallel to the x’-axis, y’-axis, and z’-axis of the local coordinate system, respectively. Each line after the keyword “uppx =” (“uppy =” and “uppz =”) defines the unit vector of each physical specimen.
- PAFlag - This parameter is used to indicate whether the transformation from (d) to (e) (or (e) to (d)) will be performed in the NICON program. For the cases with PAFlag≠1, the DOF control function within the MTS 793 software needs to be used for the transformation from (d) to (e). Otherwise, the function currently implemented in NICON-MTS is used for transformation from (d) to (e) or (e) to (d).
- L - This parameter defines the length of each physical specimen. The lengths are defined next to the line of the keyword “L =” and separated by space.
- vo - This parameter defines the control points’ locations in the testing apparatus’s Cartesian coordinate system as shown in (d). Each line after the keyword “vo =” defines the coordinates of each control point.
- pjo - This parameter defines the initial platform pin location of each actuator in the testing apparatus’s Cartesian coordinate system as shown in (d). Each line after the keyword “pjo =” defines the platform pin location of each actuator.
- qjo - This parameter defines the base (fixed) pin location of each actuator in the testing apparatus’s Cartesian coordinate system as shown in (d). Each line after the keyword “qjo =” defines the base pin location of each actuator.
- CtrlScal - This parameter defines the scale factors applied to the transformed target displacements before transferring to the MTS 793 software to be imposed on the physical specimens. The scale factors of the control points are defined next to the line of the keyword “CtrlScal =” and separated by spaces.
- OutScalD - This parameter defines the scale factors applied to the acquired displacements from MTS 793 software before sending them back to NICON. The scale factors of the control points are defined next to the line of the keyword “OutScalD =” and separated by spaces.
- OutScalF - This parameter defines the scale factors applied to the acquired forces from MTS 793 software before sending them back to NICON. The scale factors of the control points are defined next to the line of the keyword “OutScalF =” and separated by space.
MTS 793 Software¶
A configuration file with specifications of MTS controllers’ hardware resources for power, input/output, and control mode, is required for the MTS 793 Station Manager before running the hybrid simulation. The configuration file is generated from MTS Station Builder. For the simulation example, the configuration file (Try4.cfg) includes one channel with two control modes (one for displacement and one for force) as shown below. Users can refer to MTS 793 software manual for more information.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/MTS793.png)
MTS CSIC¶
MTS CSIC provides a user-friendly interface as shown in below to generate a configuration file (*.mtscs) with specifications of the control nodes and DOFs that can be well recognized by the MTS 793 control software. The control nodes and DOFs should be defined consistently with those in NICON-MTS (i.e., NICON.cfg). Make sure that the MTS 793 Station Manager is running and a station is loaded (i.e., “Try4.cfg” for the example frame structure) before starting the MTS CSIC program. Once MTS CSIC connects to the Station manager, using the following steps to configure the program:
Step 1: Add control points
- For the example frame structure, only one control point (Control point #1) is added.
Step 2: Define control channels.
- For the example frame structure, only one displacement-controlled channel (Ch 1) with a single DOF (Degree of Freedom #1) is added.
Step 3: Define feedback signals.
- For the example frame structure, two feedback signals (one measured displacement signal followed by one measured force signal) are defined for the same channel (Ch 1).
Step 4: Set simulation mode using the following steps.
- Choose Options > Command Generation > Ramp-Hold (default)
Step 5: Save the configuration file to the folder with NICON-MTS executable using the following steps.
- Choose File > Save
Please refer to MTS CSIC manual for more configuration details.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/CSIC.png)
The generated xml configuration file for the simulation example is shown below.
<?xml version='1.0' encoding='utf-8' ?>
<Configuration name='' commandMethod='0' logLevel='2' version='4.0'>
<Station>
<Parameter name='configPath' value='C:\MTS 793\Controllers\MTS FlexTest 40\Config'/>
<Parameter name='name' value='Try4.cfg'/>
</Station>
<ControlPointSet>
<ControlPoint name='Control Point #1'>
<DegreeOfFreedomSet>
<DegreeOfFreedom name='Degree of Freedom #1' mts793ControlChannel='Ch 1' mts793ControlMode='Displacement' />
</DegreeOfFreedomSet>
<FeedbackSignalSet>
<FeedbackSignal name='Ch 1 Displacement' mts793Signal='Ch 1 Displacement' />
<FeedbackSignal name='Ch 1 Force' mts793Signal='Ch 1 Force' />
</FeedbackSignalSet>
</ControlPoint>
</ControlPointSet>
Run Hybrid Simulation¶
To run a hybrid simulation of the example structure, the following steps should be used.
- Step 1: Run MTS 793 control software.
- Step 1.1: Load the station file (Try4.cfg) using the following steps.
- Choose File > Open Station > Select and open Project folder > Try4.cfg
- Step 1.2: Reset station and program interlock.
- Step 1.3: Offset input and output signals (displacements and forces).
- Step 1.4: Start pump from Station Control panel as shown in Figure 20.
- Step 1.1: Load the station file (Try4.cfg) using the following steps.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/Pump.png)
- Step 2: Run NICON-MTS program.
- Step 2.1: double click “NICON.MTS.exe”
- Step 2.2: Press “Enter” key to load “NICON.cfg”. Once “NICON.cfg” is successfully loaded, the parameters read from the configuration file will show on the executable window as shown below. The users are suggested to check the loaded parameters before proceeding to the next simulation step. Press “c” key to cancel the simulation if needed.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/LoadingNICON.png)
- Step 2.3: Press “Enter” key to load “CoordTransform.cfg”. Once the file is loaded, the configuration parameters will show on the executable window as shown below. The users are suggested to double-check the loaded parameters before proceeding to the next simulation step. Press “c” key to cancel the simulation if needed.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/LoadingCoordTrans.png)
- Step 2.4: Press “Enter” key if the configuration parameters are all correctly loaded until NICON-MTS starts waiting for the connection from the numerical model as shown below.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/Waitingconnection.png)
- Step 3: Run the OpenSees model by sourcing the tcl model file in the OpenSees executable window.
- Step 4: Once the connection between the OpenSees model and NICON-MTS is successfully established as indicated in both OpenSees and NICON-MTS executable windows as shown below
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/EstablishConnection.png)
go back to NICON executable window and press "Enter" key to obtain the initial feedback signals.
![Drawing](https://www.weebly.com/editor/uploads/7/3/8/6/73867701/custom_themes/297119389588664561/files/images/InitialFeedback.png)
- Step 5: Press “Enter” key again in the NICON executable window to continue the hybrid simulation
- Step 6: Once the simulation is done, press “Enter” key to terminate NICON.exe and shut down the pump in MTS 793 software.