ANSYS二次开发:APDL开发入门准备

相关文章汇总如下:

  1. ANSYS二次开发:APDL开发入门准备
  2. ANSYS二次开发:后处理使用APDL命令流解析结果文件
  3. ANSYS二次开发:Python解析ANSYS结果文件(PyAnsys库)
  4. ANSYS二次开发:Python和ANSYS进行交互操作(PyAnsys库,PyDPF)
  5. ANSYS二次开发:Python解析ANSYS FLUENT结果文件

文章目录

  • 1、前言
  • 2、在线学习资源
  • 3、ANSYS相关概念
    • 3.1 分析功能
    • 3.2 单位制
    • 3.3 坐标系
    • 3.4 实体模型和有限元模型
    • 3.5 载荷
    • 3.6 文件格式
    • 3.7 主要处理模块
    • 3.8 基本操作流程
    • 3.9 二次开发功能
  • 4、APDL命令说明(部分)
    • 4.1 /UNITS
    • 4.2 SET
    • 4.3 *SET
    • 4.4 NSEL
    • 4.5 /SHOW
    • 4.3 /UIS
    • 4.6 /CWD
    • 4.7 FILE
    • 4.8 PLDISP
    • 4.9 BLC4
    • 4.10 BLC5
  • 5、ANSYS的批处理batch技术
  • 结语

1、前言

Ansys于1970年在宾夕法尼亚州西部成立。今天,Ansys的总部仍然紧邻它的起源地,位于宾夕法尼亚州的卡农斯堡,Ansys在世界各地设有超过75个战略销售部门,并拥有遍布全球的合作伙伴网络。 

ANSYS二次开发:APDL开发入门准备_第1张图片

有限元法作为目前工程应用较为广泛的一种数值计算方法,以其独有的计算优势得到了广泛的发展和应用,并由此产生了一批非常成熟的通用和专业有限元商业软件。随着计算机技术的飞速发展,各种工程软件也得以广泛应用。
提到有限元法不能不提的是ANSYS 软件,ANSYS 软件是美国ANSYS 公司研制的大型通用有限元分析(FEA)软件,它是世界范围内增长最快的 CAE软件,能够进行包括结构、热、声、流体以及电磁场等学科的研究,在核工业、铁道、石油化工、航空航天、机械制造、能源、汽车交通、国防军工、电子、土木工程、造船、生物医药、轻工、地矿、水利、日用家电等领域有着广泛的应用。
ANSYS 的功能强大,操作简单方便,现在它已成为国际最流行的有限元分析软件,在历年 FEA 评比中都名列第一。

  • 仿真是一项超能力
    Ansys多物理场仿真赋予了我们强大的功能,让我们得以去探索和预测产品在真实世界中是否正常运行。
    ANSYS二次开发:APDL开发入门准备_第2张图片
    犹如能够预见未来,让您能够以前所未有的方式开展创新。

  • 工程驱动未来的能力
    Ansys基于建模、物理、数学和计算机科学的基本原理,仿真使工程师能够了解其设计在数百万种真实世界场景中的行为表现,同时能够减少、甚至消除对昂贵的物理测试的需求。

    仿真助力实现:
    1. 5G 和 6G 通信
    2. 工业物联网
    3. 自动驾驶汽车
    4. 个性化医疗
    5. 电气化
    6. 新一代能源
    ANSYS二次开发:APDL开发入门准备_第3张图片

  • 跨学科创新

    Ansys客户凭借从组件到系统的仿真加速创新:
    1. 结构力学
    2. 计算流体动力学
    3. 电磁
    4. 光子学
    5. 材料属性
    6. 半导体
    ANSYS二次开发:APDL开发入门准备_第4张图片

2、在线学习资源

  1. Ansys官网
    https://www.ansys.com/zh-cn

  2. Ansys Academic(Ansys 学术)
    https://www.ansys.com/zh-cn/academic

  3. Ansys Learning Forum(Ansys 学习论坛)
    https://forum.ansys.com/

  4. PyAnsys Project (pip install ansys-mapdl-core)
    https://docs.pyansys.com/

  5. apdl 18.2 命令在线帮助(布达佩斯科技与经济大学机械工程学院应用力学系):
    https://www.mm.bme.hu/~gyebro/files/ans_help_v182/ans_cmd/Hlp_C_CmdTOC.html

