首页/文章/ 详情

OpenSeesPy---使用Python操作OpenSees命令

1年前浏览1632

1. 引言

OpenSees初始使用的是Tcl【自己编译最新版的OpenSees (地震工程模拟开放系统)】,Tcl 是一种基于字符串的命令语言,语法相对较少,它是上世纪90年代流行的数值计算脚本语言,许多数值模拟软件使用了Tcl,典型的例子如Abaqus,Tcl的命令格式类似于Itasca软件的命令及其FISH语言。后来俄勒冈州立大学(Oregon State University)使用Python来操作OpenSees命令,发展出目前的OpenSeesPy

2. Tcl试验

当进入OpenSees环境后,可以输入单条命令,也可以使用 soucre xxx.tcl 批处理执行一系列命令,下面试验了几个命令:
(2) model BasicBuilder -ndm 2 (注意大小写字母)
(3) node 1 0 0
(4) nodeCoord 1 
(5) package require math::linearalgebra (1.1.6)
(6) set a(1) 10
(7) set a(2) 20
(8) parray a
(9) puts $tcl_version (8.6)
(10) info patchlevel (8.6.13)

3. 安装OpenSeesPy

OpenSeesPy的最新版本为3.5.1.3 (2023年6月8日),不过由于预安装的Anaconda版本使用的Python版本为3.9,而最新的OpenSeesPy要求Python的最低版本为3.10,因此只能安装到V3.4.0.8,待以后升级。


pip install openseespy

4. 测试

由于Python安装在Anaconda的根目录下,因此使用根目录的Spyder编辑数据,例子文件仍使用前文的弹性Truss分析,数据准备步骤如下:

(1) 导入opensees模块


import openseespy.opensees as op

(2) 清除存在的模型

  
op.wipe()  
(3) 模型设置

  
op.model('basic', '-ndm', 2, '-ndf', 2)  
(4) 创建节点




  
op.node(1,0.,0.)op.node(2,144.0,0.)op.node(3,168.0,0.)op.node(4,72.0,96.0)  
(5) 设置边界条件



  
op.fix(1,1,1)op.fix(2,1,1)op.fix(3,1,1)  
(6) 定义材料性质

  
op.uniaxialMaterial('Elastic', 1, 3000.0)  
(7) 定义单元



  
op.element('Truss', 1, 1, 4, 10.0, 1)op.element('Truss', 2, 2, 4, 5.0, 1)op.element('Truss', 3, 3, 4, 5.0, 1)  
(8) 创建时间序列

  
op.timeSeries('Linear', 1)  
(9) 创建载荷模式

  
op.pattern('Plain', 1, 1)  
(10) 创建节点载荷

  
op.load(4, 100.0, -50.0)  
(11) 创建SOE

  
op.system('BandSPD')  
(12) 创建DOF数

  
op.numberer('RCM')  
(13) 创建约束句柄

  
op.constraints('Plain')  
(14) 创建集成器

  
op.integrator('LoadControl', 1.0)  
(15) 创建算法

  
op.algorithm('Linear')  
(16) 创建分析对象

  
op.analysis('Static')  
(17) 进行分析

  
op.analyze(1)  
(18) 取出节点位移


  
ux = op.nodeDisp(4,1)uy = op.nodeDisp(4,2)  

来源:计算岩土力学
Abaqus材料试验
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-10-11
最近编辑:1年前
计算岩土力学
传播岩土工程教育理念、工程分析...
获赞 150粉丝 1103文章 1782课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习计划 福利任务
下载APP
联系我们
帮助与反馈