笔者为科研界最后的摆烂王,目前利用python代码对Abaqus进行二次开发尚在学习中。欢迎各位摆烂的仁人志士们和我一起摆烂!ps:搞什么科研,如果不是被逼无奈,谁要搞科研!


本期为大家带来在Abaqus中批量建立两点弹簧的python脚本编辑,在这段时间利用python对Abaqus进行二次开发的过程中,也是有一些感慨想要分享给大家。

python是一门很优秀,理解起来也并不复杂的编程语言,对于像笔者这种专业为岩土工程的工科生来说,python的主要用处,一个在于如何通过编程,实现在有限元软件或者离散元软件中进行快速建模,另一个则是如何快速提取软件模拟分析出来的数据,并且绘制各种各样的数据图来供分析或者写论文使用。

所以对于python语言的精通程度,对于软件进行二次开发来讲,并不需要像计算机专业可以将各种代码信手拈来,可以用精美的代码来构建起屏幕上绚烂的色彩。

在对软件进行二次开发时,一个很重要的参考信息源,就是软件自带的用户手册。熟悉手册里面提供的python脚本参考案例,与软件中各功能所对应的python脚本,是做好二次开发的第一步。对于进行二次开发的python初学者而言,没有太多时间学习完基础知识之后,还可以进行更深层次的代码练习,往往都是在边学的过程中,边扒着用户参考手册做开发。

笔者也是如此。

二次开发的另一要点则是,构建起正确的,简易的,开发思路。

以批量建立弹簧为例,编者的思路为首先确定下来在软件中,对两个点,所建立弹簧时的python代码。将此问题解决之后,便可以在此基础之上,通过循环建立起来多个节点下的两点弹簧。

那么要如何确定,用python代码将相对应的两个点作为一个弹簧区域时的两个node的编号呢?

于是,编写弹簧的代码思路就出来了。

第一:首先用python脚本编写程序,来判断两个不同的node集合中,相近的两个node,并将成对提取出来,放进region区域内,构成由N个node对组成的弹簧 regionPairs

判断时可以用同一个坐标下,不同node编号的两个节点构成一对。(适合两个面相重合,且划分网格时形成的节点数目一样,只是node编号不一样,但空间位置相同,笔者试过该方法,但是有点问题,应该是网格划分的时候没有对齐好点)

也可以用两个点距离判断,当两个点的距离小于一个极小值的时候,可以认为这两个点为建立弹簧时的region点。(这个是比较通用的)

第二:将代码按照正确的顺序,添加进去Abaqus自带的,所必须的代码段。比如代表Assembly的

a = mdb.models['Model-1'].rootAssembly

在第一步的摸索中,可以根据遇见的问题,进行网上搜索获取相应的代码来解决问题,笔者便是这样,并且认为这是对于自己来说,一个很好的提高python编程能力的方法,多看多学,多改多背。

也欢迎各位大佬在python和二次开发方面给小弟提一些建议与指导,感谢!

最后附上建立起两点弹簧的截图

这是一个空心圆环,外套一个圆壳,圆壳刚好和圆环外表面重合。

 文章中给出的为建立"两点弹簧"的案例图片,属于线性弹簧,对于非线性弹簧的编码思路,与之是完全一致,所以不再更新赘述。

不管是两点弹簧,还是非线性弹簧,都可以在研究内容"钢筋在混凝土中的拉拔性能"用作模拟剪切滑移关系的工具,这对于想直接定义其剪切滑移本构关系的用户来说,是很方便的,可以降低采用Cohesive单元或者接触来模拟粘结滑移的收敛困难。

而对于研究隧道工程的用户来说,荷载-结构法所采用的弹簧为接地弹簧,编码思路类似,但是略有不同,毕竟Abaqus不如Ansys这么面向工程,不过它更科研,功能也更强大,结果也更可靠。

以上三类脚本都可以私聊获取购买

家人们,我们下次再见,拜拜!

