对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程。比如对上百个点施加集中力,比如建立几百个耦合约束。这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错。

利用Python程序来处理这些问题吧,把繁琐的工作留给程序吧,我们留下的只有创造力!!!

如下图所示的一块板,我想要在图示的节点处加上水平向和垂向的集中力。每个集中力是时间的函数,所以利用Amplitude中的Tabular来导入荷载时程。

你准备怎么做呢?是直接在cae里面来建立吗,幅值通过复制粘贴来建立??

对于这个只有9个点的情况,当然可以这样,但是假如是有九百个呢?

所以我们需要使用Python。

下面直接给出相关Python程序。

  1. #一般在ABAQUS中使用Python必须加上这三行
  2. from abaqus import *
  3. from abaqusConstants import *
  4. from caeModules import *
  5. session.journalOptions.setValues(replayGeometry=COORDINATE,recoverGeometry= COORDINATE)
  6. blist = []
  7. myAssembly = mdb.models['Model-1'].rootAssembly
  8. #将力的时程存在txt文件里。存储格式是第一列为时间,其余每列是荷载时程。每列之间逗号分隔
  9. with open('G:/zhanfang/Faster_focce.txt', 'r') as bf:
  10. bRVlist = [b.strip().split(',') for b in bf]
  11. with open('G:/zhanfang/Faster_focce.txt', 'r') as bf:
  12. bRHlist = [b.strip().split(',') for b in bf]
  13. #建立要加集中力的节点集合。因为节点排列没有顺利,所以按顺序依次建立。在我的模型里节点号为2,1,15,24,21。。。即为[x:x+1]里面的后一个值。
  14. n1 = myAssembly.instances['GD-slab-1'].nodes
  15. 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]
  16. jiedianshu=9
  17. for i in range(1,jiedianshu+1):
  18. nodesi = nodes1[i-1:i]
  19. F1nodelist = ''.join(['line7load',str(i)])
  20. myAssembly.Set(nodes=nodesi, name=F1nodelist)
  21. nodes2i = nodes2[i-1:i]
  22. F2nodelist = ''.join(['line8load',str(i)])
  23. myAssembly.Set(nodes=nodes2i, name=F2nodelist)
  24. LoadnamelistV = ''.join(['Load8V-',str(i)])
  25. LoadnamelistH = ''.join(['Load8H-',str(i)])
  26. #下面这个程序块是建立垂向力的幅值
  27. train250V = ()
  28. strlist = ['AmpRV-',str(i)]
  29. cstrlistV = ''.join(strlist)
  30. #这个for循环是将荷载数据转换成ABAQUS建立幅值的形式
  31. for bl in bRVlist:
  32. train250V = train250V+((float(bl[0]),float(bl[i])),)
  33. mdb.models['Model-1'].TabularAmplitude(name=cstrlistV, timeSpan=STEP, smooth=SOLVER_DEFAULT, data=train250V)
  34. #下面这个程序块是建立横向力的幅值
  35. train250H = ()
  36. strlist = ['AmpRH-',str(i)]
  37. cstrlistH = ''.join(strlist)
  38. for bl in bRHlist:
  39. train250H = train250H+((float(bl[0]),float(bl[i])),)
  40. mdb.models['Model-1'].TabularAmplitude(name=cstrlistH, timeSpan=STEP,smooth=SOLVER_DEFAULT, data=train250H)
  41. #建立集中力
  42. region1 = myAssembly.sets[F2nodelist]
  43. mdb.models['Model-1'].ConcentratedForce(name=LoadnamelistV, createStepName='Step-2',
  44. region=region1, cf3=1.0, amplitude=cstrlistV, distributionType=UNIFORM,
  45. field='', localCsys=None)
  46. region2 = myAssembly.sets[F2nodelist]
  47. mdb.models['Model-1'].ConcentratedForce(name=LoadnamelistH, createStepName='Step-2',
  48. region=region1, cf1=1.0, amplitude=cstrlistH, distributionType=UNIFORM,
  49. field='', localCsys=None)

添加荷载后的板

tips:

1.对于完成某个操作的程序命令具体是怎样的,可以从打开每个模型就会自动生成的abaqus.py文件查看。这个文件记录了每步cae操作对应的命令流。

2.由于Python自身的强制缩进的机制,上面给出的程序在缩进方面需要修改。建立熟悉基本的python语言规则,在来学习将Python和abaqus结合使用。


因为上一篇的关于abaqus的专栏文章多了好多关注呢,谢谢各位的关注啊。本小硕会持续把学习过程中的点滴收获和大家分享哦。

