| # SeFNO β Seismic Floor Acceleration Response Prediction (FNO v1.0+) | |
| Pre-trained **Fourier Neural Operator (FNO)** models for predicting multi-floor acceleration response time histories of MDOF shear buildings subjected to seismic ground motions. | |
| **Code:** [github.com/HKUJasonJiang/Seismic-FNO](https://github.com/HKUJasonJiang/Seismic-FNO) | |
| --- | |
| ## Task | |
| Given a scaled ground motion acceleration time series (3 000 time steps, 50 Hz), the model predicts the roof-floor acceleration response of a target building β a pure **regression** task over 1-D signals. | |
| | Input | Shape | Description | | |
| |-------|-------|-------------| | |
| | Ground motion | `(1, 3000)` | Scaled accelerogram (m/sΒ²) | | |
| | Output | Shape | Description | | |
| |--------|-------|-------------| | |
| | Floor acceleration | `(1, 3000)` | Roof acceleration response (m/sΒ²) | | |
| --- | |
| ## Available Models | |
| ### Baseline Models | |
| Three FNO configurations trained for 50 epochs on the full KNET dataset (3 474 GMs Γ 57 amplitude scale factors, 250 building configurations): | |
| | Folder | Hidden (`h`) | Modes (`m`) | Layers (`l`) | Parameters | | |
| |--------|:-----------:|:-----------:|:------------:|:----------:| | |
| | `Base-FNO_v1.0+_h64_m64_l4_e50_*/` | 64 | 64 | 4 | ~3 M | | |
| | `Large-FNO_v1.0+_h64_m512_l8_e50_*/` | 64 | 512 | 8 | ~12 M | | |
| | `Huge-FNO_v1.0+_h128_m1024_l12_e50_*/` | 128 | 1024 | 12 | ~48 M | | |
| ### Experimental Series | |
| | Folder | Runs | Purpose | | |
| |--------|:----:|---------| | |
| | `Test-Series (Test-1~10)/` | 10 | Hyper-parameter sweep (modes, layers, hidden channels) | | |
| | `Efficiency-Series (E-Base, E-Test-1~14)/` | 15 | Dataset-size ablation (varying number of GMs and scale factors) | | |
| Each model folder contains: | |
| ``` | |
| <model_folder>/ | |
| βββ model/ | |
| β βββ fno_best.pth # Best checkpoint (lowest validation loss) | |
| βββ details/ | |
| βββ training_log.csv # Epoch-by-epoch MSE / RMSE / MAE / RΒ² | |
| βββ training_config.txt # Full hyperparameter configuration | |
| βββ dataset_indices.pkl # Reproducible train / val / test split indices | |
| βββ test_results.txt # Final test-set metrics | |
| ``` | |
| --- | |
| ## Usage | |
| ### Install dependencies | |
| Refer to github repo. | |
| ### Quick review notebook | |
| Open `quick_inference.ipynb` in the cloned repository to run inference on the held-out test set and visualise time-history and Fourier amplitude spectrum comparisons interactively. | |
| ## License | |
| [Creative Commons Attribution 4.0 (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/) |