Abaqus二次开发------利用非线性弹簧模拟粘结滑移相关推荐

  1. python在材料模拟中的应用_基于Python的ABAQUS二次开发及在板料快速冲压成形模拟中的应用...

    2009 doi :10 1 3969/ j 1 issn 1 1007 2 2012 1 2009 1 04 1 013 基于 Python 的 ABAQUS 二次开发及在板料快速 冲压成形模拟中的 ...

  2. abaqus生成odb文件_【前沿技术】基于Python的ABAQUS二次开发在飞机蒙皮锤铆中的应用...

    基于Python的ABAQUS 二次开发在飞机 蒙皮锤铆中的应用 在飞机蒙皮铆接技术中,锤铆是用一个小冲击力循环累计施加到铆钉使之变形的过程.根据锤铆铆接工艺和铆枪结构原理,铆钉的塑性变形是由铆枪的活 ...

  3. Abaqus 二次开发 基本概念

    Documentation: Abaqus Scripting User's Guide Abaqus GUI Toolkit User's Guide 本人对本文基本没有原创性贡献,所列内容仅为备忘 ...

  4. abaqus二次开发简单插件

    关于abaqus二次开发 Abaqus自带操作 1.1. 目录栏 - plug-ins – Abaqus –RSG Dialog Builder 这里可以利用abaqus自带的开发模块进行简单的设计 ...

  5. 基于ABAQUS二次开发的仿真分析平台

    ✨基于ABAQUS二次开发的仿真分析平台✨ 随着近年来计算机领域里程碑式的进步,计算机软件市场的迅速扩张,推出了许多功能强大的计算机仿真软件.ABAQUS有限元仿真分析软件则是其中的翘楚,作为应用广泛 ...

  6. python对abaqus本构二次开发_基于Python的Abaqus二次开发实例讲解

    第 1 页 共 11 页 基于 Python 的 Abaqus 二次开发实例讲解 ( asian58 2013.6.26 ) 基于 Python 的 Abaqus 的二次开发便捷之处在于: 1 .所有 ...

  7. abaqus python二次开发攻略_Python 进行 Abaqus 二次开发的基础知识

    1.Python 一切皆对象的特点 Object(对象):可以是数据,可以是函数,也可以是包含若干数据和函数的打包整体.对象可以包括成员和方法. Member(成员):对象包含的子对象,子对象可以是数 ...

  8. python在abaqus二次开发_Python在ABAQUS二次开发中的应用实例2ppt

    PPT内容 这是Python在ABAQUS二次开发中的应用实例2ppt,包括了ABAQUS 脚本概述,Python 语言简介,ABAQUS脚本编写等内容,欢迎点击下载. 主要内容 一.ABAQUS 脚 ...

  9. Abaqus二次开发——UEL资源大放送!!!

    本次给大家分享的是:UEL资源汇总 经过之前给大家分享的UEL入门案例,相信大家对于自定义开发单元有一定的理解,最起码会使用,整体的流程大概有一定的了解. 身处科研一线的你们可能会需要一些比较&quo ...

最新文章

  1. ES : 软件工程学的复杂度理论及物理学解释
  2. VTK:可视化算法之VelocityProfile
  3. python 时间-秒_Python-代码等待10秒不直观,教你用进度条显示时间进度
  4. pythondict初始化_利用defaultdict对字典进行全局初始化。
  5. USACO / Factorials (简单模拟)
  6. shell下将查看大文件有多少行
  7. java 的泛型的嵌套_Java接口泛型的嵌套实现
  8. Windows7下UEFI开发EDK2环境搭建(VS2013+UDK2015+IASL+patch+Openssl)
  9. c#通过网络链接打印PDF
  10. ESXI7.0主机安装群晖DS3617xs
  11. vscode中的maven_在VSCode中使用Maven进行JUnit测试
  12. java vcard格式_使用Cardme Java创建VCard
  13. 7.7.4 积分卡管理系统示例
  14. 计算机网络 计算路由表
  15. ThinkPad 连接无线网络几分钟后无线自动关闭
  16. 【Mac】动图截图工具Kap
  17. 一起来找茬:下面这段代码是让计算机在屏幕上输出“hi”。其中有三个错误,快来改正吧
  18. sql groud by 语句
  19. linux下下载种子文件
  20. SQL中delete和drop的区别

热门文章

  1. 立体视觉跟踪(一):Stereo Vision-based Semantic 3D Object and Ego-motion Tracking for Autonomous Driving
  2. 为《 两周自制脚本语言 》添加中文测试代码
  3. 可见性剔除_使用分层遮挡贴图进行可见性剔除(6.实现与性能表现-2.性能表现)...
  4. 内存系列一:快速读懂内存条标签
  5. 代码洁癖系列(四):可忽略的注释
  6. Python学习笔记(5):os.path模块
  7. Tensorflow系列 | Tensorboard详解(下篇)
  8. 想要软文推广营销成功,这几大要素得有
  9. 学美工、平面设计、UI设计,哪个更有前途?
  10. html地图根据坐标定位,百度地图js根据经纬度定位和拖动定位点