ansys编程语言

合集下载

ANSYS的二次开发技术

ANSYS的二次开发技术

ANSYS的二次开发技术ANSYS 的二次开发技术ANSYS 提供的二次开发工具有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface Design Language,UIDL)以及用户可编程特性(User Programmable Features,UPFs)。

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

ANSYS 参数化设计语言(APDL)APDL 扩展了传统有限元分析范围之外的能力,提供了建立标准化零件库、序列化分析、设计修改、设计优化以及更高级的数据分析处理能力,包括灵敏度研究等。

ANSYS 用户可编程特性(UPFs)利用UPFs,用户可以开发下列方面的功能程序:(1) 开发用户子程序实现从ANSYS 数据库中提取数据或将数据写入ANSYS 数据库。

该种子程序可以编译连接到ANSYS 中,此时ANSYS 提供了10 个数据库操作命令;如果作为外部命令处理,可以在ANSYS 的任何模块中运行;(2) 利用ANSYS 提供的子程序定义各种类型的载荷,其中包括BF 或BFE 载荷、压力载荷、对流载荷、热通量和电荷密度等;(3) 利用ANSYS 提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层单元失效准则等;(4) 利用ANSYS 提供的子程序定义新单元和调整节点方向矩阵,ANSYS 最多可以有6 个独立的新单元USER100-USER105;( 5) 利用ANSYS 提供的子程序修改或控制ANSYS 单元库中的单元;(6) 利用UEROP 创建用户优化程序,可以用自己的算法和中断准则替换ANSYS 优化过程。

(7) ANSYS 程序作为子程序在用户程序中调用,如用户自定义的优化算法。

ANSYS 软件本身是通过FORTRAN 和C 语言开发的。

使用UPFs 进行二次开发,在安装ANSYS 的基础上,还需要Compaq Visual FORTRAN 和MS Visual C++的支持。

ANSYS11.0基础与实例教程-第2章 程序设计语言APDLPPT课件

ANSYS11.0基础与实例教程-第2章 程序设计语言APDLPPT课件
第二章 程序设计语言APDL
ANSYS11.0基础与实例教程 创建宏文件有以下四种方法:
➢使用*CREATE命令创建宏文件,在命令输入窗口中输入 *CREATE , matpropl , mac MP , EX , 1 , 2 .1E11 MP , NUXY , 1 , . 27 MP , DENS , 1 , 7 835 MP , KXX , l , 42 * END
在ANSYS 程序中调用宏文件有如下3 种方式: ( 1 ) * USE , mymacroname
( 2 ) mymacroname
( 3 ) / INPUT , ' mymacroname ' , , , , 0
《力学分析应用软件基础》多媒体课件 2021/4/4
11/12第二学期 6
河南科技大学规划与建筑工程学院力学系
ANSYS11.0基础与实例教程
➢使用/TEE命令创建宏文件,在命令输入窗口中执行 /TEE, Lable, Fname, Ext,-其中Lable是/TEE命令的操作标识字,有以下三种
值: NEW, 新创建一个命令流记录文件 APPEND,打开同名文件并追加信息 END,关闭刚才打开的文件
《力学分析应用软件基础》多媒体课件 2021/4/4
第二章 程序设计语言APDL
2.2 APDL语言的流程控制
*GO无条件分支
*IF *IFELSE *EL,SE*ENDIF条件分支
(比较运算符:NQ、NE、LT、GT、LE、GE、ABLT、ABGT)
*DO *ENDDO循环
* DOWHILE循环
*REPEAT循环
《力学分析应用软件基础》多媒体课件 2021/4/4
ANSYS11.0 基础与实例教程

ANSYS参数化编程语言的二次开发及应用

ANSYS参数化编程语言的二次开发及应用
维普资讯
A S S参数化编程语言的二次开发及应用 ★ NY
口 何芝仙 口 曹 菁。
芜湖 2 10 4 00
上海 203 000
1安徽工程科技学院机械系 .
2上海交通大学动力与机械学院 . 摘
要 : 用 A S S中 的 A D 利 NY P L语 言 进 行 二 次 开 发 , 写 专 门程 序 , 编 实现 了 自动 多次 改 变 边界 条件 , 解 并记 录指 定 求
o h e i n td n d s Asa r s l,t o t p c r be r ov d ie e t g u f e f xb e ma r n a c lt n o e n te d sg ae o e . e u t w y ia p lms ae s l e , 、 、s t n p o e i l l o i h t l ti a d c l ua i ft x o h
i ovde . Thsp o r m sa e t h n e te b un a y c nd t nsa tma ial n e m p t n r c d te sr s rd fr ain spr i d i r g a i bl o e a g h o d r o ii uo tc lya d o u ea d e or h te so e om to o
g a e) 于 二 次 开 发 , 以 自动 完 成 某 些 功 能 或 建 模 , ug 用 可
大 大 扩 展 了 软 件 的 功 能 【1本 文 针 对 结 构 分 析 的 某 些 J。
的径 向变形 量 ( r=1 2, , ; , … m s=1 2, , ) c , … n ; 为 作
如下 :
法 一 。 采 用 常 规 的 人 工 方 法 建 立 柔 度 矩 阵 需 反 复 多 1但

ANSYS-APDL编程学习资料

ANSYS-APDL编程学习资料

1第三部分 ANSYS 编程指导第一章 APDL 介绍何谓APDLAPDL 是ANSYS 程序设计语言(ANSYS Parametric Design Language )。

第二章 工具栏加命令到工具栏你可以经常通过定义缩写将ANSYS 函数或宏加到工具条。

缩写(小于8个字符)是ANSYS 命令、图形函数命令或宏名的别名。

ANSYS 程序提供两种使用缩写的方法。

你可以使用命令行的开始几个字符作为缩写,输入缩写;也可以使用ANSYS 图形用户界面(见图2-1)来执行。

图2-1 工具栏单一工具条可有高达100个缩写嵌套(你可以使用嵌套来扩展这些数字)。

你可以重定义或删除缩写,但是缩写不能自动保存,因此必须明确保存文件并重新装入。

修改工具栏你要么*ABBR 命令,要么通过Utility Menu > Macro > Edit Abbreviations 或Utility Menu >MenuCtrls > Edit Toolbar 菜单项建立缩写。

使用菜单项的原因有两个:按OK 自动更新工具栏(使用*ABBR 命令要求使用Utility Menu >MenuCtrls > Update Toolbar 来更新)。

如必要,你可以非常容易的编辑缩写。

1.示例:加工具栏按钮如果要加名为mymacro.mac 的工具条按钮,你必须启动Utility Menu >MenuCtrls > Edit Toolbar 对话框,输入值(如图2-2)。

图2-2 加一条新的缩写新按钮将附加到下图。

图2-3 工具栏2 保存工具栏按钮Utility Menu >MenuCtrls > Save Toolbar(ABBSAV命令)——保存;Utility Menu >MenuCtrls > Restore Toolbar(ABBRES)——恢复。

缩写文件的格式为APDL命令,它可用来建立缩写。

apdl帮助文档使用方法

apdl帮助文档使用方法

