nees hsworkshop05 andreas

45
Hybrid Simulation Research at UC Berkeley With contributions from: Gregory Fenves, Bozidar Stojadinovic, Frank McKenna, Tony Yang, Yoshikazu Takahashi and others Andreas Schellenberg & Stephen Mahin Department of Civil and Environmental Engineering University of California, Berkeley

Upload: omar-rosenblueth

Post on 22-Oct-2015

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NEES HSWorkshop05 Andreas

Hybrid Simulation Research atUC Berkeley

With contributions from:

Gregory Fenves, Bozidar Stojadinovic, Frank McKenna, Tony Yang, Yoshikazu Takahashi and others

Andreas Schellenberg & Stephen Mahin

Department of Civil and Environmental EngineeringUniversity of California, Berkeley

Page 2: NEES HSWorkshop05 Andreas

2

Pioneering efforts at BerkeleyInitial theoretical foundations (1973)Random & systematic error propagation studies - Williams (1979-81)Refinement and implementation of stable explicit formulations -Shing (1980-84) Experimental/numerical partitioned simulations with mixed implicit/explicit operators - Dermitzakis (1983-85)Multi-directional testing - Thewalt (1984-87)Force- and mixed force- and displacement-based control - Thewalt (1984-87)Implicit formulations based on numerical and analog correctors -Thewalt (1984-87)“Effective force” dynamic testing - Thewalt (1984-87)Error bound estimation - Thewalt, Stojadinovic, Mosqueda (1992-04)Theory and implementation of network-based local and distributed simulation - Thewalt, Stojadinovic, Campbell, Mosqueda (1987-04) Event-driven digital control - Stojadinovic & Mosqueda (01-04)Force/displacement based control switching - Mosalam (2003-05)

Page 3: NEES HSWorkshop05 Andreas

3

Promising Research DirectionsContinuous spectrum of hybrid simulations

New control strategiesAsynchronous, multi-step, event-driven methodsPhantom agents and ghostsOpen-loop correctorsMixed force and displacement control

Secure, high-performance communication

Interaction with moving loads, including impact

Hydrodynamic, aeroelastic and

blast effects

Improved boundary conditions

Simulation comprised of one or more numerical partitions and one or more physical assemblages, and one or more assistive agents carried out quasi-statically or dynamically using one or more computers, and one or more laboratories having one or more characteristics.

Page 4: NEES HSWorkshop05 Andreas

4

Some immediate needsError bound estimates

Accuracy, precision, repeatability, reproducibilityTest acceptance criteriaAuto-correction strategies

Characterization of test set-ups, especially for stiff, heavy and cross-coupled specimens.Glossary of TermsStandards for communications (NTCP-NG)Implementation of a robust, efficient, adaptable, scalable and extensible framework for research and deployment

Page 5: NEES HSWorkshop05 Andreas

5

Framework for Hybrid SimulationStructured framework that is transparent and (easily) extensible and scalableEnable domain researchers to carry out Hybrid Simulations without specialized knowledgeAllow IT and hybrid simulation specialists to extend frontiers of methodology, focusing only on the portions of interest.

Independent of computing, control and laboratory equipmentFacilitate scaling and extending to new equipment and proceduresFoster synergismObject-oriented programming

Page 6: NEES HSWorkshop05 Andreas

6

NEES-compliant deployment of openFRESCONo modification of numerical simulation framework is needed, other than the addition of new finite elements representing physical elements testedCalls to obtain element stiffness, restoring force and other parameters made just like they would be in a numerical analysis, except they are executed physically somewhere on a local or wide area network.openFRESCO mediates in a modular and highly structured manner instructions between numerical simulation computer(s) and laboratory equipment

Page 7: NEES HSWorkshop05 Andreas

7

OpenFRESCO ComponentsFE-Software

Experimental Site

Experimental Setup

Experimental Control

Control Systemin Laboratory

interfaces to theFE-Software

transforms the experimental element degrees of freedom into the actuator degrees of freedom (linear vs. non-linear transformations)

interfaces to the different control and data acquisitionsystems in the laboratories

OpenFRESCO

localdeployment

Page 8: NEES HSWorkshop05 Andreas

8

OpenFRESCO ComponentsFE-Software

Experimental Site

Exper. Setup

Exper. Control

Control Systemin Laboratory

NTCP Server

Control Plugin

Control Systemin Laboratory

TCP/IP

NTCP Server

FrescoPlugin

Control Systemin Laboratory

NTCPNTCP

networkdeployment

Page 9: NEES HSWorkshop05 Andreas

9

Finite-Element SoftwareCurrently using OpenSees, but nearly any software allowing the addition of elements and having the appropriate communication channels can be usedObject-oriented software framework for developing applications to simulate the performance of structural and geotechnical systems subjected to earthquakes

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 10: NEES HSWorkshop05 Andreas

10

OpenSeesThe object oriented approach of OpenSees facilitates:

Domain researchers to add materials, numerical elements and specialized recordersAddition of new types of direct integration methodsAddition of new experimental elementsNumerical execution on super-computersPartitioning of numerical models and execution on networks of computers

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 11: NEES HSWorkshop05 Andreas

11

ModelBuilder Domain Analysis

Recorder

holds the stateof the model attime ti and ti+dt

constructs the objectsin the model and addsthem to the Domain

moves the modelfrom state at time tito state at time ti+dt

monitors user definedparameters in the model

during the analysis

ModelBuilder Domain Analysis

Recorder

holds the stateof the model attime ti and ti+dt

constructs the objectsin the model and addsthem to the Domain

moves the modelfrom state at time tito state at time ti+dt

monitors user definedparameters in the model

during the analysis

ModelBuilder Domain Analysis

Recorder

holds the stateof the model attime ti and ti+dt

constructs the objectsin the model and addsthem to the Domain

moves the modelfrom state at time tito state at time ti+dt

monitors user definedparameters in the model

during the analysis

OpenSees ComponentsFE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Analysis

Page 12: NEES HSWorkshop05 Andreas

12

Direct Integration Methods

Mass matrix M is in general singular -> second order differential equation infinitely stiff -> fully implicit numerical methodsMake as few function calls as possibleUse constant Jacobian in the numerical methods since tangent stiffness is not available

( ) ( )g nt⋅ + ⋅ + =− ⋅ ⋅n n r nM u C u P u M B u

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 13: NEES HSWorkshop05 Andreas

13

Direct Integration MethodsExplicit Integrators

explicit Newmark MethodCentral-Difference Methodexplicit Alpha-Methodgeneralized explicit Alpha-Method

Implicit IntegratorsNewmark MethodAlpha-Methodgeneralized Alpha-MethodCollocation Method

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 14: NEES HSWorkshop05 Andreas

14

Direct Integration MethodsImplicit Integrators with sub-stepping (constant number)

Newmark-HybridSimulation Methodgeneralized Alpha-HybridSimulation MethodCollocation-HybridSimulation Method

Predictor-Corrector IntegratorsAlpha-OS Methodgeneralized Alpha-OS Method

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 15: NEES HSWorkshop05 Andreas

15

ModelBuilder Domain Analysis

Recorder

holds the stateof the model attime ti and ti+dt

constructs the objectsin the model and addsthem to the Domain

moves the modelfrom state at time tito state at time ti+dt

monitors user definedparameters in the model

during the analysis

ModelBuilder Domain Analysis

Recorder

holds the stateof the model attime ti and ti+dt

constructs the objectsin the model and addsthem to the Domain

moves the modelfrom state at time tito state at time ti+dt

monitors user definedparameters in the model

during the analysis

ModelBuilder Domain Analysis

Recorder

holds the stateof the model attime ti and ti+dt

constructs the objectsin the model and addsthem to the Domain

moves the modelfrom state at time tito state at time ti+dt

monitors user definedparameters in the model

during the analysis

OpenSees ComponentsFE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Domain

Page 16: NEES HSWorkshop05 Andreas

16

OpenSees Components cont.

Element

Domain

MP_ConstraintNode SP_Constraint

ExperimentalElement

OpenFRESCO Control Systemin Laboratory

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 17: NEES HSWorkshop05 Andreas

17

Experimental Elements1) EETruss (2D,3D)

$eleTag unique element tag$iNode,$jNode end nodes$siteTag tag of previously

defined site object$Kij initial stiffness matrix

element (1 x 1)-iMod flag for I-Modification

(optional, default=false)$rho mass per unit length

(optional, default=0.0)

element expTruss $eleTag $iNode $jNode $siteTag-initStif $Kij <-iMod> <-rho $rho>

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

i

j

Δx

Δy

