参数化建模
参数化建模 - APDL 语言基础
获取数据库信息
• 有些数据可用 get 函数获取 例如: 例如
x1=nx(1) nn=node(2.5,3,0) /post1 ux25=ux(25) temp93=temp(93) width=distnd(23,88) ! ux25 = 接点25 [ 25 [RSYS]*处的UX ! temp93 = 93 93接点的温度 ! width = 23 和 88 接点间的距离 ! x1 = 接点 1 [CSYS]* 处的X坐标 CSYS]* ! nn = 在 (2.5,3,0) [ [CSYS]*或临近处的接点
大多数参数是会被替换的,这也就是为什么要用命令文件 (即分析文 大多数参数是会被替换的, 件)的形式存贮参数化模型的理由。 的形式存贮参数化模型的理由。
参数化建模 - APDL 语言基础
使用参数
• 使用参数的其他例子: 使用参数的其他例子
jobname=‘proj1’ /filnam,jobname /prep7 ex=30e6 mp,ex,1,ex force=500 fk,2,fy,-force fk,6,fx,force/2 ! 作用在 KP 2点的力 点的力 ! 作用在 KP 6点的力 点的力 ! 杨氏模量 ! 作业名
第二章
参数化建模
第二章
参数化建模
• • ANSYS优化的基本要求 (拓朴优化除外 就是要将模型参数化。 优化的基本要求 拓朴优化除外 就是要将模型参数化。 拓朴优化除外) 在此模型中, 我们要: 在此模型中 我们要
A. 定义参数化模型 B. 复习某些 复习某些APDL语言基础 语言基础 C. 按要求建立一个参数化模型并建立一个分析文件 D. 做一、二个课堂练习 做一、
k,10,kx(1),ky(3) k,11,kx(1)*2,ky(3) f,node(2,2,0),fx,100 ! KP 10 用 KP 1 1处的X值,KP 3处的Y值 [CSYS]* ! [CSYS]* ! 接点 接点(2,2,0) [CSYS]* 处的力FX
*CSYS =在激活的坐标系中 在激活的坐标系中(CSYS) 在激活的坐标系中
参数化建模
B. APDL 语言基础
什么是APDL语言 语言? 什么是 语言 • APDL是 ANSYS Parametric Design Language(ANSYS参数设 是 计语言)的缩写 一种脚本语言,可使模型参数化并使一般任务自动 计语言)的缩写, 一种脚本语言, 化。 语言, 用 APDL语言 可以 语言 可以:
参数化建模 - APDL 语言基础
参数定义
• 例如: 例如
inrad=2.5 outrad=8.2 numholes=4 thick=outradthick=outrad-inrad e=2.7e6 density=0.283 bb=cos(30) pi=acos(pi=acos(-1) g=386 massdens=density/g circumf=2*pi*rad area=pi*r**2 dist=sqrt((y2-y1)**2+(x2dist=sqrt((y2-y1)**2+(x2-x1)**2) slope=(y2-y1)/(x2slope=(y2-y1)/(x2-x1) theta=atan(slope) jobname=‘proj1’
*CSYS =在激活的坐标系中 在激活的坐标系中(CSYS) 在激活的坐标系中 RSYS =在激活的结果坐标系中 在激活的结果坐标系中(RSYS) 在激活的结果坐标系中
参数化建模 - APDL 语言基础
获取数据库信息
• 可在一个字段处直接用 get 函数 就象一个参数一样 例如 函数, 就象一个参数一样. 例如:
– 或命令 或命令:
/prep7 blc4,,,w,h
参数化建模 - APDL 语言基础
使用参数
注意: 注意
• • •
当使用一个参数时, ANSYS 立即替换其值 。
的面积, 保存的。 前例中的矩形是以 10x5 的面积, 而不是作为 w x h保存的。也就是 保存的 当矩形产生后,如果要改变w 的值, 说, 当矩形产生后,如果要改变w 或 h的值 此面积不会被改变 。 的值
参数化建模 - APDL 语言基础
参数定义
一些命名规则: 一些命名规则 • • • • • 参数名必须是由字母开头的8个或 个以下字符的组合。 个或8个以下字符的组合 参数名必须是由字母开头的 个或 个以下字符的组合。 只允许字母, 数字, 和下划线“ ” 只允许字母 数字 和下划线“ _” 。 使用。 避免下划线 _ 作为起始字符存给 ANSYS 使用。 大小写, 是相同的。 参数名不分大小写 即, “RAD” 和 “Rad” 是相同的。所有参数 内 部都是以大写形式存储的。 部都是以大写形式存储的。 避免使用通用的 ANSYS 标号, 诸如 STAT, DEFA, 和ALL。 标号, 。
参数化建模 - APDL 语言基础
获取数据库信息
• APDL 语言小结 语言小结:
– 定义参数可用格式: Name=Value. 定义参数可用格式: – Value 可以是一个数 一个预先定义的参数 一个数学函数 一个 参数 可以是一个数, 一个预先定义的参数, 一个数学函数, 表达式, 或一个字符串。 表达式 或一个字符串。 – 可用 *GET命令 或 get 函数从ANSYS 数据库中获取数据 函数从ANSYS 数据库中获取数据. 命令 – 从 ANSYS 存储数据的实际格式中获取数据 (数字或字串 不用参数名 数字或字串), 数字或字串 的形式. 的形式
*CSYS = 在激活的坐标系中 (CSYS) RSYS =在激活的结果坐标系中 在激活的结果坐标系中(RSYS) 在激活的结果坐标系中
! x1 = X coordinate of node 1 [CSYS]* ! sx25 = X stress at node 25 [RSYS]* ! uz44 = UZ displacement at node 44 [RSYS]* ! Sort nodes by von Mises stress ! smax = maximum of last sort ! Store element volumes as vol ! Sum all element table columns ! totvol = sum of vol column
参数化建模 - APDL 语言基础
获取数据库信息
• • 数据库信息的获取和给参数赋值, 命令, 数据库信息的获取和给参数赋值, 可用 *GET 命令, 或 Menu > Parameters > Get Scalar Data... Utility
有大量的信息,包括模型和结果数据 包括模型和结果数据。 命令的描述。 有大量的信息 包括模型和结果数据。详见 *GET 命令的描述。
• 该分析文件 包含完成参数化分析的 ANSYS 命令 :
– 建模 – 加载 – 求解 – 查看结果
参数化建模
定义与目的
• 在分析文件中要注意: 在分析文件中要注意
– 犹如 .log 文件一样要将非重要命令 (绘图 列表 图形控制等 移去。 绘图, 绘图 列表, 图形控制等) 移去。 – 把分析文件想象成优化必须要“存储”的参数化模型的一种格式。 把分析文件想象成优化必须要“存储”的参数化模型的一种格式。 – 优化程序多次执行分析文件 每次都用新的参数值。 优化程序多次执行分析文件, 每次都用新的参数值。 – 因为参数化模型中的那些参数很重要 我们将首先复习 一些 APDL 语 因为参数化模型中的那些参数很重要, 言的基本概念。 言的基本概念。
参数化建模参数化建模 APDL 语言基础
定义参数
• 要定义参数, 要定义参数 用格式 Name=Value
– 可由输入窗键入或用标量参数对话框 (Utility Menu > Parameters > Scalar Parameters... Parameters...) – Name 为参数名 8个或更少字符 为参数名, 个或更少字符 – Value 可为一数 一个预定义的参数 一个数学函 可为一数, 一个预定义的参数, 一个参数化表达式, 或一个字符串。 数, 一个参数化表达式 或一个字符串。
– 用参数而不是数字输入模型尺寸 材料参数等。 用参数而不是数字输入模型尺寸, 材料参数等。 – 从 ANSYS 数据库提取信息 如接点坐标或最大应力值。 数据库提取信息, 如接点坐标或最大应力值。
•
参数化建模
APDL语言基础 语言基础
• 语言还可以: 用APDL语言还可以 语言还可以
– 在参数间进行数学运算。 在参数间进行数学运算。 – 用数组参数创建向量和矩阵并对其操作。 用数组参数创建向量和矩阵并对其操作。 – 对最常用的命令或宏定义缩写字(快捷方式) 。 对最常用的命令或宏定义缩写字(快捷方式) – 创建一个带 if-then-else分支,do 分支, 分支 do-loops循环和用户提示的宏来执行 循环和用户提示的宏来执行 一系列的任务。 一系列的任务。
参数化建模
APDL语言基础 语言基础
• 本节, 将只集中介绍APDL语言的基本功能 语言的基本功能: 本节 将只集中介绍 语言的基本功能
– 如何定义参数 – 如何使用参数 – 如何从 ANSYS 数据库提取信息及如何用此信息给参数赋值 – APDL语言的其他功能 请参考“APDL Programmer’s Guide.” 语言的其他功能, 请参考“ 语言的其他功能
参数化建模 - APDL 语言基础
获取数据库信息
• 例如: 例如
*get,x1,node,1,loc,x /post1 *get,sx25,node,25,s,x *get,uz44,node,44,u,z nsort,s,eqv *get,smax,sort,,max etable,vol,volu ssum *get,totvol,ssum,,vol