Generate MDOF lumped mass FE model using basic building information
Project description
MDOFModel
基于Python的多自由度(MDOF)结构地震工程分析库。
项目介绍
MDOFModel是一个用于结构工程中多自由度(MDOF)模型分析的Python库,主要用于地震工程分析。该工具可以通过基本建筑信息生成集中质量有限元模型,进行动力分析、推覆分析、损失评估和增量动力分析(IDA)等。
功能特点
- 结构模型生成:基于基本建筑参数(如层数、面积、结构类型)生成MDOF结构模型
- 地震动力分析:进行线性和非线性时程分析
- 推覆分析:实施结构静力推覆分析
- 增量动力分析(IDA):采用FEMA P-695远场地震记录执行IDA分析
- 损失评估:基于Hazus方法进行地震损失评估
- OpenSees集成:与OpenSees进行无缝对接
安装说明
使用pip安装本库:
pip install MDOFModel
依赖项
- Python >= 3.12
- numpy
- pandas
- matplotlib
- openseespy
- openpyxl
- eqsig
使用示例
示例1:动力分析
from MDOFModel import MDOF_CN as mcn
from MDOFModel import MDOFOpenSees as mops
# 创建3层结构模型
NumofStories = 3
bld = mcn.MDOF_CN(NumofStories, 1000, 'S2', City='石家庄',longitude=114.52,latitude=38.05)
bld.OutputStructuralParameters('structural parameters')
# 执行动力分析
fe = mops.MDOFOpenSees(NumofStories, [bld.mass]*bld.N, [bld.K0]*bld.N, bld.DampingRatio,
bld.HystereticCurveType, bld.Vyi, bld.betai, bld.etai, bld.DeltaCi, bld.tao)
fe.DynamicAnalysis('H-E12140', 3.0, True)
# 绘制层间位移时程
fe.PlotForceDriftHistory(1)
示例2:增量动力分析(IDA)
from MDOFModel import IDA
from MDOFModel import MDOF_LU as mlu
from MDOFModel import MDOFOpenSees as mops
import numpy as np
# 创建结构模型
NumofStories = 3
bld = mlu.MDOF_LU(NumofStories, 3600, 'S2')
bld.set_DesignLevel('pre-code')
# 设置OpenSees模型
fe = mops.MDOFOpenSees(NumofStories, [bld.mass]*bld.N, [bld.K0]*bld.N, bld.DampingRatio,
bld.HystereticCurveType, bld.Vyi, bld.betai, bld.etai, bld.DeltaCi, bld.tao)
# 执行IDA分析
IM_list = np.linspace(0.1, 2.0, 10).tolist()
IDA_obj = IDA.IDA(fe)
IDA_result = IDA_obj.Analyze(IM_list, EQRecordFile_list, bld.T1)
# 保存和绘制结果
IDA_result.to_csv('IDA_results.csv')
IDA.IDA.plot_IDA_results(IDA_result, Stat=True, FigName='IDA.jpg')
主要模块说明
- MDOF_CN:基于中国规范的多自由度模型生成
- MDOF_LU:通用多自由度模型生成
- MDOFOpenSees:OpenSees接口,用于建模和分析
- IDA:增量动力分析
- BldLossAssessment:建筑损失评估
- Tool_IDA:IDA分析辅助工具
- Tool_LossAssess:损失评估辅助工具
- ReadRecord:地震记录读取工具
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mdofmodel-0.1.0.tar.gz
(8.2 MB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mdofmodel-0.1.0.tar.gz.
File metadata
- Download URL: mdofmodel-0.1.0.tar.gz
- Upload date:
- Size: 8.2 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d6ebc19b8dabb0635520fbbf989fee161f82ba0d9e232b5a2b38b7aa7a57c08
|
|
| MD5 |
62109ad6033cd0c3a08ce86da10c17fe
|
|
| BLAKE2b-256 |
4d7d9b80a2cbf25287108d286cf64da59b2844487d0d9b177d2294b70d8a2572
|
File details
Details for the file mdofmodel-0.1.0-py3-none-any.whl.
File metadata
- Download URL: mdofmodel-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.1 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f6202f42afc7807460cde07327147c8648349dccf4598b0e2169a75a1cedceb
|
|
| MD5 |
f829ed41e99ea59d12a0141ff0fbbf3f
|
|
| BLAKE2b-256 |
4def098a7d803ba5a42695e0e876327cfa1a983ac00f8a4724781884a4af8c64
|