MERCURY Optimized Software for Hybrid Simulation; from - - PowerPoint PPT Presentation

mercury optimized software for hybrid simulation
SMART_READER_LITE
LIVE PREVIEW

MERCURY Optimized Software for Hybrid Simulation; from - - PowerPoint PPT Presentation

MERCURY Optimized 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


slide-1
SLIDE 1

MERCURY Optimized 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

slide-2
SLIDE 2

Outline I

1

Introduction

Global Context Background NRC/NEES Mercury Overview

2

Analysis

Constitutive Models Elements Library State Determination Nonlinear Algorithms

3

Hybrid

Matlab c++; General c++; Hybrid Element c++; Coordinate Transformation

4

Improvements

RTHS on a Shared Memory Computer

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 2/37

slide-3
SLIDE 3

Outline II RTHS on a Computer Cluster; Algorithm RTHS on a Computer Cluster; Results

5

Scripting

6

Interface

Introduction Hybrid Pipe SCRAMNet Pipe Virtual Spring Pipe Environmental Variables

7

Xtras

8

Documentation

Technical Manual User’s manuals Validation Manual

9

Remarks

Current Development Graphical Post Processor Applications

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 3/37

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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 capture complex 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 be plugged in LabView/Simulink to drive their tests

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 5/37

slide-6
SLIDE 6

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 or SIMCOR) to interact with hardware. Essential for distributed hybrid simulation, a handicap for single site HS. The literature provides very little evidence of RTHS of structures (complexity of the numerical substructure, validation with shake table tests). Boulder embarked in a project to

Develop an optimized software for single site PsD and RTHS (not meant as an alternative to OpenSees, Sap2000, Midas, ...) Perform RTHS of a reinforced concrete frame previously tested on a shake table, and compare results.

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 6/37

slide-7
SLIDE 7

Introduction NRC/NEES

A Research Agenda for the Network for Earthquake Engineering Simulation (NEES) Com m i t t ee t

  • Dev

el

  • p

a L

  • ng-

Ter m Res ear c h Agenda f

  • r

t he N et wor k f

  • r

Ear t hquake Engi neer i ng Si m ul at i

  • n

( N EES) Boar d

  • n

I nf r as t r uc t ur e and t he Cons t r uc t ed Env i r

  • nm ent

Di v i s i

  • n
  • n

Engi neer i ng and Phys i c al Sc i enc es

Preventing Earthquake Disasters

THE GRAND CHALLENGE IN EARTHQUAKE ENGINEERING

National Research Council One of the primary goals of NEES is to foster a movement toward integrated computer simulation and physical testing. Holy Grail: replace all testing by numerical simulation. How can we achieve it?

1

Increase sophistication of real time hybrid simulation (RTHS).

2

Gradually replace/eliminate ST tests by RTHS.

3

Eliminate ST & RTHS

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 7/37

slide-8
SLIDE 8

Introduction Mercury Overview

Mercury Overview

Two identical versions

Matlab (used for prototyping, and pedagogical purposes) c++ for deployment Students found it much easier to start with the Matlab version, and then run the c++ version.

Has most of the key features likely to be required in a comprehensive nonlinear 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

slide-9
SLIDE 9

Analysis Constitutive Models

Constitutive Models; fiber elements Steel Models with isotropic and kinematic hardening Bilinear with isotropic hardening Modified Giuffre-Pinto

tan

E

1 1

C ( , )

rev rev

ε σ

1 1

( , ) ε σ

2 2

B ( , ) ε σ

2 2

A ( , )

rev rev

ε σ E

y

ε Strain [mm/mm] Stress [Mpa]

  • 0.04
  • 0.02

0.02 0.04 0.06 0.08

  • 2000
  • 1000

1000 2000

(a) (b)

Concrete Modified Kent and Park

A B C

1 1

D( , )

m m

ε σ

E F G H

2 2

I( , )

m m

ε σ R( , )

R R

ε σ

1 t

ε

2 t

ε

1 R

E

2 R

E

2

0.5

R

E ⋅

20

E

1

0.5

R

E ⋅

c

E

c

E 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

Stress [kN/mm2] Strain [mm/mm]