ANSYS 从 Release 18.1 开始上线在线帮助(测试版),从 Release 19.0 开始,在线帮助成为查看帮助资料的默认方式。

在ANSYS的本地离线帮助中,APDL的相关命令,既可以通过搜索直接搜索,也可以在Mechanical APDL—> Command Reference目下根据命令的首字母进行查找。

3、ANSYS相关概念

3.1 分析功能

ANSYS 软件的分析功能:结构分析、热分析、流体分析、电磁场分析、耦合场分析等。
其中结构分析有七种类型,功能如下:

  1. 静力分析:用于求解静力载荷作用下结构的静态行为,可以考虑结构的线性和非线性特性。非线性特性如大变形、大应变、应力刚化、接触、塑性、超弹、蠕变等。
  2. 特征屈曲分析:用于计算线性屈曲荷载和屈曲模态。
    非线性屈曲分析和循环对称屈曲分析属于静力分析类型,不属于特征值屈曲分析类型。
  3. 模态分析:计算线性结构的固有频率和振型,可采用多种模态提取方法。可计算自然模态、预应力模态、阻尼复模态、循环模态等。
  4. 谐响应分析:确定线性结构在随时间正弦变化的载荷作用下的响应。
  5. 瞬态动力分析:计算结构在随时间任意变化的载荷作用下的响应,可以考虑与静态分析相同的结构非线性特性。可考虑非线性全瞬态和线性模态叠加法。
  6. 谱分析:模态分析的扩展,用于计算由于响应谱或PSD输入(随机振动)引起的结构应力和应变。可考虑单点谱和多点谱分析。
  7. 显式动力分析:ANSYS/LS-DYNA可用于计算高度非线性动力学和复杂的接触问题。
  8. 专项分析:除上述七种分析类型外,还可进行如下的特殊分析:断裂、复合材料、疲劳、P-方法等。

3.2 单位制

ANSYS二次开发:APDL开发入门准备_第5张图片

3.3 坐标系

ANSYS二次开发:APDL开发入门准备_第6张图片

3.4 实体模型和有限元模型

现今几乎所有的有限元分析模型都用实体模型建模,类似于CAD。ANSYS以数学的方式表达结构的几何形状,用于在里面填充节点和单元,还可以在几何模型边界上方便地施加载荷。但是, 几何实体模型并不参与有限元分析。所有施加在几何实体边界上的载荷或约束必须最终传递到有限元模型上(节点或单元上)进行求解。
ANSYS二次开发:APDL开发入门准备_第7张图片
四类图元:

  • 体 (Volumes,3D模型) 由面围成,代表三维实体.
  • 面 (Areas,表面) 由线围成. 代表实体表面、平面形状或壳(可以是三维曲面).
  • 线 (Lines,可以是空间曲线) 以关键点为端点,代表物体的边.
  • 关键点 (Keypoints,位于3D空间) 代表物体的角点。
    ANSYS二次开发:APDL开发入门准备_第8张图片

3.5 载荷

ANSYS中的载荷可分为:

  • 自由度DOF - 定义节点的自由度(DOF)值 (结构分析_位移、热分析_ 温度、电磁分析_磁势等)。
  • 集中载荷 - 点载荷 (结构分析_力、热分析_ 热导率、电磁分析_magnetic current segments)。
  • 面载荷 - 作用在表面的分布载荷 (结构分析_压力、热分析_热对流、电磁分析_magnetic Maxwell surfaces等)。
  • 体积载荷 - 作用在体积或场域内 (热分析_ 体积膨胀、内生成热、电磁分析_ magnetic current density等)。
  • 惯性载荷 - 结构质量或惯性引起的载荷 (重力、角速度等)。

3.6 文件格式

文件类型 文件扩展名 文件格式 描述
数据库文件 jobname.db 二进制 既存储输入的数据,也存储结果数据。
Log 文件 jobname.log 文本 记录操作过程
结果文件 jobname.rxx 二进制 存储操作结果
图形文件 jobname.grph 二进制
错误文件 jobname.err 文本 存储出错信息
  • 其中数据库文件,是指在前处理、求解及后处理过程中,ANSYS保存在内存中的数据。数据库既存储输入的数据,也存储结果数据。
    • 输入数据 - 必须输入的信息 (模型尺寸、材料属性、载荷等).
    • 结果数据 - ANSYS计算的数值 (位移、应力、应变、温度等).
  • 其中结果文件说明如下:
    • 在进行后处理时,Ansys的求解结果文件有以下几种:
      (1).RST – 结构分析或耦合场分析结果;
      (2).RTH – 热分析和扩散分析结果;
      (3).RMG – 磁场分析结果;
      (4).RFL – FLOTRAN分析结果。

    • Ansys中可通过如下方法读取非默认的结果文件数据:
      (1)GUI:General Postproc - Data&File Opts,打开Data and File Options对话框,在Results file to be read后面选择Read single result file,点击浏览按钮找到需要读取的结果文件。在Data to be read中选择需要读取的结果项,点击OK读取结果文件。
      (2)命令:FILE, Fname, Ext
      Fname:文件名(包括路径),默认为当前路径,当前项目名;
      Ext:文件扩展名,如RST、RTH、RMG等等。

3.7 主要处理模块

名称 功能 菜单路径 命令
prep7 建立几何模型,赋予材料属性,分网与施加边界条件等 Main Menu > Preprocessor /prep7
solution 加载、求解 Main Menu > Solution /solu
post1 查看某个时刻的计算结果 Main Menu > General Postproc /post1
post26 查看时间历程上的计算结果 Main Menu > TimeHist Postproc /post26
pds 概率设计 Main Menu > Prob Design /pds
aux2 把二进制文件变成可读文件 Utility Menu > File>List>Binary Files… /aux2
aux12 在热分析中计算辐射因子和矩阵 Main Menu > Radiation Opt /aux12
aux15 从CAD或FEM程序中传递文件 Utility Menu > File > Import /aux15

3.8 基本操作流程

ANSYS的使用步骤主要包括:初步确认、前处理(建模与网格划分)、施加载荷求解、后处理(查看结果)。
ANSYS二次开发:APDL开发入门准备_第9张图片
其中后处理说明如下:
(1)通用后处理模块POST1
用来观看整个模型在某一时刻的结果。(如:结果的照相 “snapshot”)。
点击实用菜单项中的“General Postproc”选项即可进入通用后处理模块。这个模块对前面的分析结果能以图形形式显示和输出。例如,计算结果(如应力)在模型上的变化情况可用等值线图表示,不同的等值线颜色,代表了不同的值(如应力值)。浓淡图则用不同的颜色代表不同的数值区(如应力范围),清晰地反映了计算结果的区域分布情况。

(2)时间历程响应后处理模块POST26
用来观看模型在不同时间段或载荷步上的结果,常用于处理瞬态分析和动力分析的结果。
点击实用菜单项中的TimeHist Postpro选项即可进入时间历程响应后处理模块。这个模块用于检查在一个时间段或子步历程中的结果,如节点位移、应力或支反力。这些结果能通过绘制曲线或列表查看。绘制一个或多个变量随频率或其它量变化的曲线,有助于形象化地表示分析结果。另外,POST26还可以进行曲线的代数运算。

通过友好的用户界面,可以很容易获得求解过程的计算结果并对其进行显示。这些结果可能包括位移、温度、应力、应变、速度及热流等,输出形式可以有图形显示和数据列表两种。

后处理模块可将计算结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示(可看到结构内部)等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。

3.9 二次开发功能

ANSYS是一款功能十分强大的通用有限元分析软件。

ANSYS 的输入方式常规可分为菜单方式、命令方式、宏方式、函数方式、文件方式等。从使用角度分为两大类,即 GUI(Graphical User Interface)方式和命令流方式。

ANSYS实现分析通常分为两种:

  • GUI操作,优点是操作直观,入门较容易;
  • 基于参数化语言APDL(Ansys Parametric Design Languange)的操作,优点是易于修改、便于参数化和流程化分析作业,尤其在产品方案设计阶段有较大的优势。