d1, q1

controlled displacementsand acquired forces

Page 18: NEES HSWorkshop05 Andreas

18

Experimental Elements2) EEBeamColumn (2D,3D)

$eleTag unique element tag$iNode,$jNode end nodes$siteTag tag of previously

defined site object$tranTag tag of previously

defined crd-transf object$Kij initial stiffness matrix

elements (ndf x ndf)-iMod flag for I-Modification

(optional, default=false)$rho mass per unit length

(optional, default=0.0)

element expBeamColumn $eleTag $iNode $jNode$siteTag $tranTag -initStif $Kij <-iMod> <-rho $rho>

i

j

ΔxΔy

d1, q1d2, q2

d3, q3

controlled displacementsand acquired forces

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 19: NEES HSWorkshop05 Andreas

19

Experimental Elements3) EEZeroLength (2D,3D)

$eleTag unique element tag$iNode,$jNode end nodes$siteTag tag of previously

defined site object$dirs force directions (1-3,1-6) $Kij initial stiffness matrix

elements (nDir x nDir)-iMod flag for I-Modification

(optional, default=false)$xi, $yi local x- and y-axis

(optional, default=X,Y)

element expZeroLength $eleTag $iNode $jNode $siteTag-dir $dirs -initStif $Kij <-iMod> <-orient $x1 $x2 $x3 $y1 $y2 $y3>

i j

d1, q1d2, q2

d3, q3

controlled displacementsand acquired forces

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 20: NEES HSWorkshop05 Andreas

20

Experimental Elements4) EEChevronBrace (2D,3D)

$eleTag unique element tag$iNode,$jNode end nodes$kNode$siteTag tag of previously

defined site object$Kij initial stiffness matrix

elements (ndf x ndf) -iMod flag for I-Modification

(optional, default=false)$rho1,$rho2 masses per unit length

(optional, default=0.0)

element expChevronBrace $eleTag $iNode $jNode$kNode $siteTag -initStif $Kij <-iMod> <-rho1 $rho1> <-rho2 $rho2>

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

i j

k

Δx1 Δx2

Δy

d6, q6

d7, q7

d8, q8

d5, q5

d4, q4

d3, q3d0, q0

d1, q1

d2, q2

controlled displacements

acquired forces acquired forces

Page 21: NEES HSWorkshop05 Andreas

21

Adding Experimental ElementsPublic Member Functions Constructor and Destructor ExperimentalElement(int tag, int classTag, ExperimentalSite &theSite); virtual ~ExperimentalElement(); Methods dealing with nodes and number of external dof virtual int getNumExternalNodes(void) const = 0; virtual const ID &getExternalNodes(void) = 0; virtual Node **getNodePtrs(void) = 0; virtual int getNumDOF(void) = 0; Method to obtain basic dof size; equal to the max num dof that can be controlled virtual int getNumBasicDOF(void) = 0; Methods dealing with committed state and update virtual int commitState(void); virtual int update(void); virtual bool isSubdomain(void); Methods to set and to obtain the initial stiffness matrix virtual int setInitialStiff(const Matrix& stiff) = 0; const Matrix &getInitialStiff(void); Methods to return the damping and mass matrices virtual const Matrix &getDamp(void); virtual const Matrix &getMass(void); Methods for applying loads virtual void zeroLoad(void) = 0; virtual int addLoad(ElementalLoad *theLoad, double loadFactor) = 0; virtual int addInertiaLoadToUnbalance(const Vector &accel) = 0;

virtual int setRayleighDampingFactors(double alphaM, double betaK, double betaK0, double betaKc);

Methods for obtaining resisting force (force includes elemental loads) virtual const Vector &getResistingForce(void) = 0; virtual const Vector &getResistingForceIncInertia(void); Methods for obtaining information specific to an element virtual Response *setResponse(const char **argv, int argc, Information &eleInformation); virtual int getResponse(int responseID, Information &eleInformation);

int setInitialStiff( )

const Vector &getResistingForce( )

int update( )

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 22: NEES HSWorkshop05 Andreas

22

Adding Experimental ElementsFE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

FE-Software

Page 23: NEES HSWorkshop05 Andreas

23

Experimental Setups1) ESNoTransformation

$tag unique setup tag$ctrlTag tag of previously

defined control object$dirs directions (1-6)