Strain-Strain Curve

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 9/37

slide-10
SLIDE 10

Analysis Constitutive Models

Constitutive Models; Lumped Plasticity

Model of Ibarra, Medina and Krawinkler (2005)

1 2 3 7 4 5 6 8

F

y !

F

1 !

F

1 "

F

y "

F

! 1 ! " 1 " "

K

1 "

K

K

1 !

K

!

K

Original Envelope Original Envelope 1 2 3 7 4 5 6 8

F

y !

F

,1 ref !

F

y "

F

! 1 ! " 1 "

K

,1 re

K

,0 ref !

F

,1 ref "

F

,0 ref "

F

Basic strength deterioration Post capping strength deterioration

1 2 3 7 4 5 6

F

y !

F

y "

F

K

1

K

Original Envelope

K

2

K

Interruption (Disregard stiffness deterioration) 1 2 3 7 4 5 6 8

F

y !

F

y "

F

! "

K

,1 re

K

Original Envelope 9

,1 s !

#

,1 s "

#

Unloading stiffness deterioration Accelerated reloading stiffness deterioration

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 10/37

slide-11
SLIDE 11

Analysis Elements

Element Library 2D truss and beam-columns Stiffness Based Flexibility Based (with or without element iterations)

x

y

z

x

, ( ) e y

w x

, ( ) e x

w x

1 1

,

z z

M θɶ ɶ

2 2

,

x x

N u ɶ ɶ

2 2

,

z z

M θ ɶ ɶ

1 1

,

z z

M θɶ ɶ

, ( ) e y

w x

, ( ) e x

w x

( ), ( )

z z

M x x φ ( ), ( )

x z

N x x ε

e

L

Layered (fiber) sections

x z y y z

ifib

y

ifib

z

Zero length elements and sections

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 11/37

slide-12
SLIDE 12

Analysis Elements

State Determination

Analysis

, tn

P 1

int , , ext t n t n

P P

?

8 a) Structure level; ,

u P

b) Element level; ,

d f

, tn

u

2

Element Nodal Forces

intint ,, , enen

ff

Structure Tangent Stiffness Matrix

tan S

K

Structure Nodal Forces

int , tn

P 7 c) Section level; 4

Section Deformations ,, sen Constitutive Model

! " D # $ $ ! f % &$

Section Forces Section Forces

, , s e n

#

Element Nodal Displacements

, e n

d

Element Nodal Forces

, e n

f

Element Nodal Displacements

, e n

d 3

int ,, sen

?

5

int , , e n e n

d d

Element Tangent Stiffness Matrix

tan tan , ,

,

e n e n

k k 6 6 7

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 12/37

slide-13
SLIDE 13

Analysis Nonlinear Algorithms

Nonlinear Analysis Solution Algorithms

Linear static Eigenvalue analysis Initial stiffness Newton-Raphson Modified Newton-Raphson

Mixed User can specify automatic change of solution algorithm if convergence fails Convergence Criteria

Displacement norm Force norm Energy norm

Integrators

Static

Load control Displacement control Arc length†

Transient

Newmark β Hilber-Hughes-Taylor α Shing (IS, NR, or MNR)

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 13/37

slide-14
SLIDE 14

Hybrid Matlab

Hybrid Capabilities; Matlab

Supports (non-real time) distributed hybrid element Communication through TCP/IP , “Physical element” can be another version

  • f Mercury.

Transfers nodal displacements hybrid2DBeamColumnNumerical Slave node (if Mercury) can return restoring forces and nodal displacements hybrid2DBeamColumnPhysical.

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} Hybrid2DBeamColumnNumerical with eletag1 clientdouble.m clientdouble( IP address2, port number, number of retries) Hybrid2DBeamColumnPhysical with eletag2 serverdouble.m serverdouble( , port number, number of retries)

n e

d

TCP/IP Connection

serverdouble.m serverdouble( , port number, number of retries) clientdouble.m clientdouble( IP address1, port number, number of retries)

m e

f serverdouble.m serverdouble( , port number, number of retries) clientdouble.m clientdouble( IP address1, port number, number of retries)

m e

d

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 14/37