ANSYS还为用户提供如下三种方式来进行功能扩充的二次开发工具:

  • 参数化设计语言(ANSYS Parametric Design Language,APDL),
    ANSYS数据接口:主要和CAD软件的关联,实现设计分析无缝连接、和FORTRAN、MATLAB和VC++等编程软件实现联合仿真分析。
  • 用户界面设计语言(User Interface Design Language,UIDL),主要用于开发特色的GUI用户界面,如一些数据的输出输出窗口等;
  • 用户可编程特性(User Programmable Features,UPFs),主要用于自定义材料本构、失效准则、单元类型和优化算法等;

其中,前两种可归类为标准使用特性,后一种为非标准使用特性。

一些特殊行业或工程问题,会涉及到二次开发,而APDL语言是二次开发的基础。

4、APDL命令说明(部分)

Ansys经典平台和workbench平台。

4.1 /UNITS

/UNITS, Label, LENFACT, MASSFACT, TIMEFACT, TEMPFACT, TOFFSET, CHARGEFACT, FORCEFACT, HEATFACT
Annotates the database with the system of units used.
声明要使用的单位系统。

Value Description
USER User-defined system (default).
SI International system (m, kg, s, K).
MKS MKS system (m, kg, s, °C).
uMKS μMKS system (μm, kg, s, °C).
CGS CGS system (cm, g, s, °C).
MPA MPA system (mm, Mg, s, °C).
BFT U. S. Customary system using feet (ft, slug, s, °F).
BIN U. S. Customary system using inches (in, lbf*s2/in, s, °F).

4.2 SET

SET, Lstep, Sbstep, Fact, KIMG, TIME, ANGLE, NSET, ORDER
Defines the data set to be read from the results file.

参数值 描述
N Read load step N.
FIRST Read the first data set (Sbstep and TIME are ignored).
LAST Read the last data set (Sbstep and TIME are ignored).
NEXT Read the next data set (Sbstep and TIME are ignored). If at the last data set, the first data set will be read as the next.
PREVIOUS Read the previous data set (Sbstep and TIME are ignored). If at the first data set, the last data set will be read as the previous.
NEAR Read the data set nearest to TIME (Sbstep is ignored). If TIME is blank, read the first data set.
LIST Scan the results file and list a summary of each load step. (KIMG, TIME, ANGLE, and NSET are ignored.)

4.3 *SET

*SET, Par, VALUE, VAL2, VAL3, VAL4, VAL5, VAL6, VAL7, VAL8, VAL9, VAL10
Assigns values to user-named parameters.

可以使用*SET命令或直接用赋值表达式来定义和修改标量参数。
ANSYS中的变量可分为两大类:标量参数和数组参数。

  • 标量参数
    标量参数分为两种:数值型的和字符型的。
!标量参数的定义和修改
*SET,LENGTH,10      !定义了一个名为LENGTH的数值型变量,并且值为10
*SET,COMMENT,'DISP'     !定义了一个名为COMMENT的字符型变量,并且赋值为DISP

以上两句等价于:
LENGTH=10
COMMENT='DISP'
!标量参数的删除
*SET,LENGTH,
*SET,COMMENT,
或:
LENGTH=
COMMENT=
又或:
*DEL,LENGTH
*DEL,COMMENT
  • 数组参数
    数组参数按维数可分为:一维数组,二维数组和三维数组。
    1)一般数组参数,也成为ARRAY Parameter。是一种默认的数据类型,也就是说,如果用户不声明数据类型,系统就会自动使用该数据类型。该数组的行、列、面的索引均为从1开始的连续整数,元素值可以为整数或实数。
    2)字符数组参数,又名CHAR Array Parameter。元素值为不多于8个的字符或数字组成。其行,列,面的索引值也是从1开始的连续整数。
    3)表数组参数,也叫TABLE Array Parameter。。这种数组较前两种非常特殊,它允许程序通过线性插值计算数组以确定元素之间的任何值。行,列,面的索引可以定义为任何实数,元素值可以为整数或实数。
!在ANSYS APDL中使用*DIM命令定义数组。*DIM的语法格式如下:
*DIM,Par,Type,IMAX,JMAX,KMAX,Var1,Var2,Var3

*DIM,DISP_1,,4         !定义了一个名为DISP_1的数值型数组,大小为4X1X1
*DIM,STRS_A,ARRAY,3,3           !定义了一个名为STRS_A的数值型数组,大小为3X3X1
*DIM,LABEL,CHAR,5!定义了一个名为LABEL的字符型数组,大小为5X1X1
*DIM,SEQ_2,TABLE,4,4            !定义了一个名为SEQ_2的表数型数组,大小为4X4X1
!用*SET命令或=进行赋值。用*SET一次只能给一个元素赋值,=最多能给10个元素赋值。
*SET,DISP_1(2),20                       !DISP_1(2)=20
DISP_1(3)=10,15                         !DISP_1(3)=10     DISP_1(4)=15
STRS_A(1,1)=10,20,30             !STRS_A(1,1)=10    STRS_A(2,1)=20    STRS_A(3,1)=30
STRS_A(2,3)=50,70                  !STRS_A(2,3)=50STRS_A(3,3)=70
!*VFILL命令可以用来填充一个一般的数组或表数组的列向量。
*VFILL,LABEL(1),DATA,'S1','S2','S3','S4','S5'
!用*VREAD或者*TREAD命令。*VREAD或者*TREAD命令可将数据文件填充到数组中去。

所有下面这些数学函数均可以在Ansys环境使用。

Function Description
SIN(X) Sine
COS(X) Cosine
TAN(X) Tangent
ASIN(X) Arcsine
ACOS(X) Arccosine
ATAN(X) Arctangent
ATAN2(Y,X) Arctangent (Y/X) with the sign of each component considered
SINH(X) Hyperbolic sine
COSH(X) Hyperbolic cosine
TANH(X) Hyperbolic tangent
SQRT(X) Square root
ABS(X) Absolute value
SIGN(X,Y) Absolute value of X with sign of Y. Y=0 results in positive sign
NINT(X) Nearest integer
MOD(X,Y) Remainder of X/Y Y=0 returns zero (0)
EXP(X) Exponential
LOG(X) Natural log
LOG10(X) Common log
RAND(X,Y) Random number, where X is the lower bound, and Y is the upper bound
GDIS(X,Y) Random sample of Gaussian distributions, where X is the mean, and Y is the standard deviation
LWCASE(CPARM) Lowercase equivalent of character parameter CPARM
UPCASE(CPARM) Uppercase equivalent of character parameter CPARM
VALCHR(CPARM) Numeric value of character parameter CPARM (If CPARM is a numeric parameter, returns 0.0)
CHRVAL(PARM) Character value of numerical parameter PARM. For ABS(PARM) < 10, character value format is F8.5; for 10 ABS(PARM) < 1000, format is F8.3; for 1,000 ABS(PARM)< 10,000,000, format is F8.0. For 10,000,000 PARM < 100,000,000, format is also F8.0. Otherwise result is 0.0 and is not a character value.
IBSET(b1,n2) Set the n2 bit in value b1 (bits are numbered from 0 to 31)
IBCLR(b1,n2) Clear the n2 bit in value b1
BTEST(b1,n2) Test the n2 bit in value b1 (return true (1.0) if bit is set)
BITAND(b1,b2) Bitwise AND of value b1 and b2
BITOR(b1,b2) Bitwise OR of value b1 and b2
BITXOR(b1,b2) Bitwise XOR of value b1 and b2
BITSET(b1,b2) Set the b2 bits in b1
BITCLEAR(b1,b2) Clear the b2 bits in b1

4.4 NSEL

NSEL, Type, Item, Comp, VMIN, VMAX, VINC, KABS
Selects a subset of nodes.

  • NSEL, STAT
    Display the current select status.
  • NSEL, ALL
    Restore the full set.
  • NSEL, NONE
    Unselect the full set.

4.5 /SHOW

  • /SHOW, TERM
  • /SHOW, png

4.3 /UIS

/UIS, Label, VALUE
Controls the GUI behavior.

  • /UIS, MSGPOP
参数值 描述
0 All messages displayed.
1 Only notes, warnings, and errors displayed.
2 Only warnings and errors displayed (default).
3 Only errors displayed.
  • /UIS, POWER
参数值 描述
0 Start GUI in Full Graphics mode.
1 Start GUI in PowerGraphics mode (default).

4.6 /CWD

/CWD, DIRPATH
Changes the current working directory.

4.7 FILE

