Pyansys-PyMAPDL基本语法01-APDL原生命令流改写格式

前面我们给大家介绍了下Pyansys的环境配置,今日这篇文章我们具体讲讲其中的PyMAPDL模块基本语法,供大家参考。

前面的文章链接:

https://blog.csdn.net/weixin_42305372/article/details/159459927?spm=1011.2124.3001.6209https://blog.csdn.net/weixin_42305372/article/details/159459927?spm=1011.2124.3001.6209

所谓PyMAPDL基本语法,无非就是一个改装的过程,也即是将原有的APDL写法改造成为可供PyMAPDL识别的这样一个过程。

在PyMAPDL的官方文档里面有一定的演示,但个人觉得不是特别系统,同学们可自行去查看一二。

接下来我们就从基本的改装开始说起。

1、基本转换格式

APDL命令转为函数调用形式,方便参数从Python主程序传入。

例如APDL命令-K,100,25,26,27:这个命令定义了编号为100的关键点,三个方向的坐标分别为25,26,27

PyMAPDL实现有三种形式:

1)-mapdl.k(100,25,26,27):这是最基础的形式,基本上所有的APDL命令都遵循这种改造模型,也即首先实例化一个PyMAPDL,然后后面跟具体的APDL命令,括号里面输入具体的参数。参数的位置顺序和原生APDL命令的完全一致。

2)-mapdl.run("K,100,25,26,27"): 采用run命令直接运行原生APDL命令,针对于无需参数输入的情况。

3)-mapdl.k(npt=100, x=25,y=26,z=27): 除了必须按位置顺序输入外,还可通过指定参数名称以及值得方法进行,参数名称和APDL命令帮助里面得参数名称保持一致,这种形式适用于APDL命令参数较多,而只需输入特定位置的参数。

2、批量命令流运行方法

我们使用PyMAPDL的一个主要原则便是参数化的部位我们需要按上述基本转换格式进行转换方便参数输入,而针对大部分无任何参数传入的运行操作,我们不需要改造,直接采用批量命令流运行方法。

例如如下所示为一个网格划分的基本操作,操作过程我们不需要参数化,因而对于这段命令流,我们可采用批量运行的方法,速度更快:

原生APDL命令:

复制代码
allsel,all
meshape,0,3d
meshkey,1,3d
esize,BB/2
vmesh,all

改装后的:

复制代码
cmds="""
allsel,all
meshape,0,3d
meshkey,1,3d
esize,BB/2
vmesh,all
"""
mapdl.input_strings(cmds)

上面可见,基本思路无非就是将原生APDL的一大串命令存为一个字符串,然后用input_strings命令运行这段字符串即可。

3、带特殊符号的命令使用

在部分原生APDL命令中,部分命令带有一定的特殊符号,例如/Solu前面就带了一个斜杠,针对这部分命令,如果完全忽略原来的符号,可能会和既定的一些API名称冲突,故而官方进行了一些转换。

/=Slash

*=star

/solu正确的PyMAPDL语法应该为mapdl.slashsolu()而不是mpadl.solu()

水哥建议同学们无需去刻意掌握这些写法,直接run即可,方便快捷。

也即/solu直接改写为mapdl.run("/solu")。

本期的基本语法我们先说到这里,下期我们说下关于逻辑和宏文件的基本转换。

若有同学需要系统性的学习PyANSYS-PyMAPDL,可参考下面这篇文章:

https://fscae.com/8099/https://fscae.com/8099/

相关推荐
笨鸟先飞,勤能补拙27 分钟前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
长和信泰光伏储能1 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
浦信仿真大讲堂2 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study2 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
卷无止境3 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境3 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd1233 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
Dxy12393102164 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb004 小时前
一个项目带你入门AI应用开发01
python
0566464 小时前
Python康复训练——常用标准库
开发语言·python·学习