slide-15
SLIDE 15

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 that controls the physical test. Hybrid functionality has been exposed to a command-line program, National Instruments 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

slide-16
SLIDE 16

Hybrid c++; Hybrid Element

Hybrid Element

Appears as an element like any other element in the numerical model computes restoring forces (f

int e ) in terms of nodal displacements (d n e).

Uses physical measurements instead of computation to produce element restoring forces. Measured quantities include all forces produced by the specimen: stiffness, damping, and inertial forces. For nonlinear solution user must provide reasonable estimates of initial and tangent stiffness.

n e

d

n

p

m e

f

m e

f

m

p

d e

d

d e

f

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 16/37

slide-17
SLIDE 17

Hybrid c++; Coordinate Transformation

Coordinate Transformation

Element nodal displacements in structural model are converted into actuator displacements (pn) which are applied to the physical specimen measured element restoring forces (f

m e ) and element nodal displacements (d m e ) from the

specimen are then converted into desired element restoring forces (f

d e) and element nodal

displacements (d

d e) used in the numerical model

1 1 1

X ,A , p

B

L

n

x

n

y

n

z

nx nx

N , u

ny ny

V ,v

nz nz

M ,

p px

X , u

2 2 2

X ,A , p

3 3 3

X ,A , p

1 2

p py

Y , v

p pz

Z ,

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 17/37

slide-18
SLIDE 18

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, memory efficient software for large sparse symmetric matrices). Force Recovery: is multi-threaded for parallel operations. Test Problem to Assess benefit of multi-threading analysing a R/C frame of increasing size.

0.5 1 1.5 2 2.5 3 3.5 200 400 600 800 1000 1200 1400 1600 1800 Speedup over serial program 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

slide-19
SLIDE 19

Improvements RTHS on a Computer Cluster; Algorithm

RTHS on a Computer Cluster;Algorithm

K3

  • 1

u1

1

u2

1

u1

m

... u1

2

u2

2

u2

m

... u3

1

u3

2

u3

m

... K0

  • 1

1 2 3 a) Initial stiffness; One processor; m=10 u1

1

u2

1

u1

m

... u1

2

u2

2

u2

m

... u3

1

u3

2

u3

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) 1 Incr. 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 (multiple CPU for force recoveries); B (not real time) dedicated to evaluation of K−1

t

. Swap inverse tangent matrix when completed.

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 19/37

slide-20
SLIDE 20

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

Speedup 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

slide-21
SLIDE 21

Scripting

Scripting Interface: LUA

