热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python脚本编写创建输出数据库并添加模型和场数据的方法

本文介绍了使用Python脚本编写创建输出数据库并添加模型数据和场数据的方法。首先导入相应模块,然后创建输出数据库并添加材料属性、截面、部件实例、分析步和帧、节点和单元等对象。接着向输出数据库中添加场数据和历程数据,本例中只添加了节点位移。最后保存数据库文件并关闭文件。文章还提供了部分代码和Abaqus操作步骤。另外,作者还建立了关于Abaqus的学习交流群,欢迎加入并提问。

点击上方蓝色字体关注木木吧!

Python二次开发更新啦~
最近由于木木学业压力比较大,故更文速度有点小慢,请大家谅解谅解。废话不多说,进入今天的正题:

本期内容将编写脚本创建输出数据库,并向其中添加模型数据、场数据和历史数据,在后处理模块中显示位移场变量计算结果,最后保存ODB文件。源脚本来自于曹老师的《Python语言在Abaqus中的应用》,好书值得推荐!


编程思路:

  • 导入相应模块。本例中将创建输出数据库,并向其中添加数据,于是应添加:odbAccess、odbMaterial、odbSection、和abaqusConstants等模块;

  • 创建输出数据库时,数据库不包含任何模型需要调用相应函数构造对象。一般情况下需要创建以下对象:材料属性(Material模块)、截面(Section模块)、部件实例(Assembly模块)、分析步和帧(Step模块)、节点和单元(Mesh模块);

  • 向输出数据库中添加场数据和历程数据,本例中只向输出数据库中添加了节点位移,场输出为默认输出;

  • 创建完数据库后,应调用save( )方法保存数据库文件,然后调用close( )方法关闭文件。

部分代码如下:(源代码可在公众号内回复:创建数据库,即可自动获取)

#!/user/bin/python
# -* - coding:UTF-8 -*-
# 本脚本的功能是创建输出数据库,添加模型数据和场数据
# 并将场数据作为默认的变形输出变量


from odbAccess import *
from odbMaterial import *
from odbSection import *
from abaqusConstants import *


# 创建输出数据库ODB,同时将创建根装配rootAssembly
odb = Odb(name='simpleModel',analysisTitle='ODB created with API',
description='example illustrating API ',path='odb_Create_ODB.odb')

# 创建材料
materialName = "Elastic Material"
material_1 = odb.Material(name=materialName)
material_1.Elastic(type=ISOTROPIC,temperatureDependency=OFF,
dependencies=0,noCompression=OFF, noTension=OFF,
moduli=LONG_TERM, table=((12000,0.3),))

# 创建截面
sectiOnName= 'Homogeneous Shell Section'
section_1 = odb.HomogeneousShellSection(name=sectionName,
material=materialName, thickness=2.0)
# 下面将定义模型数据
# 设置截面分类(section categories)
sCat = odb.SectionCategory(name='S5',description='Five-Layered Shell')
spBot = sCat.SectionPoint(number=1,description='Bottom')
spMid = sCat.SectionPoint(number=3,description='Middle')
spTop = sCat.SectionPoint(number=5,description='Top')


# 创建只包含2个单元的壳模型,包含4个积分点和5个截面点
part1 = odb.Part(name='part-1', embeddedSpace=THREE_D,type=DEFORMABLE_BODY)


nodeData = ((1, 1,0,0),(2, 2,0,0),(3, 2,1,0.1),(4, 1,1,0.1),(5, 2,-1,-0.1),(6, 1,-1,-0.1),)
part1.addNodes(nodeData=nodeData,nodeSetName='nset-1')
......

在Abaqus操作如下:点击File,Run Script,



若CAE界面下方出现:

New output database has been created successfully!

You can view the odb_Create_ODB.odb file in the visualization module!

则odb文件已经成功创建,在Visualization模块中不要直接点击变形图,而应该先在此模块中打开odb文件,在点击变形云图,如图所示:


软件操作步骤如下:

本期代码就分享在这里了,大家有兴趣可在留言板进行留言,和木木互动起来~

留言板

另外向大家宣布一件事情,应粉丝要求,木木建立了关于Abaqus的学习交流群,本群旨在汇集Abaqus相关问题以及二次开发技术,相关资料整理后会发布在百度云,大家可以在木木的公众号内回复关键词自动获取,欢迎大家加入,可以在群内抛出问题,大神们看到会尽量解答~可在公众号内点击菜单栏:



喜欢本期内容的话可以点击在看哦,分享给身边的同学们~我们下期再见啦

往期推荐



Python脚本——输出场输出数据

ABAQUS自定义插件制作

Abaqus二次开发之Python(1)




推荐阅读
  • 移动端常用单位——rem的使用方法和注意事项
    本文介绍了移动端常用的单位rem的使用方法和注意事项,包括px、%、em、vw、vh等其他常用单位的比较。同时还介绍了如何通过JS获取视口宽度并动态调整rem的值,以适应不同设备的屏幕大小。此外,还提到了rem目前在移动端的主流地位。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 如何搭建Java开发环境并开发WinCE项目
    本文介绍了如何搭建Java开发环境并开发WinCE项目,包括搭建开发环境的步骤和获取SDK的几种方式。同时还解答了一些关于WinCE开发的常见问题。通过阅读本文,您将了解如何使用Java进行嵌入式开发,并能够顺利开发WinCE应用程序。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
author-avatar
宝马z4笑嘻嘻
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有