Software Framework for Collaborative Development of Nonlinear Dynamic Analysis Program Jun Peng

Download 4.1 Mb.
Date conversion28.06.2018
Size4.1 Mb.
  1   2   3   4   5   6   7   8   9   ...   35
Software Framework for Collaborative Development of Nonlinear Dynamic Analysis Program

Jun Peng

Department of Civil and Environmental Engineering

Stanford University


Kincho H. Law

Department of Civil and Environmental Engineering

Stanford University

A report on research conducted under

grant no. EEC-9701568 from the National Science Foundation:
PEER Report 2003/02

Pacific Earthquake Engineering Research Center

College of Engineering

University of California, Berkeley

September 2003


This report describes the research and prototype implementation of an Internet-enabled software framework that facilitates the utilization and the collaborative development of a nonlinear dynamic analysis program by taking advantage of object-oriented modeling, distributed computing, database, and other advanced computing technologies. This new framework allows users easy access to the analysis program and the analysis results by using a web browser or other application programs, such as MATLAB. In addition, the framework serves as a common finite element analysis platform for which researchers and software developers can build, test, and incorporate new developments.

The collaborative software framework is built upon an object-oriented finite element analysis program. The research objective is to enhance and improve the capability and performance of the finite element program by seamlessly integrating legacy code and new developments. Developments can be incorporated by directly integrating with the core as a local module and/or by implementing as a remote service module. There are several approaches to incorporate software modules locally, such as defining new subclasses, building interfaces and wrappers, or developing a reverse communication mechanism. The distributed and collaborative architecture also allows a software component to be incorporated as a service in a dynamic and distributed manner. Two forms of remote element services, namely the distributed element service and the dynamic shared library element service, are introduced in the framework to facilitate the distributed usage and the collaborative development of a finite element program.

The collaborative finite element software framework also includes data and project management functionalities. A database system is employed to store selected analysis results and to provide flexible data management and data access. The Internet is utilized as a data delivery vehicle and a data query language is developed to provide an easy-to-use mechanism to access the needed analysis results from readily accessible sources in a ready-to-use format for further manipulation. Finally, a simple project management scheme is developed to allow the users to manage and to collaborate on the analysis of a structure.
This report is based on a Ph.D. dissertation by Jun Peng at Stanford University. The research project was conducted at Stanford University from 1998–2002. The authors would like to thank Dr. Frank McKenna and Professor Gregory L. Fenves of UC Berkeley for their collaboration and support of this research. They provided not only the source code of OpenSees but also continuous support throughout the research. The linear sparse solver SymSparse was developed by Dr. David Mackay of Intel Corporation, and the Lanczos solver for generalized eigenvalue problem was implemented by Mr. Yang Wang of Stanford University. We are also grateful to Mr. Ricardo Medina at Stanford University for providing the 18-story one-bay frame analysis model, and to Dr. Zhaohui Yang, Mr. Yuyi Zhang, Prof. Ahmed Elgamal, and Prof. Joel Conte at the University of California, San Diego, for providing the Humboldt Bay Middle Channel Bridge model.

This research was supported in part by the Pacific Earthquake Engineering Research Center through the Earthquake Engineering Research Centers Program of the National Science Foundation under award number EEC-9701568, and in part by NSF Grant Number CMS-0084530. The Technology for Education 2000 equipment grant from Intel Corporation to Prof. Kincho H. Law of Stanford University provided the computers employed in this research.







1Introduction 1

1.1Problem Statement 1

1.2Related Research 2

1.2.1Object-Oriented Finite Element Programming 3

1.2.2Distributed Object Computing 5

1.2.3Data Management in FEA Computing 7

1.3Report Outline 9

2Object-Oriented Finite Element Program and Module Integration 13

2.1Features of Object-Oriented Finite Element Programs 14

2.1.1Object-Oriented Programming 14

2.1.2Design and Implementation of Object-Oriented FEA Programs 17

2.1.3OpenSees 19

2.2Direct Module Integration 22

2.2.1Incorporating New Developments 23

2.2.2Linking Software Components 25 Representation of Matrices 26 METIS Routines 28

2.2.3Integration of Legacy Applications 30 of Direct Solver SymSparse 30 of Direct Solver SymSparse 32

2.3Moudle Integration with Reverse Communication Interface 34

2.3.1Reverse Communication Interface 35

2.3.2Incorporating Eigensolvers with OpenSees 36

2.4Quality and Performance Measurements 40

2.4.1Comparison of Matrix Ordering Schemes 40

2.4.2Performance Comparison of Linear Solvers 42

2.4.3Comparison of Eigensolvers 44

2.5Summary 45

3Open Collaborative Software Framework 47

3.1Overview of the Collaborative Framework 48

3.1.1System Architecture 49

3.1.2Mechanics 51

3.1.3Modular Design 52

3.2User Interfaces 54

3.2.1OpenSees Tcl Input Interface 54

3.2.2Web-Based User Interface 58 Interaction 58 Server-to-OpenSees Interaction 59

3.2.3MATLAB-Based User Interface 61 Communication 62 Processing 63

3.3Example 65

3.3.1Sample Web-Based Interface 66

3.3.2Sample MATLAB-Based Interface 69

3.4Summary 70

4Internet-Enabled Service Integration and Communication 73

4.1Registration And Naming Service 75

4.2Distributed Element Services 78

4.2.1Mechanics 78

4.2.2Interaction with Distributed Services 83

4.2.3Implementation 86

4.3Dynamic Shared Library Element Services 88

