Content uploaded by Bjørn Thomas Svendsen
Author content
All content in this area was uploaded by Bjørn Thomas Svendsen on Sep 06, 2021
Content may be subject to copyright.
Content uploaded by Bjørn Thomas Svendsen
Author content
All content in this area was uploaded by Bjørn Thomas Svendsen on Sep 06, 2021
Content may be subject to copyright.
1
FE model updating in Python
Bjørn T. Svendsen
1. INTRODUCTION
This document provides a brief description of the analysis framework for the implementation of
sensitivity-based finite element (FE) model updating in Python. The analysis framework is
implemented using Python combined with the numerical FE model program ABAQUS and validated
by considering a simple numerical case study.
Please cite both the original research paper which the code was developed for [1] and the code [2], if
used for research purposes.
REFERENCES
[1] B. T. Svendsen, Ø. W. Petersen, G. T. Frøseth, and A. Rønnquist, “Improved finite element
model updating of a full-scale steel bridge using sensitivity analysis,” Struct. Infrastruct. Eng.,
pp. 1–17, Jul. 2021, doi: 10.1080/15732479.2021.1944227.
[2] B. T. Svendsen, “FE model updating in Python.” 2020. doi:
http://doi.org/10.5281/zenodo.4243875.
2
2. INSTALLATION
2.1. Installation and requirements
The files can be used directly by downloading or cloning the repository. The analysis framework is
established using Python version 3.7.2, including Scipy version 1.3.2. The numerical FE model is
established in ABAQUS/CAE release 2017. Note that ABAQUS/CAE is required to run the files.
2.2. File descriptions
Table 1 provides a brief description of the relevant files to run the FE model updating in Python.
Table 1: Description of files.
File
Description
01_Initial/
Folder containing the numerical FE model to perform model updating on and
results to update the FE model against.
01_run.py
Main file for performing the FE model updating. Results are stored in the file
info.pkl.
02_run_pp.py
Main file for performing postprocessing of the results from the FE model
updating. The file imports the results from info.pkl and creates result figures.
abaqus_ss_beam_upd.py
ABAQUS script file for performing analysis and postprocessing of results of
the simply supported bam subjected to model updating. The file takes in
updated parameter values established from the file 01_run.py.
abaqus_ss_beam_upd_pt.py
ABAQUS script file for performing perturbation analysis and postprocessing
of results of the simply supported beam subjected to model updating. The file
takes in updated parameter values established from the file 01_run.py.
functions_py2.py
Assembly of relevant functions written in Python 2 (required by ABAQUS).
functions_py3.py
Assembly of relevant functions written in Python 3.
3
3. ANALYSIS WORKFLOW
Figure 1: The analysis workflow.
4
4. NUMERICAL CASE STUDY
The numerical case study consists of a simply supported beam, discretized in 10 elements, shown in
Figure 2. The model is parameterized in three parameters: stiffness,
E
, and two point masses
1
M
and
2
M
, respectively. Model updating is performed on the first four modes considering natural
frequencies only, resulting in a total of 4 outputs yielding an overdetermined system. Two control
modes are included for model quality assessment. 50% local and no global parameter bounds are
enforced. Mode identification is based on modal assurance criterion (MAC) numbers. The results
obtained for the natural frequencies and parameters are shown in Table 2. The numerical model is
established in ABAQUS/CAE release 2017 and the analysis framework is established using Python
version 3.7.2, including Scipy version 1.3.2.
Figure 2: Simply supported beam considered for the numerical case study.
Table 2: Results for the simply supported beam considered for the numerical case study.
Initial model
Iteration number
“Measured”
Unit
1
2
3
4
5
1
f
Hz
1.7158
1.4454
1.4314
1.4367
1.4370
1.4369
1.4369
2
f
Hz
3.4310
2.8902
2.8622
2.8729
2.8734
2.8734
2.8734
3
f
Hz
6.6095
5.5043
5.3914
5.4275
5.4267
5.4265
5.4265
4
f
Hz
13.2090
11.0002
10.7748
10.8469
10.8453
10.8449
10.8450
5
f
Hz
17.5197
15.5222
16.0444
16.1964
16.1862
16.1877
16.1570
6
f
Hz
30.1765
26.4820
27.2021
27.4408
27.4261
27.4282
27.3820
E
N/m2
2.415E+11
1.92E+11
2.07E+11
2.11E+11
2.11E+11
2.11E+11
2.10E+11
1
M
kg
50
75.0
95.0
102.2
101.4
101.4
100
2
M
kg
25
37.5
52.8
49.9
50.2
50.2
50
The results obtained by considering the objective function, sensitivity matrix and MAC numbers are
shown in Figure 3, Figure 4 and Figure 5, respectively.
Figure 3: Objective function.
5
Figure 4: Sensitivity matrix.
Figure 5: MAC matrix.