python操作abaqus建模教程①

这篇具有很好参考价值的文章主要介绍了python操作abaqus建模教程①。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考资料:

1. pyabaqus库使用指引(官方):GitHub - haiiliin/pyabaqus: Type hints for Abaqus/Python scripting (The repo has been transferred to https://github.com/haiiliin/abqpy).Type hints for Abaqus/Python scripting (The repo has been transferred to https://github.com/haiiliin/abqpy). - GitHub - haiiliin/pyabaqus: Type hints for Abaqus/Python scripting (The repo has been transferred to https://github.com/haiiliin/abqpy).https://github.com/haiiliin/pyabaqus2. abaqus使用指南:Abaqus 6.14 Documentationhttp://wufengyun.com:888/

3. 注意事项:

        1. 安装python3.9及以上版本;我使用的是3.9.2。

        2. 安装abaqus;我使用的是abaqus2022。

        3. 安装pyabaqus库,注意这个库需要与自己的abaqus版本对应;例:我安装的是abaqus2022,那么我需要安装pyabaqus==2022这个版本的库。可以使用两种方式安装库:

                ①在命令行窗口输入:pip install pyabaqus==2022

                ②在参考资料1的github链接里面找到Source code(tar.gz)(或者直接单击这个链接)下载。完了之后,在文件夹显示,命令行方式打开该文件夹,pip install 全部文件名

                        python abaqus,python,开发语言,github

                         python abaqus,python,开发语言,github

                        python abaqus,python,开发语言,github

         4. 安装完成后,需要设置环境变量。依次点击 右键此电脑-属性-高级系统设置-环境变量-新建系统变量,输入如下:变量值要指向在abaqus安装目录中的abaqus.bat文件。自己找找就好。输入完了,直接一直确定保存就好。

        python abaqus,python,开发语言,github

         5. 以上完成了,就能在命令行窗口直接调用abaqus的内核进行计算处理了(无需打开abaqus)。调用示例:cmd进入相应的文件夹,使用命令执行如下,前面不变,xuanbiliang.py是文件名,自己可以根据自己的写。

python abaqus,python,开发语言,github

 注意文件夹路径,不要含有中文!!!

python abaqus,python,开发语言,github python abaqus,python,开发语言,github

 这个odb结果文件可以直接在abaqus中查看,或者继续用python写一些后处理的逻辑,直接输出csv或者txt等文件都是可以的。

 悬臂梁测试参考代码如下(来源于参考文件2-Abaqus Scripting User's Guide-8.1节):

"""
beamExample.py

Reproduce the cantilever beam example from the
Appendix of the Getting Started with
Abaqus: Interactive Edition Manual.
"""

from abaqus import *
from abaqusConstants import *
backwardCompatibility.setValues(includeDeprecated=True,
                                reportDeprecated=False)

# Create a model.

myModel = mdb.Model(name='Beam')

# Create a new viewport in which to display the model
# and the results of the analysis.

myViewport = session.Viewport(name='Cantilever Beam Example',
    origin=(20, 20), width=150, height=120)
    
#-----------------------------------------------------

import part

# Create a sketch for the base feature.

mySketch = myModel.ConstrainedSketch(name='beamProfile',
    sheetSize=250.)

# Create the rectangle.

mySketch.rectangle(point1=(-100,10), point2=(100,-10))

# Create a three-dimensional, deformable part.

myBeam = myModel.Part(name='Beam', dimensionality=THREE_D,
    type=DEFORMABLE_BODY)

# Create the part's base feature by extruding the sketch 
# through a distance of 25.0.

myBeam.BaseSolidExtrude(sketch=mySketch, depth=25.0)

#-----------------------------------------------------

import material

# Create a material.

mySteel = myModel.Material(name='Steel')

# Create the elastic properties: youngsModulus is 209.E3
# and poissonsRatio is 0.3

elasticProperties = (209.E3, 0.3)
mySteel.Elastic(table=(elasticProperties, ) )

#-------------------------------------------------------

import section

# Create the solid section.

mySection = myModel.HomogeneousSolidSection(name='beamSection',
    material='Steel', thickness=1.0)

# Assign the section to the region. The region refers 
# to the single cell in this model.

region = (myBeam.cells,)
myBeam.SectionAssignment(region=region,
    sectionName='beamSection')

#-------------------------------------------------------

import assembly

# Create a part instance.

myAssembly = myModel.rootAssembly
myInstance = myAssembly.Instance(name='beamInstance',
    part=myBeam, dependent=OFF)

#-------------------------------------------------------

import step

# Create a step. The time period of the static step is 1.0, 
# and the initial incrementation is 0.1; the step is created
# after the initial step. 

myModel.StaticStep(name='beamLoad', previous='Initial',
    timePeriod=1.0, initialInc=0.1,
    description='Load the top of the beam.')

#-------------------------------------------------------

import load

# Find the end face using coordinates.

endFaceCenter = (-100,0,12.5)
endFace = myInstance.faces.findAt((endFaceCenter,) )

# Create a boundary condition that encastres one end
# of the beam.

endRegion = (endFace,)
myModel.EncastreBC(name='Fixed',createStepName='beamLoad',
    region=endRegion)

# Find the top face using coordinates.

topFaceCenter = (0,10,12.5)
topFace = myInstance.faces.findAt((topFaceCenter,) )

# Create a pressure load on the top face of the beam.

topSurface = ((topFace, SIDE1), )
myModel.Pressure(name='Pressure', createStepName='beamLoad',
    region=topSurface, magnitude=0.5)

#-------------------------------------------------------

import mesh

# Assign an element type to the part instance.

region = (myInstance.cells,)
elemType = mesh.ElemType(elemCode=C3D8I, elemLibrary=STANDARD)
myAssembly.setElementType(regions=region, elemTypes=(elemType,))

# Seed the part instance.

myAssembly.seedPartInstance(regions=(myInstance,), size=10.0)

# Mesh the part instance.

myAssembly.generateMesh(regions=(myInstance,))

# Display the meshed beam.

myViewport.assemblyDisplay.setValues(mesh=ON)
myViewport.assemblyDisplay.meshOptions.setValues(meshTechnique=ON)
myViewport.setValues(displayedObject=myAssembly)

#-------------------------------------------------------

import job

# Create an analysis job for the model and submit it.

jobName = 'beam_tutorial'
myJob = mdb.Job(name=jobName, model='Beam',
    description='Cantilever beam tutorial')

# Wait for the job to complete.

myJob.submit()
myJob.waitForCompletion()

#-------------------------------------------------------

import visualization

# Open the output database and display a
# default contour plot.

myOdb = visualization.openOdb(path=jobName + '.odb')
myViewport.setValues(displayedObject=myOdb)
myViewport.odbDisplay.display.setValues(plotState=CONTOURS_ON_DEF)

myViewport.odbDisplay.commonOptions.setValues(renderStyle=FILLED)

4. 说说体会:

        pyabaqus库不需要在python文件中import,实际执行python文件的方式是在cmd窗口里面用原始dos命令行的方式,用设置的系统变量 abaqus cae -noGUI 文件名.py 的方式执行,全程无需打开abaqus。这个方式实际上是pyabaqus实现了调用abaqus计算内核模块(像这种大型有限元软件的各个模块是独立开发和工作的。),执行abaqus支持的python语法进而计算。所以实际上计算的python文件只需要满足参考文件2里面的相关规范书写,保证能跑通就行。后期也可以想些方法在python执行中job计算完直接输出需要的图和表格。

        使用python命令建abaqus模型并后处理输出结果,全程无需打开abaqus,只要有代码就能自动计算。为实时计算结构受力提供了接口可能性。文章来源地址https://www.toymoban.com/news/detail-781475.html

到了这里,关于python操作abaqus建模教程①的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【ABAQUS 二次开发笔记】输出单元刚度矩阵

    我的主页: 技术邻:小铭的ABAQUS学习的技术邻主页 博客园 : HF_SO4的主页 哔哩哔哩:小铭的ABAQUS学习的个人空间 csdn:qgm1702 博客园文章链接: https://www.cnblogs.com/aksoam/p/17077587.html 此keyword用于将元素刚度矩阵和质量矩阵(如果可用)写入结果文件、用户定义文件或数据文件。

    2024年02月06日
    浏览(68)
  • ​​​​​​​GitHub Desktop下载、安装、操作教程

    目录 下载 安装 创建本地仓库 文件操作 分支操作 标签操作 远程仓库 下载 Git官网提供对应得下载链接页面: 下载地址:https://central.github.com/deployments/desktop/desktop/latest/win32s 安装 无安装过程,安装完成后,弹出应用界面 配置 点击软件得File菜单后,选择Options, 设定软件得操

    2024年02月15日
    浏览(39)
  • 手把手QQ机器人制作教程,根据官方接口进行开发,基于Python语言制作的详细教程(更新中)

    QQ开放平台官方地址:https://q.qq.com/#/app/bot QQ开放平台包含:QQ机器人、QQ小程序、QQ小游戏,我们这边选择QQ机器人。 机器人类型:设置私域机器人或者公域机器人,当然公域机器人对于服务器的要求过高,我们这边选择 私域机器人 进行开发。 特别注意在选择沙箱频道的时候

    2023年04月08日
    浏览(58)
  • 北鲲教程|基于 ABAQUS 的 CFRP 加固钢筋混凝土柱承载能力分析

    随着我国经济实力快速发展与国家竞争力迅速提高,尤其是“一带一路”倡议与“海洋开发战略”实施,我国基础设施建设正逐步冲破东部地区的狭长地带,不断扩展至更加广阔的海洋与西部地区。混凝土结构作为土木工程中最常用的结构形式,在房屋建筑、桥梁、隧道、矿

    2024年02月02日
    浏览(63)
  • 【详细教程】关于如何使用Git&GitHub的基本操作汇总&GitHub的密钥配置 ->(个人学习记录笔记)

    点击 官网链接 后,进入Git官网,下载安装包 然后根据系统类型进行下载,一般为windows 一般选择64位的安装器版本 下载好后开始安装 点击Next 默认即可,Next 默认即可,Next Next Next Next Next Next Next Next Next Next install即可 我们在桌面随便创建一个文件夹例如code 进入code文件夹 鼠

    2024年02月06日
    浏览(56)
  • MATLAB使用Simulink 进行建模与仿真方法 - Simulink基本操作与入门教程

    Simulink 是 MATLAB 很强大的功能组件,广泛用于系统建模、仿真和分析。下面分享给大家MATLAB使用Simulink 进行建模与仿真方法、步骤,希望能够帮助大家。 电脑 MATLAB及Simulink 组件 MATLAB使用Simulink 进行建模与仿真 1 我们打开MATLAB软件,然后在命令窗口中输入simulink或点击左上角的

    2024年02月05日
    浏览(94)
  • 【Git】保姆级教程:如何在 GitHub 上传大文件(≥100M)?(含自己的操作流程)

    GitHub是我们常用的代码托管平台,但GitHub有一个限制,不能上传超过100M的文件。 如果要上传的文件超过 GitHub 的文件大小限制,你可以考虑以下方法: 使用 Git LFS:Git LFS(Large File Storage)是一个扩展工具,用于管理大文件。它允许你将大文件存储在 Git 仓库之外,并在仓库中

    2024年02月13日
    浏览(48)
  • 球从楼梯弹起的数学原理 用数学建模运动的美妙之处(教程含R语言源码)

    我最近解决了这个应用数学问题,并对答案的美妙感到非常高兴,所以我想我会分享我的解决方法。 该问题涉及一个粒子从楼梯顶部发射并逐渐向下弹跳,撞击每个台阶一次。这是我们在日常生活中见过的经典动作,因此用数学对其进行建模是一项有趣的挑战。当然,我们将

    2024年02月02日
    浏览(36)
  • Python爬虫教程篇+图形化整理数据(数学建模可用)

    1.写一个爬虫程序 2、爬取目标网站数据,关键项不能少于5项。 3、存储数据到数据库,可以进行增删改查操作。 4、扩展:将库中数据进行可视化展示。 首先我们根据要求找到一个适合自己的网站,我找的网站如下所示: 电影 / 精品电影_电影天堂-迅雷电影下载 (dygod.net)  

    2024年02月13日
    浏览(42)
  • Python机器学习项目开发实战:如何预测建模

    注意:本文的下载教程,与以下文章的思路有相同点,也有不同点,最终目标只是让读者从多维度去熟练掌握本知识点。 下载教程: Python机器学习项目开发实战_预测建模_编程案例解析实例详解课程教程.pdf 在Python中进行机器学习项目开发实战,预测建模是一个常见的应用场

    2024年04月22日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包