apdl帮助文档使用方法全文共四篇示例,供读者参考第一篇示例:APDL(Ansys Parametric Design Language)是一种用于ANSYS 有限元软件的编程语言,可以用于创建复杂的仿真模型和进行参数化设计。

在使用APDL帮助文档时,用户可以找到各种有关APDL的信息和指导,以便更好地理解和使用这个强大的工具。

### 1. 查找帮助文档要查找APDL帮助文档,首先打开ANSYS软件,然后点击菜单栏中的“帮助”选项。

在弹出的窗口中,可以找到各种帮助文档,包括用户手册、示例、教程等。

可以根据自己的需求选择相应的文档进行查看。

### 2. 了解APDL基础知识在使用APDL编程时,首先需要了解一些基础知识,比如APDL的语法规则、常用命令、变量和函数等。

这些信息都可以在帮助文档中找到,用户可以根据需要逐步学习和掌握。

### 3. 阅读示例和教程帮助文档中通常会提供各种示例和教程,用户可以通过阅读这些示例和教程来了解如何使用APDL创建模型、定义边界条件、设置参数等。

这些示例和教程将帮助用户更快地上手并掌握APDL编程技巧。

### 4. 使用搜索功能帮助文档通常会提供一个搜索功能,用户可以通过关键词快速定位到自己需要的信息。

在搜索框中输入相关关键词,就可以找到相关的文档和帮助信息,在使用APDL时更加方便快捷。

### 5. 参考命令手册APDL帮助文档中还包括了详细的命令手册,用户可以查阅命令手册来了解每个APDL命令的用法、参数和示例。

在编程过程中遇到问题时,可以通过查阅命令手册来解决。

### 6. 参与社区和论坛除了帮助文档,用户还可以参与APDL的社区和论坛,与其他APDL用户交流经验和技巧。

在社区中,用户可以提出问题、分享解决方案,获取更多的帮助和支持。

APDL帮助文档是使用APDL进行仿真和参数化设计的重要工具,用户可以通过查阅文档、阅读示例、搜索信息等方式来更好地掌握APDL编程技巧。

apdl 热-结构 -回复

apdl 热-结构 -回复

apdl 热-结构-回复APDL(ANSYS Parametric Design Language)是ANSYS有限元分析软件中的一种编程语言,是一种针对有限元分析任务进行自定义建模和分析的强大工具。

在热结构分析中,APDL可以用于定义材料属性、边界条件、加载和网格划分等,从而实现对热结构系统的建模和求解。

在进行APDL热结构分析之前,我们需要对待分析系统有一个全面的了解,并确定所需的输入参数。

接下来,我将一步一步地回答关于APDL 热结构的相关问题。

1. 如何定义材料属性?在APDL中,可以使用MAT命令来定义材料属性,其中包括材料的密度、热导率、热膨胀系数等。

例如,使用MAT命令定义一个热导率为0.5和线膨胀系数为0.3的材料:MAT,1MP,EX,2.1e6MP,PRXY,0.32. 如何创建几何模型?APDL提供了几何建模工具,可以通过点、线、曲线、体等基本几何实体进行建模。

可以使用*DIM命令定义几何实体的尺寸和位置,使用*NODE命令定义节点的位置,使用*ELEM命令定义单元的连接关系。

例如,使用*NODE命令定义一个位于(0,0,0)处的节点:*NODE1,0,0,03. 如何划分网格?APDL提供了多种网格划分方法,如正交网格划分、自适应网格划分等。

可以使用*GRID划分命令进行网格划分,可以通过设置参数来控制网格的密度。

例如,使用*GRID命令划分一条长度为10的线段为10个等距节点:*GRID,1,0,0,0*GRID,2,1,0,0,104. 如何定义边界条件和加载?可以使用*BOUNDARY定义边界条件,如温度边界条件、位移边界条件等。

可以使用*DLOAD定义加载,如施加的力或压力。

例如,使用*BOUNDARY命令定义节点1的温度为100:*BOUNDARY1,1,1,1005. 如何设置求解控制?可以使用*SOLVE命令设置求解控制参数,如收敛精度、最大迭代次数等。

可以使用*SOLVE命令启动求解器进行求解。