4.3.1Static Library vs. Shared Library 88

4.3.2Mechanics 89

4.3.3Implementation 91

4.4Application 94

4.4.1Example Test Case 94

4.4.2Performance of Online Element Services 97

4.5Summary and Discussion 99

5Data Access and Project Management 101

5.1Multi Tiered Architecture 102

5.2Data Storage Scheme 105

5.2.1Selective Data Storage 106

5.2.2Object Serialization 109

5.2.3Sampling at a Specified Interval 112

5.3Data Representation 114

5.3.1Data Modeling 115

5.3.2Project-Based Data Storage 117

5.3.3Data Representation in XML 119

5.4Data Query Processing 122

5.4.1Data Query Language 123

5.4.2Data Query Interfaces 125

5.5Applications 127

5.5.1Example 1: Eighteen Story One Bay Frame Model 128

5.5.2Example 2: Humboldt Bay Middle Channel Bridge Model 129 Management 132 Storage and Data Access 134

5.6Summary and Discussion 137

6Summary and Future Directions 139

6.1Summary 139

6.2Future Directions 141



Figure 2.1: Class abstraction in OpenSees (courtesy of McKenna) 20

Figure 2.2: Class diagram for OpenSees analysis framework (courtesy of McKenna) 22

Figure 2.3: Pseudo-code for getTangentStiff method of QuadEightElement class 25

Figure 2.4: Example of CSR storage for matrix structure 27

Figure 2.5: Class interface for the MetisPartitioner class 28

Figure 2.6: Pseudo-code for partition method of MetisPartitioner class 29

Figure 2.7: Pseudo-code for incorporating METIS_NodeND method 29

Figure 2.8: Interface for SymSparseLinSOE class 33

Figure 2.9: The control flow of integrating the SymSparse linear solver 34

Figure 2.10: Class diagram for eigenvalue analysis in OpenSees 37

Figure 2.11: Linking ARPACK through reverse communication interface 39

Figure 2.12: Quality comparison of different matrix ordering schemes 41

Figure 2.13: Performance comparison for different linear solvers 43

Figure 3.14: The collaborative system architecture 50

Figure 3.15: Mechanics of the collaborative framework 52

Figure 3.16: Modules of the collaborative system 53

Figure 3.17: Three-truss example (from (McKenna and Fenves 2001)) 56

Figure 3.18: The interaction diagram for the web-based interface 59

Figure 3.19: Interaction diagram for the MATLAB-based interface 63

Figure 3.20: Array representations in Java and MATLAB 64

Figure 3.21: Example model and Northridge earthquake record 66

Figure 3.22: Part of Tcl input file for example model 67

Figure 3.23: Sample web pages generated on the client site 68

Figure 3.24: Sample MATLAB-based user interface 70

Figure 4.25: Registering and resolving names in RANS 75

Figure 4.26: Schema of the ServiceInfo table 76

Figure 4.27: Interface for the RANS class 77

Figure 4.28: Purpose of JNI (from (Stearns 2002)) 82

Figure 4.29: Mechanics of the distributed element service 82

Figure 4.30: Interface for ElementRemote class 84

Figure 4.31: Interaction diagram of distributed element service 85

Figure 4.32: Sample ElementClient and sample ElementServer 88

Figure 4.33: Mechanics of dynamic shared library element service 90

Figure 4.34: Binding of dynamic shared library 93

Figure 4.35: Web interface for registration and naming service 95

Figure 4.36: Interaction of distributed services 96

Figure 4.37: Graphical response time history of node 1 97

Figure 5.38: Online data access system architecture 103

Figure 5.39: Class diagram for FE_datastore 105

Figure 5.40: Interface for DB_Datastore class 106

Figure 5.41: Interface for MovableObject class 111

Figure 5.42: Pseudo code for recvSelf method of the Domain class 112

Figure 5.43: Pseudo code for converting domain state 115

Figure 5.44: Database schema diagram for online data access system 118

Figure 5.45: Relation of XML services 120

Figure 5.46: XML representation of matrix-type data 121

Figure 5.47: XML representation of packaged data 122

Figure 5.48: Interaction diagram of online data access system 126

Figure 5.49: Displacement time history response of node 1 130

Figure 5.50: Humboldt Bay middle channel bridge (courtesy of Caltrans) 131

Figure 5.51: Finite element model for Humboldt Bay Bridge (from (Conte et al. 2002)) 132

Figure 5.52: List of current Humboldt Bay Bridge projects 133

Figure 5.53: 1994 Northridge earthquake recorded at Rinaldi station 133

Figure 5.54: Deformed mesh of Humboldt Bay Bridge model (from (Conte et al. 2002)) 133

Figure 5.55: Web pages of response time histories 136

Figure 5.56: Sample MATLAB-based user interface 136


Table 2.1: Number of nonzero entries in the matrix for different ordering schemes 41

Table 2.2: Solution time (in seconds) for different linear solvers 43

Table 2.3: Eigenvalues and their precision for different eigensolvers 45

Table 2.4: Performance comparison between Lanczos solver and ARPACK solver 45

Table 4.5: Comparison between local and remote Java objects 80

Table 4.6: Comparison between static and shared libraries 89

Table 4.7: Performance of using different element services 98

Table 5.8: Solution time (in minutes) for nonlinear dynamic analysis 134

Table 5.9: Solution time (in minutes) for recomputation 134

  1   2   3   4   5   6   7   8   9   ...   35

The database is protected by copyright © 2016
send message

    Main page