Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

265 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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_data.py : finite element model analysis and data extraction.
    • Choose an analysis configuration via command-line flags
      • --structure frame or --structure bridge
      • --multisupport (bridge only)
      • --elastic (otherwise inelastic)
      • --field_only to save measured field data without running the FE model
    • Loads a suite of events
    • For each event:
      • saves measured field inputs (ground) and outputs (structure)
      • performs FEM analysis and saves:
        • pre- and post- earthquake natural frequencies from FEM eigenvalue analysis
        • displacement response histories at select output nodes
        • strain/stress (or force/deformation) response histories at select output elements
        • model inputs and outputs used for system identification
  2. get_systems.py : system identification on the data produced by get_data.py.
    • For each event, saves:
      • timestep (dt)
      • time array
      • inputs array
      • outputs array
      • system matrices (A,B,C,D)
  3. plot_inputs_outputs.py: plot the inputs and outputs used for system ID. Primarily used for debugging.
  4. 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.

Running

Run all four configurations (frame/bridge × inelastic/elastic):

for s in frame bridge; do for e in "" "--elastic"; do python get_data.py --structure "$s" $e; done; done

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/  
    │   │   │   │   ├── ground/
    │   │   │   │   │   └── 226.csv
    │   │   │   │   └── structure/
    │   │   │   │       ├── 226.csv
    │   │   │   │       └── ...
    │   │   │   └── System ID Results/
    │   │   │       ├── system realization/
    │   │   │       │   └── 226.pkl
    │   │   │       ├── frequency ID/
    │   │   │       │   ├── 226.csv
    │   │   │       │   └── ...
    │   │   │       ├── ...
    │   │   │       └── heatmap.png
    │   │   └── acceleration/
    │   │       ├── System ID Training Data/  
    │   │       │   ├── ground/
    │   │       │   │   └── 226.csv
    │   │       │   ├── structure/
    │   │       │   │   └── 226.csv
    │   │       │   └── ...
    │   │       └── System ID Results/
    │   │           ├── system realization/
    │   │           │   ├── 226.pkl
    │   │           │   └── ...
    │   │           └── ...
    │   ├── elastic/
    │   │   ├── displacement/
    │   │   │   ├── System ID Training Data/  
    │   │   │   │   └── ground/
    │   │   │   │       ├── 226.csv
    │   │   │   │       └── ...
    │   │   │   └── System ID Results/
    │   │   │       ├── system realization/
    │   │   │       │   ├── 226.pkl
    │   │   │       │   └── ...
    │   │   │       └── ...
    │   │   └── acceleration/
    │   │       ├── System ID Training Data/  
    │   │       │   ├── ground/
    │   │       │   │   └── 226.csv
    │   │       │   ├── structure/
    │   │       │   │   └── 226.csv
    │   │       │   └── ...
    │   │       └── System ID Results/
    │   │           ├── system realization/
    │   │           │   ├── 226.pkl
    │   │           │   └── ...
    │   │           └── ...
    │   └── inelastic/
    │       ├── displacement/
    │       │   ├── System ID Training Data/  
    │       │   │   └── ground/
    │       │   │       ├── 226.csv
    │       │   │       └── ...
    │       │   └── System ID Results/
    │       │       ├── system realization/
    │       │       │   ├── 226.pkl
    │       │       │   └── ...
    │       │       └── ...
    │       └── acceleration/
    │           ├── System ID Training Data/  
    │           │   └── ...
    │           └── System ID Results/
    │               └── ...
    └── bridge/
        ├── field/
        │   ├── displacement/
        │   │   ├── System ID Training Data/  
        │   │   │   └── ground/
        │   │   │       ├── 226.csv
        │   │   │       └── ...
        │   │   └── System ID Results/
        │   │       ├── system realization/
        │   │       │   ├── 226.pkl
        │   │       │   └── ...
        │   │       └── ...
        │   └── acceleration/
        │       ├── System ID Training Data/  
        │       │   ├── ground/
        │       │   │   └── 226.csv
        │       │   └── ...
        │       └── System ID Results/
        │           ├── system realization/
        │           │   ├── 226.pkl
        │           │   └── ...
        │           └── ...
        ├── elastic/
        │   ├── displacement/
        │   │   ├── System ID Training Data/  
        │   │   │   └── ground/
        │   │   │       └── ...
        │   │   └── 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

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

*All time series are truncated and aligned according to true 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

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages