View
11
Download
0
Category
Preview:
Citation preview
MERCURYOptimized Software for Hybrid Simulation;
from Pseudo-Dynamic to Hard Real Time
V. Saouma D.H. Kang G. Haussmann
University of Colorado, Boulder
September 6, 2010
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 1/37
Outline I
1 IntroductionGlobal ContextBackgroundNRC/NEESMercury Overview
2 AnalysisConstitutive ModelsElements
LibraryState Determination
Nonlinear Algorithms
3 HybridMatlabc++; Generalc++; Hybrid Elementc++; Coordinate Transformation
4 ImprovementsRTHS on a Shared Memory Computer
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 2/37
Outline II
RTHS on a Computer Cluster; AlgorithmRTHS on a Computer Cluster; Results
5 Scripting6 Interface
IntroductionHybrid PipeSCRAMNet PipeVirtual Spring PipeEnvironmental Variables
7 Xtras8 Documentation
Technical ManualUser’s manualsValidation Manual
9 RemarksCurrent DevelopmentGraphical Post ProcessorApplications
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 3/37
Outline III
Shake Table vs RTHS
10 Summary
11 Credit
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 4/37
Introduction Global Context
Global Context
Numerical simulation remains a major challenge to EQ engineering community.
We can simulate the explosion of a nuclear bomb, but we can not (“exactly”)simulate seismic response of structures.
Must rely on experiments of structural components, or systems to capturecomplex response.
Finite element modeling capabilities are sophisticated, but not yet “perfect”.
Many (hundreds of) laboratories
Are equipped with digitally controlled actuators/load frames (and LabView),and continue to operate under load/strain/stroke control only.Could benefit from a full nonlinear finite element code which can beplugged in LabView/Simulink to drive their tests
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 5/37
Introduction Background
Background
Existing software not ideally suited for single site pseudo dynamic (PsD)and RTHS.
Software may require support of a “facilitator” (such as OpenFresco orSIMCOR) to interact with hardware. Essential for distributed hybridsimulation, a handicap for single site HS.
The literature provides very little evidence of RTHS of structures(complexity of the numerical substructure, validation with shake tabletests).
Boulder embarked in a project to
Develop an optimized software for single site PsD and RTHS (not meant asan alternative to OpenSees, Sap2000, Midas, ...)Perform RTHS of a reinforced concrete frame previously tested on a shaketable, and compare results.
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 6/37
Introduction NRC/NEES
A Research Agenda for the Network for
Earthquake Engineering Simulation (NEES)
Committee to Develop a Long-Term Research
Agenda for the N etwork for Earthquake Engineering Simulation (N EES)
Board on Infrastructure and the Constructed Environment
Division on Engineering and Physical Sciences
Preventing Earthquake
DisastersTHE GRAND CHALLENGE IN EARTHQUAKE ENGINEERING
National Research Council
One of the primary goals of NEESis to foster a movement towardintegrated computer simulation andphysical testing.
Holy Grail: replace all testing bynumerical simulation. How can weachieve it?
1 Increase sophistication of real timehybrid simulation (RTHS).
2 Gradually replace/eliminate ST testsby RTHS.
3 Eliminate ST & RTHS
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 7/37
Introduction Mercury Overview
Mercury Overview
Two identical versions
Matlab (used for prototyping, and pedagogical purposes)c++ for deploymentStudents found it much easier to start with the Matlab version, and then runthe c++ version.
Has most of the key features likely to be required in a comprehensivenonlinear RTHS of steel or reinforced concrete structures.
Runs within LabView, Simulink/xPC, or real time Linux.
Optimized for speed and performance.
“Battle tested”
c++ version with a complex RTHS simulation.Matlab version in a new course (Nonlinear Structural Analysis)
Extensive documentation, and validation.
Will be supported by Boulder if you decide to adopt it.
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 8/37
Analysis Constitutive Models
Constitutive Models; fiber elements
Steel
Models with isotropic and kinematichardening
Bilinear with isotropic hardening
Modified Giuffre-Pinto
tanE
1 1C ( , )rev revε σ
1 10 0( , )ε σ
2 20 0B ( , )ε σ
2 2A ( , )rev revε σ
E
yε
Strain [mm/mm]
Stre
ss [
Mpa
]
-0.04 -0.02 0 0.02 0.04 0.06 0.08
-2000
-1000
0
1000
2000
(a)
(b)
Concrete
Modified Kent and Park
A
B C
1 1D( , )m mε σ
EF
G
H
2 2I( , )m mε σ
R( , )R Rε σ
1tε
2tε
1RE
2RE
20.5 RE⋅
20E
10.5 RE⋅
cE
cE
cε
cσ
Anisotropic damage model(LMT/Cachan)
-4.0
-3.5
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5
0.0
0.5
1.0
-0.010 -0.008 -0.006 -0.004 -0.002 0.000 0.002
Str
ess
[kN
/mm
2]
Strain [mm/mm]
Strain-Strain Curve
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 9/37
Analysis Constitutive Models
Constitutive Models; Lumped Plasticity
Model of Ibarra, Medina and Krawinkler (2005)
1
0
2
37
4
5
6
8
F
y
!F
1
!F
1
"F
y
"F
0
! 1
!
0
" 1
"
0
"K
1
"K
K
1
!K
0
!K
Original Envelope Original Envelope
1
0
2
3
7
45
6
8
F
y
!F
,1ref
!F
y
"F
0
! 1
!
0
" 1
"
K
,1reK
,0ref
!F
,1ref
"F
,0ref
"F
Basic strength deterioration Post capping strength deterioration
1
0
2
3
7
4
5
6
F
y
!F
y
"F
K
1K
Original Envelope
K
2K
Interruption
(Disregard stiffness deterioration)
1
0
2
3
7
4
5
6
8
F
y
!F
y
"F
0
!
0
"
K
,1reK
Original Envelope
9
,1s
!#
,1s
"#
Unloading stiffness deterioration Accelerated reloading stiffness deterioration
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 10/37
Analysis Elements
Element Library
2D truss and beam-columns
Stiffness Based
Flexibility Based (with or withoutelement iterations)
x
y
z
x
, ( )e yw x
, ( )e xw x1 1,z zM �
2 2,x xN u� �
2 2,z zM �
1 1,z zM �
, ( )e yw x
, ( )e xw x ( ), ( )z zM x xφ
( ), ( )x zN x xε
eL
Layered (fiber) sections
x
z
y y
zifiby
ifibz
Zero length elements and sections
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 11/37
Analysis Elements
State Determination
Analysis
,tnP1
int
, ,
ext
t n t n P P?
8
a) Structure level; , u P b) Element level; , d f
,tnu
2
Element Nodal
Forces
intint
,, , enenff
Structure Tangent
Stiffness Matrix
tan
SK
Structure Nodal
Forcesint
,tnP7
c) Section level;
4Section
Deformations ,,senConstitutive Model
! "D# $ $ !f % &$
Section
Forces
Section
Forces , ,s e n#
Elem
ent N
odal
Disp
lacemen
ts,
en
d E
lemen
t
Nod
al
Fo
rces,
en
f
Element Nodal
Displacements ,e nd
3
int
,,sen
?5 int
, ,e n e n d d
Element Tangent
Stiffness Matrix
tan tan
, ,,e n e nk k
66
7
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 12/37
Analysis Nonlinear Algorithms
Nonlinear Analysis
Solution AlgorithmsLinear staticEigenvalue analysisInitial stiffnessNewton-RaphsonModified Newton-Raphson
Mixed User can specify automatic change of solution algorithm ifconvergence fails
Convergence CriteriaDisplacement normForce normEnergy norm
IntegratorsStatic
Load controlDisplacement controlArc length†
TransientNewmark βHilber-Hughes-Taylorα
Shing (IS, NR, or MNR)
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 13/37
Hybrid Matlab
Hybrid Capabilities; Matlab
Supports (non-real time) distributed hybridelement
Communication through TCP/IP,
“Physical element” can be another versionof Mercury.
Transfers nodal displacementshybrid2DBeamColumnNumerical
Slave node (if Mercury) can returnrestoring forces and nodal displacementshybrid2DBeamColumnPhysical.
For “debugging” (testing coordinate transformation) and teaching
♦ Defintion of hybrid element in Mercury_Master with IP address2
elements = {{eletag1, Hybrid2DBeamColumnNumerical , in, jn, sectag, IP address1 , port number}};
♦ Definition of physical element in Mercury_Slave with IP address1
hybrid = { Hybrid2DBeamColumnPhysical , IP address2 , port number, eletag2}
Hy
bri
d2
DB
eam
Co
lum
nN
um
eric
alw
ith
elet
ag1
clientdouble.m
clientdouble( IP address2,
port number,
number of retries)
Hy
bri
d2
DB
eam
Co
lum
nP
hy
sica
lw
ith
elet
ag2
serverdouble.m
serverdouble( ,
port number,
number of retries)
n
ed
TCP/IP Connection
serverdouble.m
serverdouble( ,
port number,
number of retries)
clientdouble.m
clientdouble( IP address1,
port number,
number of retries)
m
ef
serverdouble.m
serverdouble( ,
port number,
number of retries)
clientdouble.m
clientdouble( IP address1,
port number,
number of retries)
m
ed
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 14/37
Hybrid c++; General
Hybrid Capabilities; c++
Hybrid Element converts numerical values into physical space values
transfer interface shuttles data between Mercury and the hosting application thatcontrols the physical test.
Hybrid functionality has been exposed to a command-line program, NationalInstruments LabView, and Mathworks MATLAB/Simulink.
Transfer interface can be used to embed Mercury within other applications
Environment assigns a platform on which Mercury runs.
Mercury performs timestep/increment iteration internally vs. embedded analysis(Mercury performs a single step when triggered by the hosting application)
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 15/37
Hybrid c++; Hybrid Element
Hybrid Element
Appears as an element like any other element in the numerical model computes restoring
forces (finte ) in terms of nodal displacements (d
ne).
Uses physical measurements instead of computation to produce element restoring forces.
Measured quantities include all forces produced by the specimen: stiffness, damping, andinertial forces.
For nonlinear solution user must provide reasonable estimates of initial and tangentstiffness.
n
ed np
m
ef
m
ef
mpd
ed
d
ef
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 16/37
Hybrid c++; Coordinate Transformation
Coordinate Transformation
Element nodal displacements in structural model are converted into actuatordisplacements (pn) which are applied to the physical specimen
measured element restoring forces (fme ) and element nodal displacements (d
me ) from the
specimen are then converted into desired element restoring forces (fde ) and element nodal
displacements (dde ) used in the numerical model
1 1 1X , A , p
BL
nx
ny
nz
nx nxN , u
ny nyV ,v
nz nzM ,
p pxX , u 2 2 2X ,A , p
3 3 3X ,A , p
1
2
p pyY , v
p pz
Z ,
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 17/37
Improvements RTHS on a Shared Memory Computer
RTHS on a Shared Memory Computer
Multithreading based on Intel MKL library
Linear Solver: PARDISO (thread-safe,high-performance, robust, memoryefficient software for large sparsesymmetric matrices).
Force Recovery: is multi-threaded forparallel operations.
Test Problem to Assess benefit ofmulti-threading analysing a R/C frame ofincreasing size.
0
0.5
1
1.5
2
2.5
3
3.5
0 200 400 600 800 1000 1200 1400 1600 1800
Spe
edup
ove
r se
rial p
rogr
am
DOFs in model
Speedup of multithreaded Mercury vs. serial Mercury
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 18/37
Improvements RTHS on a Computer Cluster; Algorithm
RTHS on a Computer Cluster;Algorithm
K3-1
u11
u21
u1m...u1
2u2
2u2
m... u3
1u3
2u3
m...
K0-1
1 2 3
a) Initial stiffness; One processor; m=10
u11
u21
u1m...u1
2u2
2u2
m... u3
1u3
2u3
m...
K1-1
1 2 3
Incr.
Incr.
K2-1
b) Modified Newton-Raphson; m=10 (not feasible, K-1 computationally expensive)
Shared Memory Configuration (Multi-threaded)
1Incr.
SCRAMNet Card
2 3 4 5 6 7 8 9 10 11 12 13 14
K0-1
K0-1
K3-1
K7-1
K10-1
Cluster A (Real time)
Cluster B (Non-Real time) K3-1
Cluster A (Real time)
Cluster A (Real time)
Distributed Memory Configuration (MPI)
c) Saouma-Kang (Variable Initial Stiffness)
K7-1
Iter.
Iter.
Two clusters: A (real time) dedicated to hybrid simulation (multipleCPU for force recoveries); B (not real time) dedicated to evaluation ofK−1t . Swap inverse tangent matrix when completed.
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 19/37
Improvements RTHS on a Computer Cluster; Results
RTHS on a Computer Cluster; Results
1
1.2
1.4
1.6
1.8
2
2.2
2.4
2.6
2.8
1 2 3 4 5 6 7
Sp
eed
up
Number of processors
Speedup (Parallel program)
with inverse matrix & element state determination)
# of elements = 53 # of elements = 109 # of elements = 165 # of elements = 333
# of elements = 389 # of elements = 445 # of elements = 501
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 20/37
Scripting
Scripting Interface: LUA
Embedded in code
MATLAB like syntax (cell arrays), and can easily define functions andvariables
can use alphanumeric (as opposed to just numeric) tags
Listing 1: Example� �
b a r s l i p s e c t i o n f = ’ BSColDFSection ’ ; b a r s l i p s p r i n g f = ’BSColDFSS ’ ;columnsect ion = ’ ColDSection ; b a r s l i p s p r i n g = ’BSColDSS ’ ;b a r s l i p s e c t i o n = ’ BSColDSection ’ ; c o l u mn r i g i d s ec t io n = ’ Co lR ig idSec t ion ’ ;i f ( c o l f l o o r ==1) thennode1 = columnnodename( colbay , c o l f l o o r , 1 ) ;node2 = columnnodename( colbay , c o l f l o o r , 2 ) ;ba rs l ipbo t tom = { s t r i n g . format ( ’ columnbsb_%d_%d ’ , colbay , c o l f l o o r ) ,’ In ter faceElement2D ’ , node1 , node2 ,{ { b a r s l i p s p r i n g f , { 1 , 0 , 0 } } } , { { b a r s l i p s e c t i o n f } } , {0 ,1 ,0 } , { −1 ,0 ,0 } }p las t icco lumn1 = { s t r i n g . format ( ’ columnpl1_%d_%d ’ , colbay , c o l f l o o r ) ,’ StiffnessBased2DBeamColumn ’ , node2 , node3 , { columnsect ion , n I p _ s t i f } }f lexco lumn = { s t r i n g . format ( ’ co lumnf lx_%d_%d ’ , colbay , c o l f l o o r ) ,’ Flexibil ityBased2DBeamColumn ’ , node3 , node4 , { columnsect ion , n I p _ f l e x } ,f lexparams }p las t icco lumn2 = { s t r i n g . format ( ’ columnpl2_%d_%d ’ , colbay , c o l f l o o r ) ,’ StiffnessBased2DBeamColumn ’ , node4 , node5 , { columnsect ion , n I p _ s t i f } }b a r s l i p t o p = { s t r i n g . format ( ’ columnbst_%d_%d ’ , colbay , c o l f l o o r ) ,’ In ter faceElement2D ’ , node5 , node6 ,{ { b a r s l i p s p r i n g , { 1 , 0 , 0 } } } , { { b a r s l i p s e c t i o n } } , {0 ,1 ,0 } , { −1 ,0 ,0 } }r ig idco lumntop = { s t r i n g . format ( ’ co lumnrdt_%d_%d ’ , colbay , c o l f l o o r ) ,
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 21/37
Interface Introduction
Interface and Coupling to Hosting Application
Embedded in code
MATLAB like syntax
can easily define functions and variables
Embedded version of Mercury which runs within another application (thehosting application)
C/C++ code connects embedded Mercury to hosting application(LabView,Simulnk, etc.) which can
Transfer data quantities between embedded Mercury and externalapplicationAllows the hosting application to ’trigger’ embedded Mercury to perform asingle timestep or increment
Input files used for command-line based Mercury can be used byembedded Mercury with minimal changes
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 22/37
Interface Hybrid Pipe
Hybrid Pipe
Abstract interface which connects Mercury hybrid element to a physicalspecimen
Different hybrid pipes must be used/written depending on specificlaboratory hardware
Example: SCRAMNETpipe is specifically designed to work with MTSSCRAMNet-based actuators
Laboratory hardware differences are contained in the Hybrid Pipe code,without affecting other code
Two labs with differing actuator setups could use the same input file bychanging the Hybrid Pipe used
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 23/37
Interface SCRAMNet Pipe
SCRAMNet Pipe
Hybrid Pipe specifically written to work with SCRAMNet-driven MTSactuators
Displacements and Forces of a hybrid element are written/read from theproper SCRAMNet memory locations
Timestepping is synchronized from a SCRAMNet interrupt, lockingMercury’s timestep rate
Useful starting point for writing new Hybrid Pipe classes to handledifferent hardware
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 24/37
Interface Virtual Spring Pipe
Virtual Spring Pipe
A Hybrid pipe that simulates a physical specimen
Useful for testing and verifying simulation setup without actually runningactuators
Simple spring response: F = Kd
Can delay the response by N timesteps, to simulate actuator lag fortesting purposes
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 25/37
Interface Virtual Spring Pipe
Transient Recorders
[fragile]
transientrecorder will accumulateand record displacements and forces for alist of nodes and write them only aftersimulation is completed in order to avoidinterrupting the real-time simulation.
One should specify:
Number of values to record
Number of DOFs in the model
Filename to save the data into
Names/numbers of all the nodes torecord
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 26/37
Interface Environmental Variables
Environmental Variables
Describes which platform Mercuryis running on. There are severalpossible values:
1 CommandLine
2 CommandLineTriggered
3 LabView
4 Simulink
For the CommandLineenvironment, one should use thesolve method to perform analysis,specifying the number of timestepsto use. For any other environment,the user should set some variablesdescribing the model, analysis andloading to use; the environment willproperly trigger Mercury for thespecified number of timesteps.
� �i f ( Environment == "CommandLine " ) then
p r i n t ( " Er ro r : run mercury wi th the −−e x t e r n a l op t ion " )t r a n s i e n t a n a l y s i s : so lve (30000)
elseCommandLineTriggeredHook = t r a n s i e n t a n a l y s i sLabViewHook = t r a n s i e n t a n a l y s i sSimulinkHook = t r a n s i e n t a n a l y s i sModelRef = modelLoadingRef = ear thquakeloadingnumsteps = 30001rampsteps = 1000 −−[ [ ramp up i n i t i a l va lues ] ]
end� �
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 27/37
Xtras
Special Features
Speed
Shared memory: multithreaded with Intel MKL libraryDistributed memory: Two groups of processors (MPI)
Hybrid simulation in real time, element force recoveryspread in a cluster of n processorsContinuous update of tangent stiffness matrix in a “parallel”non real time computer cluster; Initial stiffness matrix iscontinuously overwritten
Refinements of Shing’s Method to allow 10n iterations per incrementof 0.01 sec.
Pushover Analysis Allows application of displacement over multipledof following application of vertical loads (single analysis).
High performance concrete model (Developed by LMT/Cachan)
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 28/37
Documentation Technical Manual
Technical Manual
Over 250 pages of detailed technical documentation for element formulations, constitutivemodels, integration schemes, hybrid elements.
DraftWith the section tangent flexibility matrices at end of the last convergence in structural
level given byctan,k=1,j=0s,e,n (x) = c
tans,e,n−1(x)
the linearization of the section force-deformation relation yields the incremental section defor-mation vectors.
δεεεk=1,j=1s,e,n (x) = ctan,k=1,j=0s,e,n (x) · δσσσ
k=1,j=1s,e,n (x)
The section deformation vectors are updated to the state that corresponds to point B inFig. 3.13(b), and the updated section deformation vector will be given by
εεεk=1,j=1s,e,n (x) = εεεk=1,j=0s,e,n (x) + δεεε
k=1,j=1s,e,n (x)
For the sake of simplicity we will assume that the section force-deformation relation is explic-itly known, then the section deformation vectors εεεk=1,j=1s,e,n (x) will correspond to internal section
force vectors σσσint,k=1,j=1s,e,n (x) and updated section tangent flexibility matrices ctan,k=1,j=1s,e,n (x) in
Fig. 3.13(b) can be defined.The residual section force vectors are then determined
σσσR,k=1,j=1s,e,n (x) = σσσk=1,j=1s,e,n (x)− σσσ
int,k=1,j=1s,e,n (x)
and are transformed into residual section deformation vectors εεεR,k=1,j=1s,e,n (x)
εεεR,k=1,j=1s,e,n (x) = ctan,k=1,j=1s,e,n (x) · σσσ
R,k=1,j=1s,e,n (x)
The residual section deformation vectors are thus the linear approximation of the deforma-tion error made in the linearization of the section force-deformation relation (Fig. 3.13(b)).While any suitable section flexibility matrix can be used to calculate the residual section defor-mation vector, the section tangent flexibility matrices offer the fastest convergence rate.
The residual section deformation vectors are integrated along the element using the com-plimentary principle of virtual work to obtain the residual element nodal displacement vector.
d̃R,k=1,j=1e,n =
∫ Le0
Nf,e(x)T· εεεR,k=1,j=1s,e,n (x)dx
At this stage the first iteration (j = 1) is completed. The final element and section states for
j = 1 correspond to pointB in Fig. 3.13. The residual section deformation vectors εεεR,k=1,j=1s,e,n (x)
and the residual element nodal displacement vector d̃R,k=1,j=1e,n were determined in the firstiteration, but the corresponding element nodal displacement vector have not yet been updated.Instead, they constitute the starting point of the remaining steps within iteration loop j.
The presence of residual element nodal displacement vector d̃R,k=1,j=1e,n will violate com-patibility, since elements sharing a common node would now have different element nodal dis-placement vector. In order to restore the inter-element compatibility, corrective force vector
56
Draftef%
A
D
B
C
, 1e n−f%
0, 0
, 1 ,
k j
e n e n
= =
−=d d% % 1, 1
,
k j
e n
= =d%
ed%
1, 2
,
k j
e n
= =d%1, 3,
k j
e n
= =d%
1, 1
,
1, 0 1, 1
,
k j
e n
k j k j
e e n
δ
δ
= =
= = = ==
f
k d
%
% %
int, 1, 1
,
k j
e n
= =f%
1, 1
,
k j
e nδ= =
d% , 1, 1,
R k j
e n
= =d%
, 1, 2
,
R k j
e n
= =d%
, 1, 3
, 0R k j
e n
= ==d%
tan, 1, 1
,
k j
e n
= =c%
tan, 1, 2
,
k j
e n
= =c%
36tan, 1, 3
,
k j
e n
= =c%
int, 1, 3
,
k j
e n
= =f%
in t, 1, 2
,
k j
e n
= =f%
1, 2
,
1, 1 , 1, 1
, ,
k j
e n
k j R k j
e n e n
δ= =
= = = ==
f
c d
%
%%
3
2
1
25
13
37
15
27
26
27
24
12
38
1, 3
,
1, 2 , 1, 2
, ,
k j
e n
k j R k j
e n e n
δ= =
= = = ==
f
c d
%
%%
A
D
B
C
1, 1
, , ( )k j
s e n xδ= =
εεεε
, ( )s e xσσσσ
, ( )s e xεεεε0, 0
, , 1 , ,( ) = ( )k j
s e n s e nx x= =
−ε εε εε εε ε
, , 1( )s e n x−σσσσ1, 1
, , ( )k j
s e n x= =
εεεε
int, 1, 1
, , ( )k j
s e n x= =
σσσσ
, 1, 1
, , ( )R k j
s e n x= =
σσσσ
tan, 1, 1
, ( )k j
s n x= =
c
, 1, 1
, , ( )R k j
s e n x= =
εεεε
1, 2
, , ( )k j
s e n x= =
σσσσ
1, 2
, , ( )k j
s e n xδ= =
εεεε
1, 2
, , ( )k j
s e n x= =
εεεε
tan, 1, 2
, , ( )k j
s e n x= =
c
, 1, 2
, , ( )R k j
s e n x= =
σσσσ
int, 1, 2
, , ( )k j
s e n x= =
σσσσ
, 1, 2
, , ( )R k j
s e n x= =
εεεε
1, 3
, ,
1, 3
, , ,
( )
( )
k j
s e n
k j
f e s e n
x
x
δ
δ
= =
= == N f%
σσσσ
1, 3
, , ( )k j
s e n xδ= =
εεεε
1, 3
, , ( )k j
s e n x= =
εεεε
tan, 1, 3
, , ( )k j
s e n x= =
c
, 1, 3
, , ( ) 0R k j
s e n x= =
=σσσσ
, 1, 3
, , ( ) 0R k j
s e n x= =
=εεεε
1, 1
, ,
1, 1
, ,
( )
( )
k j
s e n
k j
f e e n
x
x
δ
δ
= =
= == N f%
σσσσ
1, 3
, ,
int, 1, 3
, ,
( )
( )
k j
s e n
k j
s e n
x
x
= =
= ==
σσσσ
σσσσ
1, 1
, , ( )k j
s e n x= =
σσσσ1, 2
, ,
1, 2
, ,
( )
( )
k j
s e n
k j
f e e n
x
x
δ
δ
= =
= == N f%
σσσσ
18
116
7
30
23
3519
31
4
29 33
5
17
21
9 10
16
22
34
28
8 20
32
(a) Element state determination
(b) Section state determination
3a 5
4
A
B
Fig. 3.13 Element and section state determinations for flexibility-based 2D beam-column ele-
ment with Newton-Raphson iteration loop in element level
54
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 29/37
Documentation User’s manuals
User’s Manuals
One for Matlab version, and one for c++
Draft- Tol: Convergence criteria on the residuals
Example:FlexibilityBased2DBeamColumn in Sec. A.4, then we could have: StrMiter = 20; EleMiter= 50; Convergence = ‘ForceNorm’; ConvergenceEle = ‘EnergyNorm’; Tolerance = 1.0e-8
A.3 Geometry Block
The geometry block defines nodal coordinates and their constraints assuming a right handedcoordinate system.
A.3.1 Nodal coordinates
The nodcoord assigns coordinates of nodes.
nodcoord = { nodtag1, x1, y1 [z1] ;... ;nodtagi, xi, yi [zi] ;... ;nodtagn, xn, yn [zn] }
for example:
Node = { 1, 0.0, 0.0 ;2, 1.0, 3.0 ;3, 2.0, 0.0 }
A.3.2 Boundary condition
The constraint command assigns boundary conditions to the nodes. Each node has tohave as many constraint as d.o.f’s per node.
constraint = { nodtag1, id11, id1
2[ id1
3, id1
4, id1
5, id1
6] ;
... ;nodtagi, idi
1, idi
2[ idi
3, idi
4, idi
5, idi
6] ;
... ;nodtagn, idn
1, idn
2[ idn
3, idn
4, idn
5, idn
6] }
Where 0 corresponds to a free dof, and 1 to a fixed one. For example:constraint = { 3, 1, 1 ;
5, 1, 0 }
A.4 Element Block
The elements command defines element type, nodal connectivity, and basic sectional infor-mation. These may vary with the element type.
252
Chapter 1
MERCURY USER’S MANUAL
FOR C++
This document1 describes the input for C++ version of Mercury. The C++ version usesthe Lua scripting language2 (analogous to TCL in OpenSees).
1.1 nodes
The “nodes” command defines nodal coordinates, and nodal masses if material densities arenot in materials.
nodes = { { nodtag1, x1, y1 [, z1] [, ‘mass’, mx1, my1 [, mz1]] };{ . . . };{ nodtagi, xi, yi [, zi] [, ‘mass’, mxi, myi [, mzi]] };{ . . . };{ nodtagn, xn, yn [, zn] [, ‘mass’, mxn, myn [, mzn]] } };
• nodtagi: Tag of the ith node
• xi, yi, and zi are node coordinates of node i at each global coordinate.
• mxi, myi, and mzi are mass quantities of node i at each global coordinate.
1.2 elements
The “elements” command defines element type, nodal connectivity, and basic section infor-mation. These may vary with the element type.
elements = { { Definition of element1 };{ . . . };{ Definition of elementi };{ . . . };{ Definition of elementn } };
1In this preliminary version of Mercury, no attempt has been made to simplify (generate/automate) dataentry, and there is not (yet) a mesh generator for the program. Those are simple future developments.
2http://www.lua.org/
5
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 30/37
Documentation Validation Manual
Validation Manual
Over 30 examples used for validations. Each problem stored in a separate folder containing: a)Matlab input file; b)c++ (lua) input file; c) OpenSees (tcl) input file; and d) Excel/visio files forresults
Example Algorithm Element Section Material Analysis 1 Analysis 2
Ex01 Linear Simple truss General Elastic Static Newmark beta
Ex02 Linear Simple truss General Elastic Load control HHT
Ex03 Linear Simple truss General Elastic Load control
Ex04 Linear Simple truss General Elastic Disp control
Ex05 Mixed Simple truss General Elastic and Hardening Static Newmark beta
Ex06 Mixed Simple truss General Elastic and Hardening Load control HHT
Ex07 Mixed Simple truss General Elastic and Hardening Newmark beta
Ex08 Mixed Simple truss General Elastic and Hardening Disp control HHT
Ex09 Mixed Simple truss General Elastic and Bilinear Load control Newmark beta
Ex10 Mixed Simple truss General Elastic and ModGMP Load control HHT
Ex11 Mixed Simple truss General Damage2 Cyclic disp control
Ex12 Mixed Simple truss General ModKP Cyclic disp control
Ex13 Mixed Simple truss General Hardening Cyclic disp control
Ex14 Mixed Simple truss General Hardening Cyclic disp control
Ex15 Mixed Simple truss General Hardening Cyclic disp control
Ex16 Mixed Simple truss General Bilinear Cyclic disp control
Ex17 Mixed Simple truss General Bilinear Cyclic disp control
Ex18 Mixed Simple truss General ModGMP Cyclic disp control
Ex19 Mixed Simple truss General ModGMP Cyclic disp control
Ex20 Mixed SBC Layer Hardening Cyclic disp control HHT
Ex21 Mixed FBC1 Layer Hardening Cyclic disp control Shing
Ex22 Mixed FBC2 Layer Hardening Cyclic disp control
Ex23 Mixed SBC and zero-length General Elastic and Bilinear Load control
Ex24 Mixed SBC and zero-length section General Elastic and Bilinear Load control
Ex25 Mixed SBC Layer Hardening Multiple disp control
Ex26 Mixed FBC1 Layer Hardening Multiple disp control
Ex27 Mixed Ghanoumn single column Layer ModGMP and ModKP HHT
Ex28 Mixed Ghanoumn single column Layer ModGMP and Damage2 HHT
Ex29 Mixed Ghannoum 3 bay 3 floor Layer Mixed materials HHT/Shing
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 31/37
Remarks Current Development
Current Development
Timoshenko beam
Graphical (OpenGL based) post-processor
Geometric nonlinearity
Limit elements
Online tutorials
Mesh generator
Translator from Matlab to Lua
Improved documentation for integration with hybrid simulation
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 32/37
Remarks Graphical Post Processor
Graphical Post Processor
A Graphical Post Processor (written in Matlab) is under currentdevelopment. It will support both the Matlab and the C++ versions, andwill provide a GUI through which user could visualize various results.
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 33/37
Remarks Applications
Applications
Mercury has been “battle tested" through two major endeavors:
Research Real time Hybrid Simulation of a reinforced concreteframe with non-ductile columns, and comparison withshake table test results.
Education in a new course “Nonlinear Structural Analysis” in whichstudents first used the Matlab version to gently acquaintthemselves with basic concepts (including modifying thecode), and then with the c++ version for a comprehensiveproject on seismic rehabilitation.
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 34/37
Remarks Shake Table vs RTHS
Comparison between Shake Table and RTHS; The Video
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 35/37
st-rths-short-high-quality.wmvMedia File (video/x-ms-wmv)
Summary
Summary
Mercury
Is a full nonlinear structural dynamic finite element code which can beembedded inside LabView for pseudo-dynamic tests, or real time hybridsimulation.
Is more than a software for hybrid dynamic nonlinear analysis of civilengineering structures.
It is a concept of hardware in the loop which can be adapted to otherdisciplines such as automotive and aerospace engineering.
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 36/37
Credit
Credit
Prof. Victor Saouma Project DirectorDr. Dae-Hang Kang Development of Mercury Matlab, c++
Dr. Gary Haussmann Development of Mercury c++ &Hybrid capabilitiesLMT/Cachan Anisotropic model
State of Colorado Financial support
V. Saouma et al.; Univ. of Colorado Mercury; Optimized Software for Hybrid Simulation 37/37
IntroductionGlobal ContextBackgroundNRC/NEESMercury Overview
AnalysisConstitutive ModelsElementsNonlinear Algorithms
HybridMatlabc++; Generalc++; Hybrid Elementc++; Coordinate Transformation
ImprovementsRTHS on a Shared Memory ComputerRTHS on a Computer Cluster; AlgorithmRTHS on a Computer Cluster; Results
ScriptingInterfaceIntroductionHybrid PipeSCRAMNet PipeVirtual Spring PipeEnvironmental Variables
XtrasDocumentationTechnical ManualUser's manualsValidation Manual
RemarksCurrent DevelopmentGraphical Post ProcessorApplicationsShake Table vs RTHS
SummaryCredit
Recommended