欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

轻松入门ANSYS APDL二次开发的必备准备

最编程 2024-01-23 11:41:55
...


????相关文章汇总如下????:

  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开发入门准备_ansys

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


  • 仿真是一项超能力
    Ansys多物理场仿真赋予了我们强大的功能,让我们得以去探索和预测产品在真实世界中是否正常运行。
  • ANSYS二次开发:APDL开发入门准备_二次开发_02

  • 犹如能够预见未来,让您能够以前所未有的方式开展创新。
  • ANSYS二次开发:APDL开发入门准备_ansys_03


  • 工程驱动未来的能力
    Ansys基于建模、物理、数学和计算机科学的基本原理,仿真使工程师能够了解其设计在数百万种真实世界场景中的行为表现,同时能够减少、甚至消除对昂贵的物理测试的需求。
    仿真助力实现:
    1. 5G 和 6G 通信
    2. 工业物联网
    3. 自动驾驶汽车
    4. 个性化医疗
    5. 电气化
    6. 新一代能源
  • ANSYS二次开发:APDL开发入门准备_apdl_04


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

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目下根据命令的首字母进行查找。

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

3、ANSYS相关概念

3.1 分析功能

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

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

3.2 单位制

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

3.3 坐标系

ANSYS二次开发:APDL开发入门准备_结构分析_08

3.4 实体模型和有限元模型

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

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


四类图元:

  • 体 (Volumes,3D模型) 由面围成,代表三维实体.
  • 面 (Areas,表面) 由线围成. 代表实体表面、平面形状或壳(可以是三维曲面).
  • 线 (Lines,可以是空间曲线) 以关键点为端点,代表物体的边.

  • 关键点 (Keypoints,位于3D空间) 代表物体的角点。
  • ANSYS二次开发:APDL开发入门准备_apdl_10

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开发入门准备_apdl_11


其中后处理说明如下:

(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=

  • 数组参数
    数组参数按维数可分为:一维数组,二维数组和三维数组。
    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).