DOI: 10.3390/computation14100224 ISSN: 2079-3197

SAP.py2.0: A Python Tool for Automated Dataset Generation of Structural Scenarios via SAP2000 OAPI

Gianluca Bruno, Fabio Parisi, Sergio Ruggieri

The paper presents SAP.py2.0, a Python-based tool that interfaces with SAP2000 through its Open Application Programming Interface (OAPI) to automate the generation of combinatorial structural scenarios. In the field of structural health monitoring, the use of finite element models is fundamental for assessing the current condition of structures and infrastructures. Usually, data-driven methods can be used to calibrate a numerical model against experimental data and to recognize damage patterns from structural response. Both goals share two open problems: (a) calibrating damage scenarios within a numerical model requires a systematic and often manual variation of uncertain parameters across a large combinatorial space; (b) data-driven methods require labelled datasets that are rarely available for real (and damaged) structures. With the aim to facilitate above concerns, the paper proposes a new tool, able to modify the initial structural model according to the analyst’s preference. Unlike existing OAPI-based tools, which embed scenario generation inside a single optimization loop tailored to one specific objective, SAP.py2.0 deliberately decouples scenario generation from any downstream task, in order to define a specific dataset, which can be reused for different scopes (e.g., model updating, statistical analysis, machine learning). The tool allows modification of four categories of structural parameters, that is, frame elastic moduli, shell elastic moduli, internal constraints, and external constraints. The modifications can be performed individually or in combination, through a graphical user interface. The paper reports the full description of the tool, which is subsequently demonstrated on a real-life complex case study, presenting masonry and reinforced concrete structural parts, and uncertain internal connectivity degree. The results show that automating scenario generation, independently from any specific optimization target, can support both classical model updating and data-driven tasks.