FILE, Fname, Ext, –
Specifies the data file where results are to be found.

If Fname is blank, the extension defaults to RST (for structural, fluid, or coupled-field analyses), to RTH (for thermal or electrical analyses), or to RMG (for magnetic analyses). For postprocessing contact results corresponding to the initial contact state in POST1, use the RCN extension.

4.8 PLDISP

PLDISP, KUND
Displays the displaced structure.
Undisplaced shape key:

Value Description
0 Display only displaced structure.
1 Overlay displaced display with similar undisplaced display (appearance is system-dependent).
2 Same as 1 except overlay with undisplaced edge display (appearance is system-dependent).

4.9 BLC4

BLC4, XCORNER, YCORNER, WIDTH, HEIGHT, DEPTH
Creates a rectangular area or block volume by corner points.

Menu Paths
Main Menu>Preprocessor>Modeling>Create>Areas>Rectangle>By 2 Corners
Main Menu>Preprocessor>Modeling>Create>Volumes>Block>By 2 Corners & Z

4.10 BLC5

BLC5, XCENTER, YCENTER, WIDTH, HEIGHT, DEPTH
Creates a rectangular area or block volume by center and corner points.
Menu Paths
Main Menu>Preprocessor>Modeling>Create>Areas>Rectangle>By Centr & Cornr
Main Menu>Preprocessor>Modeling>Create>Primitives>Block
Main Menu>Preprocessor>Modeling>Create>Volumes>Block>By Centr,Cornr,Z

5、ANSYS的批处理batch技术

ANSYS的批处理是区别于GUI界面执行有限元分析过程的方式,通过批处理执行分析过程不用显式模型的相关情况,只会在后台运行,因而避免了用于可视化显式的相关资源的应用,速度相对来说比在GUI界面完成要快。通过Product Launcher启动ANSYS后:
ANSYS二次开发:APDL开发入门准备_第10张图片
ANSYS二次开发:APDL开发入门准备_第11张图片
ANSYS二次开发:APDL开发入门准备_第12张图片
ANSYS二次开发:APDL开发入门准备_第13张图片

"D:\Program Files\ANSYS Inc\v150\ANSYS\bin\winx64\ansys150.exe"  -p ane3fl -np 4 -dir %dr% -j "file" -s read -l en-us -b -i "file.dat" -o %dr%\file.out

其中:-p 表示指定license,ane3fl表示采用的license为ANSYS Multiphysics.
-b 表示采用ANSYS Batch模式
-j 表示job名称
-s 表示模式为read
-l 表示语言环境
-i 表示输入文件
-o 表示输出文件

Option Type Description
-np value HPC Specifies the number of processors to use when running Distributed ANSYS or Shared-memory ANSYS.
-l language Interface Specifies a language file to use other than US English.
-b [list or nolist] Launch Activates the ANSYS program in batch mode. The options -b list or -b by itself cause the input listing to be included in the output. The -b nolist option causes the input listing not to be included
-i inputname Launch Specifies the name of the file to read input into ANSYS for batch processing. On Linux, the preferred method to indicate an input file is <. Requried with -b option.
-j Jobname Launch Specifies the initial jobname, a name assigned to all files generated by the program for a specific model. If you omit the -j option, the jobname is assumed to be file.
-o outputname Launch Specifies the name of the file to store the output from a batch execution of ANSYS. On Linux, the preferred method to indicate an output file is >.
-p productname Launch Defines which ANSYS product will run during the session (ANSYS Multiphysics, ANSYS Structural, etc.). This is how you pull a different licence from the default. Very handing if you have multiple licenses to choose from.
-s [read or noread] Launch Specifies whether the program reads the start140.ans file at start-up. If you omit the -s option, ANSYS reads the start140.ans file in interactive mode and not in batch mode.
-dir path Launch Defines the initial working directory. Remember to use double quotes if you have spaces in your directory path name. Using the -dir option overrides the ANSYS140_WORKING_DIRECTORY environment variable.

结语

如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;(✿◡‿◡)
感谢各位大佬童鞋们的支持!( ´ ▽´ )ノ ( ´ ▽´)っ!!!


你可能感兴趣的:(ANSYS,ansys,有限元,apdl,二次开发,结构分析)