Skip to content

Latest commit

 

History

History
252 lines (227 loc) · 10.1 KB

File metadata and controls

252 lines (227 loc) · 10.1 KB

Model

A suite of structures, their vibration responses to strong ground motion events, and analysis to investigate the relationships between ``ground truth'' damage state and estimated damage states obtained from inverse system identification.

Getting Started

  1. get_systems.py : finite element model and its system identification.
    • Choose an analysis configuration
      • "frame" or "bridge"
      • MULTISUPPORT = True or False
      • ELASTIC = True or False
    • Loads a suite of events
    • For each event:
      • performs FEM analysis and saves:
        • pre- and post- earthquake natural frequencies from FEM eigenvalue analysis
        • displacement response histories at select output nodes
        • strain/stress response histories at select output elements
      • performs system identification and saves:
        • timestep (dt)
        • time array
        • inputs array
        • outputs array
        • system matrices (A,B,C,D)
  2. plot_inputs_outputs.py: plot the inputs and outputs used for system ID. Primarily used for debugging.
  3. plot_series.py: plot timeseries.
    1. Prompts the user for:
      1. structure
      2. event
      3. quantity
    2. Adds onto an axis:
      1. source
      2. location
    3. Save the plot if desired.

Overall Directory Structure

tree.nathanfriend

.
├── Modeling/
│   ├── frame/
│   │   ├── field/
│   │   │   ├── time/
│   │   │   │   ├── ground/
│   │   │   │   │   ├── 226.csv
│   │   │   │   │   ├── 227.csv
│   │   │   │   │   └── ...
│   │   │   │   └── structure/
│   │   │   │       ├── 226.csv
│   │   │   │       └── ...
│   │   │   ├── dt/
│   │   │   │   ├── ground/
│   │   │   │   │   ├── 226.txt
│   │   │   │   │   └── ...
│   │   │   │   └── ...
│   │   │   └── ...
│   │   ├── elastic/
│   │   │   ├── displacement/
│   │   │   │   └── structure/
│   │   │   │       ├── 226.csv
│   │   │   │       └── ...
│   │   │   └── ...
│   │   └── inelastic/
│   │       └── ...
│   └── bridge/
│       ├── field/
│       │   ├── time/
│       │   │   ├── ground/
│       │   │   │   ├── 226.csv
│       │   │   │   └── ...
│       │   │   └── ...
│       │   └── ...
│       ├── elastic/
│       │   ├── displacement/
│       │   │   └── structure/
│       │   │       ├── 226.csv
│       │   │       └── ...
│       │   └── ...
│       └── ...
└── System ID/
    ├── frame/
    │   ├── field/
    │   │   ├── displacement/
    │   │   │   ├── System ID Training Data/  
    │   │   │   │   └── structure/
    │   │   │   │       ├── 226.csv/
    │   │   │   │       └── ...
    │   │   │   └── System ID Results/
    │   │   │       ├── system realization/
    │   │   │       │   ├── 226.csv/
    │   │   │       │   └── ...
    │   │   │       └── ...
    │   │   └── acceleration/
    │   │       ├── System ID Training Data/  
    │   │       │   ├── time/
    │   │       │   │   └── 226.csv/
    │   │       │   ├── dt/
    │   │       │   │   └── 226.csv/
    │   │       │   └── ...
    │   │       └── System ID Results/
    │   │           ├── system realization/
    │   │           │   ├── 226.csv/
    │   │           │   └── ...
    │   │           └── ...
    │   ├── elastic/
    │   │   ├── field/
    │   │   ├── displacement/
    │   │   │   ├── System ID Training Data/  
    │   │   │   │   └── structure/
    │   │   │   │       ├── 226.csv/
    │   │   │   │       └── ...
    │   │   │   └── System ID Results/
    │   │   │       ├── system realization/
    │   │   │       │   ├── 226.csv/
    │   │   │       │   └── ...
    │   │   │       └── ...
    │   │   └── acceleration/
    │   │       ├── System ID Training Data/  
    │   │       │   ├── time/
    │   │       │   │   └── 226.csv/
    │   │       │   ├── dt/
    │   │       │   │   └── 226.csv/
    │   │       │   └── ...
    │   │       └── System ID Results/
    │   │           ├── system realization/
    │   │           │   ├── 226.csv/
    │   │           │   └── ...
    │   │           └── ...
    │   └── inelastic/
    │       ├── field/
    │       ├── displacement/
    │       │   ├── System ID Training Data/  
    │       │   │   └── structure/
    │       │   │       ├── 226.csv/
    │       │   │       └── ...
    │       │   └── System ID Results/
    │       │       ├── system realization/
    │       │       │   ├── 226.csv/
    │       │       │   └── ...
    │       │       └── ...
    │       └── acceleration/
    │           ├── System ID Training Data/  
    │           │   └── ...
    │           └── System ID Results/
    │               └── ...
    └── bridge/
        ├── field/
        │   ├── displacement/
        │   │   ├── System ID Training Data/  
        │   │   │   └── structure/
        │   │   │       ├── 226.csv/
        │   │   │       └── ...
        │   │   └── System ID Results/
        │   │       ├── system realization/
        │   │       │   ├── 226.csv/
        │   │       │   └── ...
        │   │       └── ...
        │   └── acceleration/
        │       ├── System ID Training Data/  
        │       │   ├── time/
        │       │   │   └── 226.csv/
        │       │   ├── dt/
        │       │   │   └── 226.csv/
        │       │   └── ...
        │       └── System ID Results/
        │           ├── system realization/
        │           │   ├── 226.csv/
        │           │   └── ...
        │           └── ...
        ├── elastic/
        │   ├── displacement/
        │   │   ├── System ID Training Data/  
        │   │   │   └── structure/
        │   │   │       └── ...
        │   │   └── System ID Results/
        │   │       ├── system realization/
        │   │       │   └── ...
        │   │       └── ...
        │   └── acceleration/
        │       └── ...
        └── inelastic/
            └── ...