ANSYS参数化设计语言(ANS...

ANSYS参数化设计语言(ANS...

ANSYS参数化设计语言(ANS...目录•o文件管理o APDL的参数o▪数组参数▪APDL的流程控制▪宏文件文件管理如果文件名是“bolt”,在一个ANSYS问题分析结束时可能得到如下文件。

•其中*.log文件就是命令输入历史文件,也就是常说的命令流文件•ANSYS不会立即把输出输到窗口中。

输入/输出缓冲器首先必须被添满或刷新。

•错误或警告将刷新缓冲器•用户也可发出某些命令(如/OUTPUT,NLIST,KLIST等)实现缓冲器的强行刷新如果不打算在不同计算机系统之间传送文件,把所有的二进制文件指明为内部文件可更节省CPU运行时间。

•数据库文件和结果文件不能被改写•使用/FTYPE命令•Utility Menu--->FILE--->ANSYS FILE Options高版本的ANSYS二进制文件不兼容低版本二进制文件。

APDL的参数逐行解释并执行指令的方式参数的赋值与删除X001=100或*SET,X001,10!删除参数X001=*SET,X001数组参数数组参数的类型有3种。

•简单整理成表格形式的离散数据•表式数组参数表o允许在两个指定的表格项间进行线性插值o可用非整数数值作为行和列的下标•字符串定义数组参数*DIM,Par,TYPE,IMAX,JMAX,KMAX,Var1,Var2,Var3TYPE——数组类型,标识字有ARRAY(默认),CHAR,TABLE、STRING*dim,X1,,3,3,3*dim,Y1,array,6或者在通用菜单中选择Parameters>ArrayParameters>define/editAPDL的流程控制一种接近于fortran的流程控制命令•*GO无条件分支o不能从循环体或条件分支利用它跳出来执行其他命令•*IF...*IFELSE...*ELSE...*ENDIF 条件分支•*DO......*ENDDO循环o可以和*IF分支结合,利用*EXIT和*CYCLE指令跳出当前循环过程或整个循环体▪*CYCLE为中断当前循环,直接进入下一步循环o注意事项▪分支语句*IF或*GO命令不允许跳出循环体▪第一次循环后自动禁止命令结果的输出,要得到所有结果需要在DO循环中使用/GOPR或/GO语句•*DOWHILE循环o直接由循环条件控制•*REPEAT重复命令宏文件创建宏文件•通用菜单>Macro>Creat macro•*CREATE,Fname,Ext,--,Loc调用宏文件•*USE,macroname•macroname•*INPUT,'macroname',,,,0用户在为自己编写宏文件命名之前,可在命令输入框输入试试,以检验没有重复名字的宏文件。

ANSYS经典APDL编程

ANSYS经典APDL编程

ANSYS经典APDL编程在使⽤ANSYS的过程中的⼀些经验总结:Ansys Workbench 虽然进⼊UI阶段,但是语⾔命令仍然是其基础核⼼。

1.ANSYS中的⼀些关键概念的理解;参数化程序设计语⾔(APDL) 参数化程序设计语⾔(APDL:ANSYS Parametric Design Language)实质上由类似于FORTRAN77的程序设计语⾔部分和1000多条ANS YS命令组成。

其中,程序设计语⾔部分与其它编程语⾔⼀样,具有参数、数组表达式、函数、流程控制(循环与分⽀)、重复执⾏命令、缩写、宏以及⽤户程序等。

标准的AN SYS程序运⾏是由1000多条命令驱动的,这些命令可以写进程序设计语⾔编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的⽅式进⾏赋值。

从ANSYS命令的功能上讲,它们分别对应ANSYS分析过程中的定义⼏何模型、划分单元⽹格、材料定义、添加载荷和边界条件、控制和执⾏求解和后处理计算结果等指令。

⽤户可以利⽤程序设计语⾔将ANSYS命令组织起来,编写出参数化的⽤户程序,从⽽实现有限元分析的全过程,即建⽴参数化的CAD模型、参数化的⽹格划分与控制、参数化的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。

宏是具有某种特殊功能的命令组合,实质上是参数化的⽤户⼩程序,可以当作ANSY S的命令处理,可以有输⼊参数或没有输⼊参数。

缩写是某条命令或宏的替代名称,它与被替代命令或宏存在⼀⼀对应的关系,在AN SYS中⼆者是完全等同的,但缩写更符合⽤户习惯,更易于记忆,减少敲击键盘的次数。

ANSYS⼯具条就是⼀个很好的缩写例⼦。

⽤户界⾯设计语⾔(UIDL) 标准ANSYS交互图形界⾯可以驱动ANSYS命令,提供命令的各类输⼊参数接⼝和控制开关,⽤户在图形驱动的级别上进⾏有限元分析,整个过程变得直观轻松。

⽤户图形界⾯设计语⾔(UIDL)就是编写或改造ANSYS图形界⾯的专⽤设计语⾔,主要完成以下三种图形界⾯的设计: 主菜单系统及菜单项对话框和拾取对话框帮助系统通过⽤户界⾯设计语⾔(UIDL),⽤户可以在扩充ANSYS功能的同时建⽴起对应的图形驱动界⾯,如在主菜单的某位置增加菜单项,设计对应的对话框、拾取对话框,实现参数的输⼊和其它程序运⾏的控制,同时提供相应的联机帮助,使操作者能⽅便地获取系统帮助。

ANSYS的APDL与C语言混合编程(实例)

ANSYS的APDL与C语言混合编程(实例)

ANSYS的APDL与C语言混合编程(实例)0. 为什么进行混合编程既然ANSYS已经提供了APDL这么强大的编程语言,为什么还要用C语言来与APDL混合编程呢?下面的几个原因,首先是前处理建模的要求,APDL并不能应对实际中非常复杂的模型的构建,本文的出发点之一就是复合材料分析中的几何模型构建问题,由于材料中的增强体为随机的颗粒,每一次模拟中,颗粒都是随机生成的,使用APDL 并不方便;其次就是利用ANSYS的计算资源的考虑,比如上述问题,就可以利用C语言来生成模型的数据,利用APDL来构建几何模型,以及剖分有限元网格,用于自己的计算程序;还有在一些问题中,其边界条件,载荷等也是通过程序算出来的话,也可以通过混合编程对问题求解;另外,可以发挥C语言的优势,比如说计算效率,现有的库等,总而言之,混合编程能更充分利用ANSYS的计算程序以及C语言的优势,并且可以实现计算机上的自动化计算。

1. 混合编程的原理ANSYS与C语言混合编程的原理很简单,实际上就是用C语言生成ANSYS的apdl命令流文件,然后通过命令行调用ANSYS进行计算。

这个过程同样可以使用其他的编程语言(比如FORTRAN,Python等)来进行,可以发挥各种语言的优势以及对现有的程序库的使用。

2. 如何使用C语言的实现知道了混合编程的原理,那么就很简单了,其过程无非就是利用C语言打开一个文件,写入命令流,关闭文件,调用ANSYS进行计算。

文件操作需要使用的函数有1 fp=fopen('mac.inp','w'); //打开文件2 fprintf(fp, 'APDL_Commands,%f\n',SomeData); //写入文件3 fclose(fp); //关闭文件调用ANSYS的命令行计算则使用system('D:\\Progra~1\\AnsysI~1\\v100\\ANSYS\\bin\\intel\\ansys100 -b -i temp.inp -o mesh.log');3. 实例下面给几个APDL和C语言混合编程的实例3.1 复合材料中的圆性颗粒网格剖分图中的颗粒是C语言中随机生成的圆形,结果如图所示:相应的生成上述网格的函数为1 /*调用ANSYS生成网格*/2 void GenMesh(struct circle0 *circle,double xmax,double xmin,double ymax,double ymin)3 {45 FILE* ansysfile;6 ansysfile=fopen('temp.inp','w');78 fprintf(ansysfile,'/CLEAR,NOSTART\n');9 fprintf(ansysfile,'/PREP7\n');10 11 //创建基体12 fprintf(ansysfile,'RECTNG,%f,%f,%f,%f,\n',xmin,xmax,ymin,ymax);13 14 //创建颗粒15 for (int i=0; iN0; i++)16 {17 if (circle[i].r0.00000001)18 {19 continue;20 }21 fprintf(ansysfile,'K,%d,%f,%f\n',i+1000,22circle[i].centre_x,circle[i].centre_y);23fprintf(ansysfile,'CIRCLE,%d,%f\n',i+1000,circle[i].r);24 }25 fprintf(ansysfile,'ASBL,1,ALL\n');26fprintf(ansysfile,'AGLUE,All\n');27 28 //创建单元类型29fprintf(ansysfile,'ET,1,PLANE42\n');30 //创建材料31 fprintf(ansysfile,'MP,DENS,1,0.1\n');//材料一32 fprintf(ansysfile,'MP,DENS,2,10\n');//材料二33 //为基体赋一号材料值34 fprintf(ansysfile,'ASEL,S,AREA,,ARINQR(0,14)\n');35 fprintf(ansysfile,'AATT,1\n');36 37 //为颗粒赋二号材料值38 fprintf(ansysfile,'ASEL,ALL\n');39fprintf(ansysfile,'ASEL,U,AREA,,ARINQR(0,14)\n');40fprintf(ansysfile,'AATT,2\n');41 fprintf(ansysfile,'ALLSEL,ALL\n');42 43 //生成网格44 //网格尺寸45 fprintf(ansysfile,'SMRT,3\n');46 //fprintf(ansysfile,'AESIZE,ALL,0.6,\n');47 48 fprintf(ansysfile,'MSHAPE,1,2D\n');49fprintf(ansysfile,'MSHKEY,0\n');50 //开始划分网格51 fprintf(ansysfile,'AMESH,ALL\n');52 53 //输出网格54 // fprintf(ansysfile,'/INPUT,ExportMesh,inp\n');55 56 fclose(ansysfile);57 //---------------调用ANSYS生成网格58 system('D:\\Progra~1\\AnsysI~1\\v100\\ANSYS\\bin\\intel\\ans ys100 -b -i temp.inp -o mesh.log');59 // system('tec360 tecplot.plt');60 }3.2 复合材料中的椭圆形颗粒网格剖分对于椭圆形颗粒,网格剖分结果如图所示生成上述网格的代码为1 2 //生成颗粒是椭圆时的网格3 //椭圆的数据结构是下面的struct 4 //Genmesh函数是调用ANSYS生成网格的函数5 void GenMesh(struct elliptic0 *ellipse,int ellipsenum,double xmax,double xmin,double ymax,double ymin) 6 { 7 8 FILE* ansysfile; 9 ansysfile=fopen('temp.inp','w');10 fprintf(ansysfile,'FINISH\n');11fprintf(ansysfile,'/CLEAR,NOSTART\n');12fprintf(ansysfile,'/PREP7\n');13 14 //创建基体15 fprintf(ansysfile,'RECTNG,%f,%f,%f,%f,\n',xmin,xmax,ymin,ymax);16 17 //创建椭圆颗粒18 for (int i=0; iellipsenum; i++)19 {20 //把工作平面移到椭圆圆心。

ansys编程语言

ansys编程语言

3.11.7 写数据文件可以通过*VWRITE命令把数组中的数据写到格式化(表格式)的数据文件中。

该命令最多可带有10个数组向量作为参数,并把这些向量中包含的数据写入当前打开的文件(*CFOPEN 命令)中。

每个向量的格式由*VWRITE命令后紧接的FORTRAN 77数据描述符确定(因此不能从ANSYS输入窗口执行该命令)。

数组向量要指定起始元素位置(如MY ARRAY(1,2,1))。

可以用表达式来计算数据文件中每一行的位置。

关键词SEQU将从1开始写一个连续的整数列。

数据文件中每一行的格式由数据描述符决定。

命令的每一个参数都要带有一个描述符。

在描述符行不要有FORMA T这个词。

可以使用实数格式或字符格式描述符,不能使用整形或直接列表描述符。

3.11.7.1 数据格式描述符若对FORTRAN的数据描述符不熟悉,本部分将从头说明如何格式化数据文件。

要获得更多的信息,请参阅FORTRAN 77编译器文件。

一定要给*VWRITE命令所带参数中的每一个数据项提供一个数据描述符。

通常地,对任何数字值都可以采用F描述符(浮点数)。

F描述符的语法为:Fw.d其中,w指数据宽度,d 指小数点右边的阿拉伯数字的个数。

因此,对于一个共有10个阿拉伯数字且小数点后有8个阿拉伯数字的数据,将采用如下描述符:F10.8对于字符数据,可以采用A描述符。

A描述符的语法为:Aw其中,w 指数据宽度。

因此,因此,对于一个共有8个字符的字符数据,将采用如下描述符:A8下面的例子说明如何使用*VWRITE命令和数据描述符:给定数组MYDA TA为下面的宏首先定义一个标量参数X为25,然后打开文件vector (*CFOPEN 命令)。

然后使用*VWRITE命令定义将要写入文件中的数据,写入的第一个向量采用SEQU关键词来提供行数。

注意,在某些情况下,常数、标量参数和包含数组元素值的操作也可以写入文件中。

x=25*cfopen,vector*vwrite,SEQU,mydata(1,1,1),mydata(1,2,1),mydata(1,3,1),10.2,x,mydata(1,1,1)+3(F3.0,' ',F8.4,' ',F8.1,' 'F8.6,' ',F4.1,' 'F4.0,' 'F8.1)*cfclos该宏将生成如下的数据文件:1. 2.1522 3.9 5.286370 10.2 25. 5.22. 2.3049 4.0 5.409196 10.2 25. 5.23. 2.0105 3.4 5.936638 10.2 25. 5.24. 2.3683 3.35.632203 10.2 25. 5.25. 2.8491 4.8 5.978024 10.2 25. 5.26. 2.2280 3.5 5.546851 10.2 25. 5.2下面的例子使用如下定义的数组注意接下来的*VWRITE命令中数据描述符的用法:*vwrite,SEQU,mydata(1,1),mydata(1,2),(mydata1(1,1)+mydata1(1,2))(' Row',F3.0,' contains ',2F7.3,'. Is their sum ',F7.3,' ?')结果数据文件为:Row 1. contains 10.000 50.000. Is their sum 60.000 ?Row 2. contains 20.000 60.000. Is their sum 60.000 ?Row 3. contains 30.000 70.000. Is their sum 60.000 ?3.11.8 对数组参数的运算同参数表达式和函数允许对标量参数进行运算一样,也有一系列的命令可以对数组参数进行运算。

ANSYS二次开发与应用简介

ANSYS二次开发与应用简介

ANSYS二次开发与应用简介目录1 ANSYS经典界面的二次开发简介 (2)1.1 利用ANSYS参数化设计语言(APDL)进行开发 (2)1.2 利用ANSYS用户界面设计语言(UIDL)进行开发 (3)1.3 利用ANSYS提供的接口软件与ANSYS进行实时交流 (3)1.4 ANSYS的用户可编程特征(UPFs) (3)2 ANSYS新一代协同仿真平台WORKBENCH二次开发简介 (4)3 ANSYS二次开发的典型案例 (5)4 一个ANSYS二次开发方案详细介绍(国内) (7)4.1 CCSS的构成 (7)4.2 ANSYS for CCSS与规范设计模块的关系 (7)4.3 ANSYS for CCSS的开发方案: (8)4.3.1 FEA模块将包含如下功能: (8)4.3.2 评估模块 (9)4.3.3 部件方法: (10)5 一个ANSYS二次开发成果详细介绍(国外) (11)5.1 前 言 (11)5.2 ANSYS体系结构的优势 (11)5.3 BladePro程序概览 (12)5.4 BladePro分析功能概述 (15)5.5 涡轮机械专用的后处理工具 (15)5.6 某算例的分析结果 (16)5.7 总结 (17)1ANSYS经典界面的二次开发简介1.1利用ANSYS参数化设计语言(APDL)进行开发ANSYS参数化设计语言是一种类似于FORTRAN语言的解释执行语言,它主要由两部分构成,其一为ANSYS的命令、内部函数,可以执行ANSYS的所有操作;其二为FORTRAN语言的几乎所有语法和函数,如DO循环、IF-THEN-ELSE结构、SIN和COS等所有三角函数、带参数子程序、“=”赋值语句、SQRT平方开方等运算、取绝对值、乘方等等。

因此,可以利用这种APDL语言进行各种参数化建模分析工作,当需要对模型做改动时,只需变化几个参数即可。

优点:可以用于参数化设计;与ANSYS的数据库直接通讯;可以充分利用ANSYS命令所具有的强大功能;编程容易,直管,易于调试;易于修改和扩展。

ansys二次开发

ansys二次开发

ANSYS的二次开发技术ANSYS提供的二次开发工具共有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface Design Language,UIDL)以及用户可编程特性(User Programmable Features,UPFs)。

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

ANSYS参数化设计语言(APDL)APDL扩展了传统有限元分析范围之外的能力,提供了建立标准化零件库、序列化分析、设计修改、设计优化以及更高级的数据分析处理能力,包括灵敏度研究等。

ANSYS用户可编程特性(UPFs)利用UPFs,用户可以开发下列方面的功能程序:(1)开发用户子程序实现从ANSYS数据库中提取数据或将数据写入ANSYS数据库。

该种子程序可以编译连接到ANSYS中,此时ANSYS提供了10个数据库操作命令;如果作为外部命令处理,可以在ANSYS的任何模块中运行;(2)利用ANSYS提供的子程序定义各种类型的载荷,其中包括BF或BFE载荷、压力载荷、对流载荷、热通量和电荷密度等;(3)利用ANSYS提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层单元失效准则等;(4)利用ANSYS提供的子程序定义新单元和调整节点方向矩阵,ANSYS最多可以有6个独立的新单元USER100-USER105;(5)利用ANSYS提供的子程序修改或控制ANSYS单元库中的单元;(6)利用UEROP创建用户优化程序,可以用自己的算法和中断准则替换ANSYS优化过程。

(7)ANSYS程序作为子程序在用户程序中调用,如用户自定义的优化算法。

ANSYS软件本身是通过FORTRAN和C语言开发的。

使用UPFs进行二次开发,在安装ANSYS的基础上,还需要Compaq Visual FORTRAN和MS Visual C++的支持。

ANSYS 二次开发 APDL语言

ANSYS  二次开发 APDL语言

参数化程序设计语言(APDL)参数化程序设计语言(APDL:ANSYS Parametric Design Language)实质上由类似于FORTRAN77的程序设计语言部分和1000多条ANSYS命令组成。

其中,程序设计语言部分与其它编程语言一样,具有参数、数组表达式、函数、流程控制(循环与分支)、重复执行命令、缩写、宏以及用户程序等。

标准的AN SYS程序运行是由1000多条命令驱动的,这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的方式进行赋值。

从ANSYS命令的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义、添加载荷和边界条件、控制和执行求解和后处理计算结果等指令。

用户可以利用程序设计语言将ANSYS命令组织起来,编写出参数化的用户程序,从而实现有限元分析的全过程,即建立参数化的CAD模型、参数化的网格划分与控制、参数化的材料定义、参数化的载荷和边界条件定义、参数化的分析控制和求解以及参数化的后处理。

宏是具有某种特殊功能的命令组合,实质上是参数化的用户小程序,可以当作ANSY S的命令处理,可以有输入参数或没有输入参数。

缩写是某条命令或宏的替代名称,它与被替代命令或宏存在一一对应的关系,在AN SYS中二者是完全等同的,但缩写更符合用户习惯,更易于记忆,减少敲击键盘的次数。

ANSYS工具条就是一个很好的缩写例子。

用户界面设计语言(UIDL)标准ANSYS交互图形界面可以驱动ANSYS命令,提供命令的各类输入参数接口和控制开关,用户在图形驱动的级别上进行有限元分析,整个过程变得直观轻松。

用户图形界面设计语言(UIDL)就是编写或改造ANSYS图形界面的专用设计语言,主要完成以下三种图形界面的设计:主菜单系统及菜单项对话框和拾取对话框帮助系统通过用户界面设计语言(UIDL),用户可以在扩充ANSYS功能的同时建立起对应的图形驱动界面,如在主菜单的某位置增加菜单项,设计对应的对话框、拾取对话框,实现参数的输入和其它程序运行的控制,同时提供相应的联机帮助,使操作者能方便地获取系统帮助。

ANSYSAPDL与WorkbenchJavaScript的概述

ANSYSAPDL与WorkbenchJavaScript的概述

ANSYSAPDL与WorkbenchJavaScript的概述ANSYS APDL功能强大,从模型处理到网格剖分,从接触对建立到边界条件的设置,从载荷步的构建到求解的设置,一直到后处理,它都能自动用ANSYS 自带的APDL语言记录所有的操作,实现有限元分析全流程的程序化。

程序语言可以从ANSYS自动形成后缀为“log”的记录文件查看。

但由于此文件只是简单、机械地记录你的每一个操作,故有很多“垃圾”语句,如视图的放大、缩小、平移;图元的反复删除、修改;甚至程序的启动及退出,因而不适合作为宏文件的命令流,特别是与同行交流的命令流。

若真要得到一个简洁明了的宏文件,一般还是得亲自动手工编写命令流,这不是太方便。

但如果使用ANSYS WORKBENCH来建模,那这一切都会变得非常简单,根本不再需要手工编写命令流,在你采用图形界面建模完成时,仅需点击一下生成脚本文件命令,一个简洁、明了、完美的类似于命令流的脚本文件即可瞬时完成。

如果你需和同行交流,只需把这个很小的脚本文件发给他,他在WORKBENCH中点击一下运行脚本文件命令,一个完整的模型即可瞬时生成。

但是,WORKBENCH仅支持模型处理的脚本化,后续的网格剖分、边界条件施加、求解到后处理均不能自动生成脚本。

WORKBENCH脚本语言的编写格式已不再是传统ANSYS命令流所采用的格式,而是当今编程最主流的面向对象的语言格式,应该说,面向对象的格式是更易阅读和理解。

WORKBENCH自动生成的脚本文件之所以比传统ANSYS的“LOG”文件更清晰简洁,而且直接可用,是因为它不象“LOG'文件那样,只是机械简单的记录,不做任何处理,脚本文件则是程序智能处理的,它是面向结果的记录而不是面向过程的记录。

比如,无论用户是采用圆心+半径、圆弧三点还是圆心+圆弧两点来画圆,程序不关心用户画圆的方法,它只关心是什么图形,一旦它识别到有圆的存在,则只用固定的一句画圆命令来实现,所以经过智能判断和处理后,所生成的脚本文件能做到最简洁。

ansys编程语言

ansys编程语言

3。

11。

7 写数据文件可以通过*VWRITE命令把数组中的数据写到格式化(表格式)的数据文件中。

该命令最多可带有10个数组向量作为参数,并把这些向量中包含的数据写入当前打开的文件(*CFOPEN 命令)中。

每个向量的格式由*VWRITE命令后紧接的FORTRAN 77数据描述符确定(因此不能从ANSYS输入窗口执行该命令).数组向量要指定起始元素位置(如MYARRAY(1,2,1))。

可以用表达式来计算数据文件中每一行的位置.关键词SEQU将从1开始写一个连续的整数列。

数据文件中每一行的格式由数据描述符决定。

命令的每一个参数都要带有一个描述符。

在描述符行不要有FORMAT这个词.可以使用实数格式或字符格式描述符,不能使用整形或直接列表描述符。

3.11。

7.1 数据格式描述符若对FORTRAN的数据描述符不熟悉,本部分将从头说明如何格式化数据文件.要获得更多的信息,请参阅FORTRAN 77编译器文件。

一定要给*VWRITE命令所带参数中的每一个数据项提供一个数据描述符。

通常地,对任何数字值都可以采用F描述符(浮点数)。

F描述符的语法为:Fw.d其中,w指数据宽度,d 指小数点右边的阿拉伯数字的个数。

因此,对于一个共有10个阿拉伯数字且小数点后有8个阿拉伯数字的数据,将采用如下描述符:F10。

8对于字符数据,可以采用A描述符.A描述符的语法为:Aw其中,w 指数据宽度。

因此,因此,对于一个共有8个字符的字符数据,将采用如下描述符:A8下面的例子说明如何使用*VWRITE命令和数据描述符:给定数组MYDATA为下面的宏首先定义一个标量参数 X为25,然后打开文件vector (*CFOPEN 命令)。

然后使用*VWRITE 命令定义将要写入文件中的数据,写入的第一个向量采用SEQU关键词来提供行数。

注意,在某些情况下,常数、标量参数和包含数组元素值的操作也可以写入文件中。

x=25*cfopen,vector*vwrite,SEQU,mydata(1,1,1),mydata(1,2,1),mydata(1,3,1),10.2,x,mydata(1,1,1)+3 (F3。

ANSYS的二次开发技术

ANSYS的二次开发技术

ANSYS的二次开发技术ANSYS 的二次开发技术ANSYS 提供的二次开发工具有三个:参数化设计语言(ANSYS Parametric Design Language,APDL),用户界面设计语言(User Interface Design Language,UIDL)以及用户可编程特性(User Programmable Features,UPFs)。

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

ANSYS 参数化设计语言(APDL)APDL 扩展了传统有限元分析范围之外的能力,提供了建立标准化零件库、序列化分析、设计修改、设计优化以及更高级的数据分析处理能力,包括灵敏度研究等。

ANSYS 用户可编程特性(UPFs)利用UPFs,用户可以开发下列方面的功能程序:(1) 开发用户子程序实现从ANSYS 数据库中提取数据或将数据写入ANSYS 数据库。

该种子程序可以编译连接到ANSYS 中,此时ANSYS 提供了10 个数据库操作命令;如果作为外部命令处理,可以在ANSYS 的任何模块中运行;(2) 利用ANSYS 提供的子程序定义各种类型的载荷,其中包括BF 或BFE 载荷、压力载荷、对流载荷、热通量和电荷密度等;(3) 利用ANSYS 提供的子程序定义各种材料特性,包括塑性、蠕变、膨胀、粘塑性、超弹、层单元失效准则等;(4) 利用ANSYS 提供的子程序定义新单元和调整节点方向矩阵,ANSYS 最多可以有6 个独立的新单元USER100-USER105;( 5) 利用ANSYS 提供的子程序修改或控制ANSYS 单元库中的单元;(6) 利用UEROP 创建用户优化程序,可以用自己的算法和中断准则替换ANSYS 优化过程。

(7) ANSYS 程序作为子程序在用户程序中调用,如用户自定义的优化算法。

ANSYS 软件本身是通过FORTRAN 和C 语言开发的。

使用UPFs 进行二次开发,在安装ANSYS 的基础上,还需要Compaq Visual FORTRAN 和MS Visual C++的支持。

apdl手册

apdl手册

apdl手册
APDL(ANSYS Parametric Design Language)是ANSYS系列软件中的
一种编程语言,主要用于创建模型、定义参数、运行分析以及后处理等任务。

APDL手册是ANSYS软件的一个重要组成部分,提供了使用APDL语言进
行有限元分析的详细指南。

APDL手册的内容非常丰富,包括大量的示例、教程和参考信息,以帮助用户更好地理解和使用APDL语言进行各种类型的有限元分析。

用户可以通过阅读APDL手册,学习如何使用APDL语言创建模型、定义参数、运行分析和后处理等任务,从而更好地应用ANSYS软件进行工程仿真和优化设计。

此外,APDL手册还提供了许多有用的命令和工具,例如在工具条上添加命令、使用参数等。

这些命令和工具可以帮助用户更快速、更方便地完成各种任务,提高工作效率。

总之,APDL手册是用户学习和使用ANSYS软件的重要参考资料,通过阅
读APDL手册,用户可以更好地理解和应用ANSYS软件,提高工程仿真和优化设计的能力。

ansys-APDL编程

ansys-APDL编程

目录第一章 APDL是什么? 1第二章在工具条上添加命令 22.1修改工具条 2 2.2嵌套工具条缩写 4第三章使用参数 53.1参数 5 3.2参数命名规则 5 3.2.1从*STATUS命令中隐藏参数 6 3.3定义参数 6 3.3.1在运行过程中给参数赋值 6 3.3.2在启动时给参数赋值 6 3.3.3赋ANSYS提供的值给参数7 3.3.3.1 *GET命令的用法7 3.3.3.2 内嵌获取函数的用法8 3.3.4排列显示参数10 3.4删除参数11 3.5字符参数的用法11 3.6数字参数值的置换12 3.6.1防止置换12 3.6.2字符参数值的置换12 3.6.2.1 强制置换12 3.6.2.2 字符参数有效的其它地方13 3.6.2.3 字符参数的限制14 3.7数字或字符参数的动态置换14 3.8参数公式15 3.9带参数的函数15 3.10保存、恢复、写参数16 3.11数组参数17 3.11.1数组的基础知识17 3.11.2数组参数示例18 3.11.3TABLE类型数组参数19 3.11.4定义和列表显示数组参数20 3.11.5给数组元素赋值20 3.11.5.1 给单独的数组元素赋值20 3.11.5.2 填充数组向量213.11.5.3 交互式编辑数组21 3.11.5.4 使用*VREAD命令用数据文件填充数组22 3.11.5.5 使用* TREAD命令用数据文件填充TABLE类型数组23 3.11.6插入值26 3.11.6.1 把获取值存入数组参数或恢复数组参数值27 3.11.6.2 列出数组参数28 3.11.7写数据文件29 3.11.7.1 数据格式描述符29 3.11.8对数组参数的运算31 3.11.8.1 对向量的运算31 3.11.8.2 矩阵运算33 3.11.8.3 用于向量和矩阵运算的命令35 3.11.9用图形表示数组参数向量37第四章作为宏语言的APDL 414.1什么是APDL宏41 4.2产生宏41 4.2.1宏文件命名规则41 4.2.2宏的搜索路径42 4.2.3在ANSYS中生成宏43 4.2.3.1 使用*CREATE 43 4.2.3.2 使用 *CFWRITE 43 4.2.3.3 使用Utility Menu>Macro>Create Macro 44 4.2.4用文本编辑器生成宏44 4.2.5使用宏库文件45 4.3运行宏和宏库文件45 4.4局部变量46 4.4.1传递变量到宏46 4.4.2宏内的局部变量47 4.4.3宏外部的局部变量47 4.5在APDL中控制程序流47 4.5.1宏嵌套:在宏内调用子程序47 4.5.2无条件分支:G OTO48 4.5.3条件分支:*IF命令48 4.5.4重复一个命令50 4.5.5循环:D O循环50 4.6控制函数快速参考50 4.7在宏中使用_STATUS和_RETURN参数52 4.8在组和组件中使用宏53 4.9复习宏例子54第五章 GUI用户界面575.1提示用户输入某个参数的值57 5.2用户提示对话框585.3 用宏显示消息595.4在宏中生成并维护状态条60 5.5在宏中进行拾取操作61 5.6在宏中调用对话框62第六章加密宏636.1准备加密宏63 6.2生成加密宏63 6.3运行加密宏64第一章APDL是什么?APDL即ANSYS参数化设计语言(ANSYS Parametric Design Language),它是一种解释性语言,可用来自动完成一些通用性强的任务,也可以用于根据参数来建立模型。

apdl aatt语句

apdl aatt语句

apdl aatt语句全文共四篇示例,供读者参考第一篇示例:APDL是一种ANSYS Parametric Design Language(参数设计语言)的缩写,它是专门为ANSYS软件系统设计的一种高级程序语言。

APDL的强大功能和灵活性使得它在CAD/CAM/CAE应用软件中广泛被使用。

在APDL中,AATT语句是其中的一种关键语句,下面我们就来详细介绍一下AATT语句的相关内容。

首先我们来看一下AATT语句的语法形式:```AATT,N1,N2,DA,IA,JA,KA,NA```N1和N2代表了要进行操作的实体的编号,DA代表着旋转的角度,IA、JA、KA代表着旋转的轴向量,NA代表着旋转的次序。

AATT语句主要用于实体的旋转操作,通过指定合适的参数,可以实现对实体的旋转操作。

旋转是CAD/CAM/CAE中常见的一种操作,通过合适的旋转可以实现不同的设计效果和要求。

在APDL中,AATT语句的应用是非常灵活的,通过合适的参数设置,可以实现不同角度、不同轴向量以及不同次序的旋转操作。

这种灵活性使得AATT语句非常适合于各种不同的设计和仿真要求。

除了单一的AATT语句,APDL还提供了一系列其他的相关语句,可以配合使用来实现更加复杂的操作。

通过这些语句的组合应用,可以实现更加高效和准确的CAD/CAM/CAE仿真和分析。

在今后的软件应用和工程仿真中,AATT语句的应用将会越来越广泛,为用户提供更加便捷和高效的操作体验。

希望通过本文的介绍,能够让更多的用户了解和掌握AATT语句的相关知识,提高工程仿真的效率和准确性。

【2000字】第二篇示例:APDL(ANSYS Parametric Design Language)是ANSYS软件中的一种用于进行参数化设计和自动化仿真的编程语言,能够帮助工程师快速有效地完成复杂的仿真任务。

在APDL中,AATT语句是一种特殊的命令,用于定义数组变量。

本文将介绍APDL AATT语句的使用方法和注意事项。

ansys apdl语言中matid参数

ansys apdl语言中matid参数

ansys apdl语言中matid参数ANSYS APDL是一种用于有限元分析的编程语言,其中matid参数是用来定义材料属性的。

在有限元分析中,材料属性是非常重要的,它们决定了材料在应力和应变下的行为。

matid参数是用来标识不同材料的唯一编号,通过给定不同的matid值,可以在有限元模型中定义不同的材料属性。

在本文中,我们将探讨ANSYS APDL 语言中matid参数的使用方法和注意事项。

我们需要明确matid参数的作用。

在有限元分析中,材料属性包括弹性模量、泊松比、密度等,这些属性决定了材料在受力时的力学行为。

在ANSYS APDL中,我们可以使用matid参数来定义这些材料属性。

通过给定不同的matid值,并使用相应的命令来设置材料属性,可以在有限元模型中使用不同的材料。

在使用matid参数时,我们需要注意以下几点。

首先,我们需要确保给定的matid值是唯一的。

如果在模型中存在重复的matid值,将会导致材料属性的混淆,从而得到错误的结果。

因此,在定义材料属性之前,我们应该仔细检查matid值是否重复。

我们需要了解如何使用matid参数来定义材料属性。

在ANSYS APDL中,可以使用MAT命令来设置材料属性。

例如,我们可以使用MAT命令来设置材料的弹性模量和泊松比。

在MAT命令中,我们需要指定matid值,以及相应的材料属性数值。

通过这种方式,我们可以为不同的matid值定义不同的材料属性。

我们还可以使用其他命令来设置材料属性,如MP命令用于设置密度。

在使用这些命令时,我们同样需要指定matid值,以及相应的材料属性数值。

通过这些命令,我们可以更加灵活地定义材料属性,以满足不同的分析需求。

除了设置材料属性,matid参数还可以用于定义边界条件。

在有限元分析中,边界条件是非常重要的,它们决定了模型在受力时的约束和自由度。

在ANSYS APDL中,我们可以使用matid参数来指定某些边界条件只作用于特定的材料。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.11.7 写数据文件可以通过*VWRITE命令把数组中的数据写到格式化(表格式)的数据文件中。

该命令最多可带有10个数组向量作为参数,并把这些向量中包含的数据写入当前打开的文件(*CFOPEN 命令)中。

每个向量的格式由*VWRITE命令后紧接的FORTRAN 77数据描述符确定(因此不能从ANSYS输入窗口执行该命令)。

数组向量要指定起始元素位置(如MY ARRAY(1,2,1))。

可以用表达式来计算数据文件中每一行的位置。

关键词SEQU将从1开始写一个连续的整数列。

数据文件中每一行的格式由数据描述符决定。

命令的每一个参数都要带有一个描述符。

在描述符行不要有FORMA T这个词。

可以使用实数格式或字符格式描述符,不能使用整形或直接列表描述符。

3.11.7.1 数据格式描述符若对FORTRAN的数据描述符不熟悉,本部分将从头说明如何格式化数据文件。

要获得更多的信息,请参阅FORTRAN 77编译器文件。

一定要给*VWRITE命令所带参数中的每一个数据项提供一个数据描述符。

通常地,对任何数字值都可以采用F描述符(浮点数)。

F描述符的语法为:Fw.d其中,w指数据宽度,d 指小数点右边的阿拉伯数字的个数。

因此,对于一个共有10个阿拉伯数字且小数点后有8个阿拉伯数字的数据,将采用如下描述符:F10.8对于字符数据,可以采用A描述符。

A描述符的语法为:Aw其中,w 指数据宽度。

因此,因此,对于一个共有8个字符的字符数据,将采用如下描述符:A8下面的例子说明如何使用*VWRITE命令和数据描述符:给定数组MYDA TA为下面的宏首先定义一个标量参数X为25,然后打开文件vector (*CFOPEN 命令)。

然后使用*VWRITE命令定义将要写入文件中的数据,写入的第一个向量采用SEQU关键词来提供行数。

注意,在某些情况下,常数、标量参数和包含数组元素值的操作也可以写入文件中。

x=25*cfopen,vector*vwrite,SEQU,mydata(1,1,1),mydata(1,2,1),mydata(1,3,1),10.2,x,mydata(1,1,1)+3(F3.0,' ',F8.4,' ',F8.1,' 'F8.6,' ',F4.1,' 'F4.0,' 'F8.1)*cfclos该宏将生成如下的数据文件:1. 2.1522 3.9 5.286370 10.2 25. 5.22. 2.3049 4.0 5.409196 10.2 25. 5.23. 2.0105 3.4 5.936638 10.2 25. 5.24. 2.3683 3.35.632203 10.2 25. 5.25. 2.8491 4.8 5.978024 10.2 25. 5.26. 2.2280 3.5 5.546851 10.2 25. 5.2下面的例子使用如下定义的数组注意接下来的*VWRITE命令中数据描述符的用法:*vwrite,SEQU,mydata(1,1),mydata(1,2),(mydata1(1,1)+mydata1(1,2))(' Row',F3.0,' contains ',2F7.3,'. Is their sum ',F7.3,' ?')结果数据文件为:Row 1. contains 10.000 50.000. Is their sum 60.000 ?Row 2. contains 20.000 60.000. Is their sum 60.000 ?Row 3. contains 30.000 70.000. Is their sum 60.000 ?3.11.8 对数组参数的运算同参数表达式和函数允许对标量参数进行运算一样,也有一系列的命令可以对数组参数进行运算。

这种运算可分为以下几类:对列(向量)的运算,矢量运算和完整矩阵(数组)的运算,矩阵运算。

所有的运算都受到一套ANSYS规定命令的影响,这一部分详见3.11.8.3。

3.11.8.1 对向量的运算对向量的运算就是按某种顺序对数组元素进行一系列的诸如加、减、求正弦、求余弦、点积、叉乘等运算。

虽然可以通过采用Do循环(见4.5.5部分)来达到这一目的,但是更为简便快捷的方法是采用向量操作命令-*VOPER, *VFUN, *VSCFUN, *VITRP, *VFILL, *VREAD, 和*VGET。

在这些命令中,只有*VREAD 和*VWRITE对字符数组参数有效,其余的只能用于ARRAY类型或TABLE 类型(由*DIM定义)的数组参数。

*VFILL, *VREAD, *VGET, *VWRITE, 和*DIM命令在本章中已经介绍过了,本部分要讨论的其它命令包括:*VOPER 或Utility Menu>Parameters>Array Operations>Vector Operations对两个输入数组向量进行运算,输出一个数组向量。

*VFUN 或Utility Menu>Parameters>Array Operations>Vector Functions对两个输入数组向量执行某函数,输出一个数组向量。

*VSCFUN 或Utility Menu>Parameters>Array Operations>Vector-Scalar Func 确定单个输入数组矢量属性,并将结果存放到指定的标量参数中。

*VITRP或Utility Menu>Parameters>Array Operations>Vector Interpolate通过在指定的表下标位置插入一个数组参数(TABLE类型)来生成一个数组参数(ARRAY类型)。

下面的例子说明了这些命令的用法。

查阅ANSYS 命令参考手册(ANSYS Commands Reference)可以得到关于这些命令的语法。

在下面的例子中,数组参数(ARRAY类型) X, Y, 和THET定义为:首先定义结果数组为Z1。

然后,*VOPER命令把X的第2列和Y的第1列相加,二者都从第一行开始,然后把结果赋给Z1。

注意,对所有的数组参数都要指定起始位置(行和列的下标数)。

*DIM,Z1,ARRAY,4*VOPER,Z1(1),X(1,2),ADD,Y(1,1)在下一个例子中,同样首先定义结果数组为Z2。

然后,*VOPER命令把X的第1列(从行2开始)和Y的第1列(从行1开始)相乘,然后把结果赋给Z2(从行1开始)。

*DIM,Z2,ARRAY,3*VOPER,Z2(1),X(2,1),MULT,Y(1,4)在这个例子中,同样首先定义结果数组为Z4。

然后,*VOPER命令计算四对向量的点积,一对为X和Y的1行。

这些矢量的i, j, 和k分量依次是X的列1, 2,和3 以及Y的列2, 3,和4。

结果将写进Z4,它的i, j和k分量分别是矢量1, 2,和3。

*DIM,Z4,ARRAY,4,3*VOPER,Z4(1,1),X(1,1),CROSS,Y(1,2)在下一个例子中,同样首先定义结果数组为A3。

然后,*VFUN命令把X的第2列中的每个元素平方后赋给A3。

*DIM,A3,ARRAY,4*VFUN,A3(1),PWR,X(1,2),2在下一个例子中,同样首先定义结果数组为A4。

然后,两个*VFUN命令分别计算THETA 中的数组元素的余弦和正弦值,并分别赋给A4中的第一和第二列。

注意,现在的A4表示一个由7个点(其x, y, z的全局坐标就是那三个向量)描述的90度的圆弧。

该圆弧半径为1.0,并在z = 2.0且与x-y平行的平面上。

*DIM,A4,ARRAY,7,3*AFUN,DEG*VFUN,A4(1,1),COS,THETA(1)*VFUN,A4(1,2),SIN,THETA(1)A4(1,3)=2,2,2,2,2,2,2在下一个例子中,同样首先定义结果数组为A5。

然后,*VFUN命令计算A4所表示的曲线在每个点处的切线向量,并进行归一化处理后赋给A5。

*DIM,A5,ARRAY,7,3*VFUN,A5(1,1),TANG,A4(1,1)两个附加的*VOPER运算-积聚(GA TH)和分散(SCAT)-可用于根据在一个“位置”向量中包含的位置号从一个向量中拷贝值到另一个向量。

下面的例子说明了积聚运算。

注意,结果数组总是预先定义。

在这个例子中,积聚运算拷贝B1的值到B3(通过在B2中指定的下标位置)。

注意,B3中的最后一个元素为0,是其初始化值。

*DIM,B1,,4*DIM,B2,,3*DIM,B3,,4B1(1)=10,20,30,40B2(1)=2,4,1*VOPER,B3(1),B1(1),GATH,B2(1)3.11.8.2 矩阵运算矩阵运算是一种数字数组参数之间的数学运算,例如矩阵乘法、计算转置矩阵、求解联立方程组等。

本部分将要讨论的命令包括:*MOPER 或Utility Menu>Parameters>Array Operations>Matrix Operations 对两个输入数组参数矩阵进行矩阵运算,输出一个数组参数矩阵。

矩阵运算包括:●矩阵相乘;●求解联立方程组;●对矩阵中的某个指定向量排序(按上升顺序);●计算两个向量之间的协方差;●计算两个向量之间的相关性;*MFUN 或Utility Menu>Parameters>Array Operations>Matrix Functions拷贝或转置一个数组参数矩阵(接受一个输入矩阵,生成一个输出矩阵)。

*MFOURI 或Utility Menu>Parameters>Array Operations>Matrix Fourier计算傅立叶级数的系数或求傅立叶级数。

下面的例子用来说明这些命令的用法。

查阅ANSYS 命令参考手册(ANSYS Commands Reference)可以得到关于这些命令的语法。

这个例子说明了*MOPER命令的排序功能。

假定数组(SORTDA TA)被定义如下:首先,定义数组OLDORDER,*MOPER命令将把行的初始顺序放在OLDORDER中。

然后,*MOPER 命令对SORTDATA中的行进行排序,这样1,1向量就按升序排列了。

*dim,oldorder,,5*moper,oldorder(1),sortdata(1,1),sort,sortdata(1,1)得到的结果数组为:若要恢复SORTDA TA数组为初始顺序,那么就要执行下面的命令:*moper,oldorder(1),sortdata(1,1),sort,oldorder(1,1)在下面的例子中,*MOPER命令用来求解联立方程组。

相关文档
最新文档