python smooth函数_利用Python程序完成ABAQUS中的一些重复性操作相关推荐

  1. python怎么重复程序_利用Python程序完成ABAQUS中的一些重复性操作

    对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程.比如对上百个点施加集中力,比如建立几百个耦合约束.这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错. 利 ...

  2. python利用集合的无重复性_利用Python程序完成ABAQUS中的一些重复性操作

    对于建立过大型的ABAQUS分析模型的同学们,肯定会面对繁琐的重复性建模过程.比如对上百个点施加集中力,比如建立几百个耦合约束.这些重复性操作,如果使用cae操作的话,不仅费时,而且极其容易出错. 利 ...

  3. python center函数_利用Python函数实现一个万历表完整示例

    前言 大家可以根据格式化打印字符去调一下最后的输出,不过有中文好像不好调整,可以换成星期的单词,这样应该会好一点,format()函数可以用来格式化打印字符,format()可以使用字符串去调用,也可 ...

  4. python对数据进行合并的函数_利用Python pandas对Excel进行合并的方法示例

    前言 在网上找了很多Python处理Excel的方法和代码,都不是很尽人意,所以自己综合网上各位大佬的方法,自己进行了优化,具体的代码如下. 博主也是新手一枚,代码肯定有很多需要优化的地方,欢迎各位大 ...

  5. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密

    原标题:利用Python写一个抽奖程序,解密游戏内抽奖的秘密 前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客 ...

  6. python抽奖教程_利用Python写一个抽奖程序,解密游戏内抽奖的秘密|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 分析需求 我们先整理下思路,目标是什么?目标是要写一个抽奖程序,那么抽奖程序的核心是什么?当然是如何判断一 ...

  7. python isalnum函数_探究Python中isalnum()方法的使用

    探究Python中isalnum()方法的使用 isalnum()方法检查判断字符串是否包含字母数字字符. 语法 以下是isalnum()方法的语法: str.isa1num() 参数 NA 返回值 ...

  8. python unique函数_《Python编程从入门到实践》json数据可视化练习详解

    <Python编程从入门到实践>16.2中,计算收盘价均值的程序有些不易看懂,结合我自己的理解进行一些说明. 使用的数据集:join格式的数据, 数据集是由多个字典为元素组成的列表.每个字 ...

  9. python计算信息增益_利用Python提取ABAQUS的计算结果(ODB)信息、体积、应变等变化(一)...

    00 实例模型 一个金属长方体,我们需要对其做拉伸的加载约束示意图如图1,并在完成后采用Python命令流读取参考点的位移.体积.应变随加载时间的变化情况. 图1 金属长方体约束加载示意图 01 Py ...

  10. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

最新文章

  1. 致被套基民:老基民的四点教训七点经验(ZT)
  2. excel打不开怎么修复_SD卡坏了怎么办?一招教你拯救文件!
  3. Cissp-【第2章 资产安全】-2021-1-14(163页-185页)
  4. 百胜软件2016年双十一项目正式启动
  5. vue工程本地代码请求http发生跨域提示错误解决方法
  6. 研发部 架构师 定义解读
  7. python调用matlab环境配置、非常详细!!!_Python调用Matlab2014b引擎
  8. android分辨率 x y,Android - 确定不同分辨率的位图上的特定位置(X,Y坐标)?
  9. 第四讲 Python3中的int型和浮点型
  10. 人工智能AI实战100讲(二)-自动驾驶传感器之激光雷达(一)激光雷达为何必不可少?
  11. [转]win系统下nodejs安装及环境配置
  12. Flutter进阶—质感设计之卡片
  13. [UIKit学习]03.关于UILable
  14. 实现了某一个接口的匿名类的例子_“全栈2019”Java多线程第三章:创建多线程之实现Runnable接口...
  15. 《自然语言处理技术在中文全文检索中的应用》笔记
  16. fpga烧写bin文件_FPGA烧写的方式和具体过程分析
  17. Repast HPC1.0.1实例运行总结
  18. 三菱FX3U生产方案 FX3U源代码+PCB文件全套生产方案 基于STM32F10的FX3U源码, 可直接使用GXworks2软件
  19. 【机器人学导论】第四章.传感器
  20. JMX详解及JConsole使用

热门文章

  1. 软件工程网络15个人作业3--案例分析
  2. FFmpeg滤镜实现区域视频增强 及 D3D实现视频播放区的拉大缩小转
  3. 滚动插件 animatescroll(可以设置要滚动到位置)
  4. Tomcat中的servlet配置理解
  5. JavaScript : 基本的处理事件
  6. 块级元素水平,垂直居中的两种方式
  7. Java web server 之 Jetty
  8. C++ boost 正则表达式用法
  9. iOS 网络图片转为UIImage 和微信分享时缩略图片的压缩
  10. 抗锯齿_像素画技巧AA手工抗锯齿教程