This repository contains the MATLAB and Python codes for both rectangular plate with matching and non-matching mesh examples from the paper:
M. Faizan Baqir, Hyunwoo Baek, Dahye Son, Peter Persson, and Jin-Gyun Kim
"Towards data-driven dynamic substructuring in frequency domain."
Dynamic substructuring is widely used in structural dynamics to analyze large and complex systems efficiently.
In this work, we integrate a machine learning (ML)-based meta-model with a conventional finite element (FE) model to achieve a hybrid FE–ML framework for vibration analysis in the frequency domain.
Key contributions of this work:
- Replacement of a full FE substructure with a deep neural network (DNN) surrogate model
- Formulation based on dual assembly in the frequency domain
- Handling of non-matching interface meshes via localized Lagrange multipliers
The workflow is the same for both matching and non-matching mesh examples.
-
Generate datasets (MATLAB)
-
Go to the
Data generation/folder -
Run:
Main_Make_datasets.m -
This creates training, validation, and test datasets (
.csv)
-
-
Hyperparameter tuning (Python/Jupyter)
- Run
hyperparameters_search.ipynb - Select optimal hyperparameters for the generated datasets
- Run
-
Model training & prediction (Python/Jupyter)
- Run
DNN_training_Code.ipynb - Trains the DNN model and generates predictions
- Run
-
Hybrid FE–DNN evaluation (MATLAB)
-
Copy the DNN predictions into the
Solution of problem/folder -
Run:
Main_eval_hybrid_fe_dnn.m -
Evaluates the FE+DNN hybrid model.
-
For questions or discussions, please contact:
Muhammad Faizan Baqir
Ph.D. Student, Modeling and Simulation (M&S) Lab
Department of Mechanical Engineering, Kyung Hee University, South Korea