expSetup NoTransformation $tag $ctrlTag –dir $dirs<-dspCtrlFact $dspCF> ...

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 24: NEES HSWorkshop05 Andreas

24

Experimental Setups2) ESOneActuator

$tag unique setup tag$ctrlTag tag of previously

defined control object$dir direction (1-6)

expSetup OneActuator $tag $ctrlTag $dir <-dspCtrlFact $dspCF> ...

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 25: NEES HSWorkshop05 Andreas

25

Experimental Setups3) ESTwoActuators

$tag unique setup tag$ctrlTag tag of previously

defined control object$nlGeomFlag nonlinear geometry flag$La0 length of actuator 0$La1 length of actuator 1$L length of rigid link

expSetup TwoActuators $tag $ctrlTag $nlGeomFlag$La0 $La1 $L <-dspCtrlFact $dspCF> ...

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 26: NEES HSWorkshop05 Andreas

26

Experimental Setups4) ESThreeActuators

$tag unique setup tag$ctrlTag tag of previously

defined control object$nlGeomFlag nonlinear geometry flag$La0 length of actuator 0$La1 length of actuator 1$La2 length of actuator 2$L0 length of rigid link 0$L1 length of rigid link 1

expSetup ThreeActuators $tag $ctrlTag $nlGeomFlag$La0 $La1 $La2 $L0 $L1 <-dspCtrlFact $dspCF> ...

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 27: NEES HSWorkshop05 Andreas

27

Experimental Setups5) ESChevronBraceJntOff

$tag unique setup tag$ctrlTag tag of previously

defined control object$nlGeomFlag nonlinear geometry flag$La0 length of actuator 0$La1 length of actuator 1$La2 length of actuator 2$L0 length of rigid link 0$L1 length of rigid link 1$L2 length of rigid link 2$L3 length of rigid link 3$L4 length of rigid link 4

expSetup ChevronBraceJntOff $tag $ctrlTag$nlGeomFlag $La0 $La1 $La2 $L0 $L1 $L2 $L3 $L4 <-dspCtrlFact $dspCF> ...

L0L1

L2L3

L 4 Actuator 0: LA0

Actu

ator

1: L

A1

Actu

ator

2: L

A2

L0L1

L2L3

L 4 Actuator 0: LA0

Actu

ator

1: L

A1

Actu

ator

2: L

A2

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 28: NEES HSWorkshop05 Andreas

28

Adding Experimental Setups

int propose( )

int acquire( )

Public Member Functions Constructor and Destructor ExperimentalSetup(int tag, ExperimentalControl& theControl); ExperimentalSetup(const ExperimentalSetup& es); virtual ~ExperimentalSetup(); Methods dealing with data sizes void setElmtDataSize(int s); int getElmtDataSize(); void setCtrlDataSize(int s); int getCtrlDataSize(); void setDaqDataSize(int s); int getDaqDataSize(); Methods dealing with execution and acquisition virtual int setup() = 0; virtual int propose(const Vector& dsp, const Vector& vel, const Vector& acc) = 0; virtual int execute() = 0; virtual int commitState() = 0; virtual int acquire() = 0; Methods to obtain the response const Vector& getDisp(); const Vector& getVel(); const Vector& getAccel(); const Vector& getForce(); Methods to set the control and data acquisition factors void setDspCtrlFactor(const Vector& f); void setVelCtrlFactor(const Vector& f); void setAccCtrlFactor(const Vector& f); void setDspDaqFactor(const Vector& f); void setFrcDaqFactor(const Vector& f); Method to get a copy virtual ExperimentalSetup *getCopy (void) = 0;

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 29: NEES HSWorkshop05 Andreas

29

Adding Experimental SetupsFE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Setup

Page 30: NEES HSWorkshop05 Andreas

30

Experimental Controls1) ECdSpace

$tag unique control tag$numSetups number of setups“type” predictor-corrector type“boardName” name of dSpace board

expControl dSpace $tag $numSetups “type”“boardName”

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Control

Page 31: NEES HSWorkshop05 Andreas

31

Experimental Controls2) ECxPCtarget

$tag unique control tag$numSetups number of setups$type predictor-corrector type“ipAddr” IP address of xPC Target“ipPort” IP port of xPC Target“appName” name of Simulink

application to be loaded“appPath” path to Simulink

application

expControl xPCtarget $tag $numSetups $type “ipAddr”“ipPort” “appName” “appPath”

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Control

Page 32: NEES HSWorkshop05 Andreas

32

Experimental Controls3) ECScramNet

$tag unique control tag$numSetups number of setups

...

expControl ScramNet $tag $numSetups ...

under development

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Control

Page 33: NEES HSWorkshop05 Andreas

33

Experimental Controls4) ECNIEseries

$tag unique control tag$numSetups number of setups$device id of device

expControl NIEseries $tag $numCtrl $device

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Control

Page 34: NEES HSWorkshop05 Andreas

34

Adding Experimental Controls

ExperimentalControl( )

int execute( )int acquire( )

FE-Software

Experimental Site

Experimental Setup

Experimental Control

Control System in Laboratory

Experimental Control

int setup( )

Public Member Functions Constructor and Destructor ExperimentalControl(int tag, int nCtrl, int nDaq); ExperimentalControl(const ExperimentalControl& ec); virtual ~ExperimentalControl(); Methods dealing with data sizes int getCtrlDataSize(); int getDaqDataSize(); Methods to set and obtain the responses virtual int setup() = 0; virtual int execute(const Vector& dsp, const Vector& vel, const Vector& acc) = 0; virtual int commitState(); virtual int acquire(Vector *dspDaq, Vector *frcDaq) = 0; Method to add a data filter void addFilter(SignalFilter& f); Method to get a copy virtual ExperimentalControl *getCopy (void) = 0;

Page 35: NEES HSWorkshop05 Andreas

35

Event-Driven ApproachesThree-loop-architecture by Mosqueda

Page 36: NEES HSWorkshop05 Andreas

36

Event-Driven Approaches cont.Improved event-driven-controller

Page 37: NEES HSWorkshop05 Andreas

37

Event-Driven Approaches cont.Predictor-corrector algorithms

Page 38: NEES HSWorkshop05 Andreas

38

Event-Driven Approaches cont.Predictor-corrector algorithms

One singleDSP

Twomachines

Page 39: NEES HSWorkshop05 Andreas

39

Event-Driven Approaches cont.Predictor-corrector algorithms

Page 40: NEES HSWorkshop05 Andreas

40

ConclusionsEnvironment-independent framework for development and deployment will boost the use of hybrid simulation (on-site and tele-operation)Modularity and transparency of the framework permits existing components to be modified and new components added without much dependence on other objects.

Speed development of refined hybrid simulation procedures

Page 41: NEES HSWorkshop05 Andreas

41

ConclusionsLarge library of hybrid simulation direct integration methods, experimental elements, controller models, and event-driven solution strategies will be available to the user to choose from or adapt.Need:

User-community input of parameter passage and featuresUser feedbackNEESit assistance in streamlining network communications

Page 42: NEES HSWorkshop05 Andreas

Thank you!

Development and operation of the nees@berkeley Equipment Site is sponsored by NSF George E. Brown Jr. NEES grants.

http://nees.berkeley.edu

Page 43: NEES HSWorkshop05 Andreas

43

Application Examples1) Three-Span-Bridge

4,8

3

7

2

6 1,5

42

54

108108108

Experimental BeamColumn

Properties of Model:• num. DOF = 12 (4 with mass)• Period: T1 = 0.918sec• Damping: ζ1 = 0.02• ExpElement: EEBeamColumn2d• ExpSetup: ESOneActuator• ExpControl: ECxPCtarget

Page 44: NEES HSWorkshop05 Andreas

44

Application Examples2) Two-Story-Shear

Properties of Model:• num. DOF = 14 (6 with mass)• Period: T1 = 0.618sec

T2 = 0.236sec• Damping: ζ1 = 0.02• ExpElements: EEBeamColumn2d• ExpSetups: ESOneActuator• ExpControl: ECxPCtarget

1

3

5 6

2

4

7

8

10 11

9

12

108

108

216

Experimental BeamColumn

Page 45: NEES HSWorkshop05 Andreas

45

Application Examples3) Two-Story-Frame

Properties of Model:• num. DOF = 28 (4 with mass)• Period: T1 = 0.473sec

T2 = 0.071sec• Damping: ζ1 = 0.02• ExpElements: EEBeamColumn2d• ExpSetups: ESOneActuator• ExpControl: ECxPCtarget

1

3

5 6

2

4

7

8

10 11

9

12

54

54

108

Experimental BeamColumn