Embedded in code MATLAB like syntax (cell arrays), and can easily define functions and variables 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 ’ ; columnsection = ’ ColDSection ; b a r s l i p s p r i ng = ’BSColDSS ’ ; b a r s l i p s e c ti on = ’ BSColDSection ’ ; columnrigidsection = ’ ColRigidSection ’ ; i f ( c o l f l o o r ==1) then node1 = columnnodename( colbay , c o l f l o o r , 1 ) ; node2 = columnnodename( colbay , c o l f l o o r , 2 ) ; barslipbottom = { s t r i n g . format ( ’ columnbsb_ %d_%d ’ , colbay , c o l f l o o r ) , ’ InterfaceElement2D ’ , node1 , node2 , { { b a r s l i p s p r i n gf , {1 ,0 ,0} } } , { { b a r s l i p s e c t i o n f } } , {0 ,1 ,0} ,{ −1 ,0 ,0} } plasticcolumn1 = { s t r i n g . format ( ’ columnpl1_%d_%d ’ , colbay , c o l f l o o r ) , ’ StiffnessBased2DBeamColumn ’ , node2 , node3 , { columnsection , n I p _ s t i f } } flexcolumn = { s t r i n g . format ( ’ columnflx_%d_%d ’ , colbay , c o l f l o o r ) , ’ FlexibilityBased2DBeamColumn ’ , node3 , node4 , { columnsection , nIp_flex } , flexparams } plasticcolumn2 = { s t r i n g . format ( ’ columnpl2_%d_%d ’ , colbay , c o l f l o o r ) , ’ StiffnessBased2DBeamColumn ’ , node4 , node5 , { columnsection , 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 ) , ’ InterfaceElement2D ’ , node5 , node6 , { { barslipspring , {1 ,0 ,0} } } , { { b a r s l i p s e c ti on } } , {0 ,1 ,0} ,{ −1 ,0 ,0} } rigidcolumntop = { s t r i n g . format ( ’ columnrdt_%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

slide-22
SLIDE 22

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 (the hosting application) C/C++ code connects embedded Mercury to hosting application (LabView,Simulnk, etc.) which can

Transfer data quantities between embedded Mercury and external application Allows the hosting application to ’trigger’ embedded Mercury to perform a single timestep or increment

Input files used for command-line based Mercury can be used by embedded Mercury with minimal changes

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 22/37

slide-23
SLIDE 23

Interface Hybrid Pipe

Hybrid Pipe

Abstract interface which connects Mercury hybrid element to a physical specimen Different hybrid pipes must be used/written depending on specific laboratory hardware Example: SCRAMNETpipe is specifically designed to work with MTS SCRAMNet-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 by changing the Hybrid Pipe used

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 23/37

slide-24
SLIDE 24

Interface SCRAMNet Pipe

SCRAMNet Pipe

Hybrid Pipe specifically written to work with SCRAMNet-driven MTS actuators Displacements and Forces of a hybrid element are written/read from the proper SCRAMNet memory locations Timestepping is synchronized from a SCRAMNet interrupt, locking Mercury’s timestep rate Useful starting point for writing new Hybrid Pipe classes to handle different hardware

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 24/37

slide-25
SLIDE 25

Interface Virtual Spring Pipe

Virtual Spring Pipe

A Hybrid pipe that simulates a physical specimen Useful for testing and verifying simulation setup without actually running actuators Simple spring response: F = Kd Can delay the response by N timesteps, to simulate actuator lag for testing purposes

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 25/37

slide-26
SLIDE 26

Interface Virtual Spring Pipe

Transient Recorders

[fragile]

transientrecorder will accumulate and record displacements and forces for a list of nodes and write them only after simulation is completed in order to avoid interrupting 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 to record

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 26/37

slide-27
SLIDE 27

Interface Environmental Variables

Environmental Variables

Describes which platform Mercury is running on. There are several possible values:

1

CommandLine

2

CommandLineTriggered

3

LabView

4

Simulink

For the CommandLine environment, one should use the solve method to perform analysis, specifying the number of timesteps to use. For any other environment, the user should set some variables describing the model, analysis and loading to use; the environment will properly trigger Mercury for the specified number of timesteps.

✞ ☎

i f ( Environment == "CommandLine " ) then p r i n t ( " Error : run mercury with the − −external

  • ption " )

t r a n s i e n t a na ly si s : solve (30000) else CommandLineTriggeredHook = t r a n s i e n t a na ly si s LabViewHook = t r a n s i e n t an al ys is SimulinkHook = t r a n s i e n t a n al ys is ModelRef = model LoadingRef = earthquakeloading numsteps = 30001 rampsteps = 1000 − −[ [ ramp up i n i t i a l values ] ] end

✝ ✆

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 27/37

slide-28
SLIDE 28

Xtras

Special Features

Speed

Shared memory: multithreaded with Intel MKL library Distributed memory: Two groups of processors (MPI)

Hybrid simulation in real time, element force recovery spread in a cluster of n processors Continuous update of tangent stiffness matrix in a “parallel” non real time computer cluster; Initial stiffness matrix is continuously overwritten

Refinements of Shing’s Method to allow 10n iterations per increment

  • f 0.01 sec.

Pushover Analysis Allows application of displacement over multiple dof 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

slide-29
SLIDE 29

Documentation Technical Manual

Technical Manual

Over 250 pages of detailed technical documentation for element formulations, constitutive models, integration schemes, hybrid elements.

Draft

With the section tangent flexibility matrices at end of the last convergence in structural level given by ctan,k=1,j=0

s,e,n

(x) = ctan

s,e,n−1(x)

the linearization of the section force-deformation relation yields the incremental section defor- mation vectors. δε ε εk=1,j=1

s,e,n

(x) = ctan,k=1,j=0

s,e,n

(x) · δσ σ σk=1,j=1

s,e,n

(x) The section deformation vectors are updated to the state that corresponds to point B in

  • Fig. 3.13(b), and the updated section deformation vector will be given by

ε ε εk=1,j=1

s,e,n

(x) = ε ε εk=1,j=0

s,e,n

(x) + δε ε εk=1,j=1

s,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=1

s,e,n

(x) will correspond to internal section force vectors σ σ σint,k=1,j=1

s,e,n

(x) and updated section tangent flexibility matrices ctan,k=1,j=1

s,e,n

(x) in

  • Fig. 3.13(b) can be defined.

The residual section force vectors are then determined σ σ σR,k=1,j=1

s,e,n

(x) = σ σ σk=1,j=1

s,e,n

(x) − σ σ σint,k=1,j=1

s,e,n

(x) and are transformed into residual section deformation vectors ε ε εR,k=1,j=1

s,e,n

(x) ε ε εR,k=1,j=1

s,e,n

(x) = ctan,k=1,j=1

s,e,n

(x) · σ σ σR,k=1,j=1

s,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. ˜ dR,k=1,j=1

e,n

= Le Nf,e(x)T · ε ε εR,k=1,j=1

s,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 point B in Fig. 3.13. The residual section deformation vectors ε ε εR,k=1,j=1

s,e,n

(x) and the residual element nodal displacement vector ˜ dR,k=1,j=1

e,n

were determined in the first iteration, 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 ˜ dR,k=1,j=1

e,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

Draft

e

f %

A

D B C

, 1 e n−

f %

0, , 1 , k j e n e n = = − =

d d % %

1, 1 , k j e n = =

d % e

d %

1, 2 , k j e n = =

d %

1, 3 , k j e n = =

d %

1, 1 , 1, 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 , R k j e n = = =

d %

tan, 1, 1 , k j e n = =

c %

tan, 1, 2 , k j e n = =

c % 36

tan, 1, 3 , k j e n = =

c %

int, 1, 3 , k j e n = =

f %

int, 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, , , 1 , ,

( ) = ( )

k j s e n s e n

x 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 , ,

( )

R k j s e n

x

= =

= σ σ σ σ

, 1, 3 , ,

( )

R 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 11 6 7 30 23 35 19 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

slide-30
SLIDE 30

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 handed coordinate 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 to have as many constraint as d.o.f’s per node. constraint = { nodtag1, id1

1, 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, }

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 uses the Lua scripting language2 (analogous to TCL in OpenSees).

1.1 nodes

The “nodes” command defines nodal coordinates, and nodal masses if material densities are not 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) data

entry, 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

slide-31
SLIDE 31

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 for results

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

Remarks Graphical Post Processor

Graphical Post Processor

A Graphical Post Processor (written in Matlab) is under current

  • development. It will support both the Matlab and the C++ versions, and

will 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

slide-34
SLIDE 34

Remarks Applications

Applications

Mercury has been “battle tested" through two major endeavors: Research Real time Hybrid Simulation of a reinforced concrete frame with non-ductile columns, and comparison with shake table test results. Education in a new course “Nonlinear Structural Analysis” in which students first used the Matlab version to gently acquaint themselves with basic concepts (including modifying the code), and then with the c++ version for a comprehensive project on seismic rehabilitation.

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 34/37

slide-35
SLIDE 35

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

slide-36
SLIDE 36

Summary

Summary

Mercury

Is a full nonlinear structural dynamic finite element code which can be embedded inside LabView for pseudo-dynamic tests, or real time hybrid simulation. Is more than a software for hybrid dynamic nonlinear analysis of civil engineering structures. It is a concept of hardware in the loop which can be adapted to other disciplines such as automotive and aerospace engineering.

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 36/37

slide-37
SLIDE 37

Credit

Credit

  • Prof. Victor Saouma

Project Director

  • Dr. Dae-Hang Kang

Development of Mercury Matlab, c++

  • Dr. Gary Haussmann

Development of Mercury c++ &Hybrid capabilities LMT/Cachan Anisotropic model State of Colorado Financial support

  • V. Saouma et al.; Univ. of Colorado

Mercury; Optimized Software for Hybrid Simulation 37/37