什么是结构健康监测 (SHM)?
结构健康监测 (SHM) 是指实施结构损伤检测策略的过程。SHM 涉及使用传感器和数据采集系统来收集有关结构随时间变化的状况的信息。然后分析这些数据以识别可能表明损坏或退化的任何变化或异常。
土木工程如何使用结构健康监测系统?
在土木工程中,SHM 系统监测各种类型的基础设施,包括桥梁、建筑物、水坝和隧道。这些系统使用一系列传感器(例如加速度计、应变计和温度传感器)来测量振动、变形和环境条件等参数。收集的数据可帮助工程师评估结构完整性并就维护和维修做出明智的决策。
为什么监测结构健康重要?
监测结构健康状况至关重要,原因如下:
1. 安全:通过检测潜在的结构故障,确保居住者和用户的安全。
2. 成本效益维护:有助于有效规划维护活动,减少与意外维修相关的成本。
3. 寿命延长:在问题变得严重之前进行处理,从而延长结构的使用寿命。
4. 法规遵从性:协助遵守安全法规和标准。
什么是结构传感器?它们在 SHM 中的作用是什么?
结构传感器是用于测量与建筑物或基础设施结构完整性相关的物理量的设备。这些传感器通过提供应变、温度和加速度等参数的实时数据,在 SHM 中发挥着至关重要的作用。这些传感器收集的信息对于结构的综合矩阵分析至关重要,可以对建筑物完整性进行全面评估。
LightningChart Python
LightningChart Python 是一个强大的数据可视化工具,特别适用于结构完整性分析项目。其先进的图表功能使其非常适合显示来自结构健康监测(SHM)系统的实时数据,能够提供清晰且有洞察力的结构健康指标可视化表示。
功能和图表类型
LightningChart Python 提供了各种增强数据可视化的功能:
· 高性能:可以以最小的延迟呈现数百万个数据点。
· 自定义:为轴、系列和图表外观提供广泛的自定义选项。
· 实时数据更新:支持可视化的动态更新,使其成为实时监控的理想选择。
性能特点
LightningChart Python 针对性能进行了优化,即使处理大型数据集也能确保流畅且响应迅速的可视化。这使其适用于实时地震监测应用,其中及时的数据表示至关重要。
设置Python环境
要为该项目设置 Python 环境,您需要安装 Python 和必要的库。这包括安装 LightningChart Python 和 Pandas。您还可以在此处找到整个GitHub项目。以下是快速设置指南:
1. 安装 Python:从官方网站下载并安装最新版本的 Python。
2. 安装库:使用 pip 安装所需的库:pip install lightningchart pandas
所用库的概述
· LightningChart Python:用于创建高性能图表。(文档)
· Pandas:数据操作和分析的必备工具。(文档)
设置开发环境
通过创建新的项目目录并安装所需的库来设置您的开发环境。确保 LightningChart Python 已获得正确的许可和配置。
加载和处理数据
本项目中使用的数据来自Kumar Anjney和Koushik Roy提供的“实验剪切建筑模型的加速度时程数据”数据集。该数据集包含来自六层三维剪切建筑微型模型(比例为1:20)的动态楼层响应数据。
实验装置位于印度比哈尔邦巴特那印度理工学院(IIT)土木与环境工程系 VI 号楼的结构健康监测实验室。
数据集包括“Damaged”和“Undamaged”文件夹,每个文件夹包含大约 20 个包含数据的 Excel 文件。然而,在调查这些文件时,发现它们之间的数据非常相似。
这表明同类型的测试可能进行了多次。由于缺少来自数据集来源的额外背景信息,我们在本项目中选择仅可视化“Damaged”文件夹中的第一个文件,以代表整个数据集。然而,数据访问、处理以及“Undamaged”数据的可视化内容已包含在notebook文件中。实验中使用的模型建筑图片如下:
建立用于收集实验数据的模型。
了解剪力建筑
剪力建筑指的是主要依靠剪力墙支撑的结构。剪力墙是通过剪切和弯曲强度来抵抗横向力(如风力或地震力)的垂直构件。这些墙对于保持建筑物的稳定性和完整性至关重要,尤其是在高层建筑中。剪力建筑旨在有效地管理这些力,确保结构在动态荷载下不会发生显著变形。
本项目使用的数据集采用六层剪切建筑模型。每层建筑都有一个加速度计(传感器),共六个加速度计。这些传感器测量动态楼层响应,这对于评估建筑物的结构完整性至关重要。
加载数据文件
使用Pandas将数据文件读入DataFrame,以便于操作和分析。
import pandas as pd
# Define the path to the Excel file containing the data
dataPath = 'DmgData17thSept/SB17SEPDMR1.xlsx'
# Read the Excel file into a DataFrame using pandas
dmgData = pd.read_excel(dataPath)
# Display the first five rows of the DataFrame to get a quick look at the data
dmgData.head()
基本数据处理技术
清理并预处理数据以确保其可以进行分析。
# Drop rows with any missing values from the DataFrame
dmgDataCleaned = dmgData.dropna()
# Rename the columns of the DataFrame for better readability
dmgDataCleaned.columns = ['Time', 'Acceleration1', 'Acceleration2', 'Acceleration3', 'Acceleration4', 'Acceleration5', 'Acceleration6']
# Convert all values in the DataFrame to numeric type (if they are not already)
dmgDataCleaned.apply(pd.to_numeric)
# Display the first ten rows of the cleaned DataFrame to inspect the data
dmgDataCleaned.head(10)
渝公网安备50010702505508