热门标签 | 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)




推荐阅读
  • 入门指南:使用FastRPC技术连接Qualcomm Hexagon DSP
    本文旨在为初学者提供关于如何使用FastRPC技术连接Qualcomm Hexagon DSP的基础知识。FastRPC技术允许开发者在本地客户端实现远程调用,从而简化Hexagon DSP的开发和调试过程。 ... [详细]
  • Vue CLI 基础入门指南
    本文详细介绍了 Vue CLI 的基础使用方法,包括环境搭建、项目创建、常见配置及路由管理等内容,适合初学者快速掌握 Vue 开发环境。 ... [详细]
  • 本文探讨了如何在 Spring MVC 框架下,通过自定义注解和拦截器机制来实现细粒度的权限管理功能。 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 本文将详细探讨 Python 编程语言中 sys.argv 的使用方法及其重要性。通过实际案例,我们将了解如何在命令行环境中传递参数给 Python 脚本,并分析这些参数是如何被处理和使用的。 ... [详细]
  • 问题描述现在,不管开发一个多大的系统(至少我现在的部门是这样的),都会带一个日志功能;在实际开发过程中 ... [详细]
  • OBS Studio自动化实践:利用脚本批量生成录制场景
    本文探讨了如何利用OBS Studio进行高效录屏,并通过脚本实现场景的自动生成。适合对自动化办公感兴趣的读者。 ... [详细]
  • 通过实际应用思维导图,分享了其在VB编程学习中的作用与价值,以及如何利用思维导图提升编程效率。 ... [详细]
  • 本文探讨了如何将Python对象转换为字节流,以实现文件保存、数据库存储或网络传输的需求。主要介绍了利用pickle模块进行序列化的具体方法。 ... [详细]
  • 深入解析C语言中的关键字及其分类
    本文将全面介绍C语言中的关键字,并按照功能将其分为数据类型关键字、控制结构关键字、存储类别关键字和其他关键字四大类,旨在帮助读者更好地理解和运用这些基本元素。C语言中共有32个关键字。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
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社区 版权所有