python smooth函数_利用Python程序完成ABAQUS中的一些重复性操作
对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程。比如对上百个点施加集中力,比如建立几百个耦合约束。这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错。
利用Python程序来处理这些问题吧,把繁琐的工作留给程序吧,我们留下的只有创造力!!!
如下图所示的一块板,我想要在图示的节点处加上水平向和垂向的集中力。每个集中力是时间的函数,所以利用Amplitude中的Tabular来导入荷载时程。
你准备怎么做呢?是直接在cae里面来建立吗,幅值通过复制粘贴来建立??
对于这个只有9个点的情况,当然可以这样,但是假如是有九百个呢?
所以我们需要使用Python。
下面直接给出相关Python程序。
- #一般在ABAQUS中使用Python必须加上这三行
- from abaqus import *
- from abaqusConstants import *
- from caeModules import *
- session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry= COORDINATE)
- blist = []
- myAssembly = mdb.models['Model-1'].rootAssembly
- #将力的时程存在txt文件里。存储格式是第一列为时间,其余每列是荷载时程。每列之间逗号分隔
- with open('G:/zhanfang/Faster_focce.txt', 'r') as bf:
- bRVlist = [b.strip().split(',') for b in bf]
- with open('G:/zhanfang/Faster_focce.txt', 'r') as bf:
- bRHlist = [b.strip().split(',') for b in bf]
- #建立要加集中力的节点集合。因为节点排列没有顺利,所以按顺序依次建立。在我的模型里节点号为2,1,15,24,21。。。即为[x:x+1]里面的后一个值。
- n1 = myAssembly.instances['GD-slab-1'].nodes
- nodes1=n1[1:2]+n1[0:1]+n1[14:15]+n1[23:24]+n1[20:21]+n1[31:32]+n1[28:29]+n1[39:40]+n1[36:37]
- jiedianshu=9
- for i in range(1,jiedianshu+1):
- nodesi = nodes1[i-1:i]
- F1nodelist = ''.join(['line7load',str(i)])
- myAssembly.Set(nodes=nodesi, name=F1nodelist)
- nodes2i = nodes2[i-1:i]
- F2nodelist = ''.join(['line8load',str(i)])
- myAssembly.Set(nodes=nodes2i, name=F2nodelist)
- LoadnamelistV = ''.join(['Load8V-',str(i)])
- LoadnamelistH = ''.join(['Load8H-',str(i)])
- #下面这个程序块是建立垂向力的幅值
- train250V = ()
- strlist = ['AmpRV-',str(i)]
- cstrlistV = ''.join(strlist)
- #这个for循环是将荷载数据转换成ABAQUS建立幅值的形式
- for bl in bRVlist:
- train250V = train250V+((float(bl[0]),float(bl[i])),)
- mdb.models['Model-1'].TabularAmplitude(name=cstrlistV, timeSpan=STEP, smooth=SOLVER_DEFAULT, data=train250V)
- #下面这个程序块是建立横向力的幅值
- train250H = ()
- strlist = ['AmpRH-',str(i)]
- cstrlistH = ''.join(strlist)
- for bl in bRHlist:
- train250H = train250H+((float(bl[0]),float(bl[i])),)
- mdb.models['Model-1'].TabularAmplitude(name=cstrlistH, timeSpan=STEP,smooth=SOLVER_DEFAULT, data=train250H)
- #建立集中力
- region1 = myAssembly.sets[F2nodelist]
- mdb.models['Model-1'].ConcentratedForce(name=LoadnamelistV, createStepName='Step-2',
- region=region1, cf3=1.0, amplitude=cstrlistV, distributionType=UNIFORM,
- field='', localCsys=None)
- region2 = myAssembly.sets[F2nodelist]
- mdb.models['Model-1'].ConcentratedForce(name=LoadnamelistH, createStepName='Step-2',
- region=region1, cf1=1.0, amplitude=cstrlistH, distributionType=UNIFORM,
- field='', localCsys=None)
tips:
1.对于完成某个操作的程序命令具体是怎样的,可以从打开每个模型就会自动生成的abaqus.py文件查看。这个文件记录了每步cae操作对应的命令流。
2.由于Python自身的强制缩进的机制,上面给出的程序在缩进方面需要修改。建立熟悉基本的python语言规则,在来学习将Python和abaqus结合使用。
因为上一篇的关于abaqus的专栏文章多了好多关注呢,谢谢各位的关注啊。本小硕会持续把学习过程中的点滴收获和大家分享哦。
python smooth函数_利用Python程序完成ABAQUS中的一些重复性操作相关推荐
- python怎么重复程序_利用Python程序完成ABAQUS中的一些重复性操作
对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程.比如对上百个点施加集中力,比如建立几百个耦合约束.这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错. 利 ...
- python利用集合的无重复性_利用Python程序完成ABAQUS中的一些重复性操作
对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程.比如对上百个点施加集中力,比如建立几百个耦合约束.这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错. 利 ...
- python center函数_利用Python函数实现一个万历表完整示例
前言 大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,format()函数可以用来格式化打印字符,format()可以使用字符串去调用,也可 ...
- python对数据进行合并的函数_利用Python pandas对Excel进行合并的方法示例
前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...
- python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...
- python抽奖教程_利用Python写一个抽奖程序,解密游戏内抽奖的秘密|python基础教程|python入门|python教程...
https://www.xin3721.com/eschool/pythonxin3721/ 分析需求 我们先整理下思路,目标是什么?目标是要写一个抽奖程序,那么抽奖程序的核心是什么?当然是如何判断一 ...
- python isalnum函数_探究Python中isalnum()方法的使用
探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符. 语法 以下是isalnum()方法的语法: str.isa1num() 参数 NA 返回值 ...
- python unique函数_《Python编程从入门到实践》json数据可视化练习详解
<Python编程从入门到实践>16.2中,计算收盘价均值的程序有些不易看懂,结合我自己的理解进行一些说明. 使用的数据集:join格式的数据, 数据集是由多个字典为元素组成的列表.每个字 ...
- python计算信息增益_利用Python提取ABAQUS的计算结果(ODB)信息、体积、应变等变化(一)...
00 实例模型 一个金属长方体,我们需要对其做拉伸的加载约束示意图如图1,并在完成后采用Python命令流读取参考点的位移.体积.应变随加载时间的变化情况. 图1 金属长方体约束加载示意图 01 Py ...
- python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合
本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...
最新文章
- 致被套基民:老基民的四点教训七点经验(ZT)
- excel打不开怎么修复_SD卡坏了怎么办?一招教你拯救文件!
- Cissp-【第2章 资产安全】-2021-1-14(163页-185页)
- 百胜软件2016年双十一项目正式启动
- vue工程本地代码请求http发生跨域提示错误解决方法
- 研发部 架构师 定义解读
- python调用matlab环境配置、非常详细!!!_Python调用Matlab2014b引擎
- android分辨率 x y,Android - 确定不同分辨率的位图上的特定位置(X,Y坐标)?
- 第四讲 Python3中的int型和浮点型
- 人工智能AI实战100讲(二)-自动驾驶传感器之激光雷达(一)激光雷达为何必不可少?
- [转]win系统下nodejs安装及环境配置
- Flutter进阶—质感设计之卡片
- [UIKit学习]03.关于UILable
- 实现了某一个接口的匿名类的例子_“全栈2019”Java多线程第三章:创建多线程之实现Runnable接口...
- 《自然语言处理技术在中文全文检索中的应用》笔记
- fpga烧写bin文件_FPGA烧写的方式和具体过程分析
- Repast HPC1.0.1实例运行总结
- 三菱FX3U生产方案 FX3U源代码+PCB文件全套生产方案 基于STM32F10的FX3U源码, 可直接使用GXworks2软件
- 【机器人学导论】第四章.传感器
- JMX详解及JConsole使用