Modeling Directory Structure

Level Name Quantities
1 Structure frame, bridge
2 Source field, elastic, inelastic
3 Quantity time, dt, displacement, acceleration, stress, strain, frequency pre-eq, frequency post-eq
4 Location ground (input), structure (output)
5 Event 1, 2, 3, ... or 226, 227, 228, ... etc.

See below for list of quantities and locations available in each Source's subdirectory.

Source Quantities Locations
field time, dt, displacement, acceleration ground (input), structure (output)
elastic displacement, acceleration, stress, strain, frequency pre-eq, frequency post-eq structure (output)
inelastic displacement, acceleration, stress, strain, frequency pre-eq, frequency post-eq structure (output)

System ID Directory Structure

Needed for system ID

  1. true input (truncated and aligned)
  2. true output displacement (truncated and aligned)
  3. true aoutputcceleration (truncated and aligned)
  4. time array (truncated and aligned)

Results of system ID

  1. system (A,B,C,D)
  2. frequency ID
  3. mode shapes
  4. predicted output: displacement
  5. predicted output: acceleration
  6. prediction error: displacement
  7. prediction error: acceleration
  8. heatmap (encompasses all events)
Level Name Quantities
1 Structure frame, bridge
2 Source field, elastic, inelastic
3 Quantity displacement, acceleration
4a System ID Training Data time, dt, ground (true input), structure (true output), structure (predicted output)
4b System ID Results system realization, frequency ID, mode shapes, heatmap, prediction, prediction error
5 Event 1, 2, 3, ... or 226, 227, 228, ... etc.

See below for list of System ID Training Data in each Quantities' subdirectory.

Quantities System ID Training Data
displacement structure (true output), structure (predicted output)
acceleration time, dt, ground (true input), structure (true output), structure (predicted output)

Environment

Method 1

  1. Install numba: conda install numba
  2. Install requirements: pip install -r requirements.txt

Method 2

  1. Set up a xara-friendly environment: https://xara.so/user/guides/compile.html
  2. Install requirements: pip install -r requirements.txt