关于ansys与VC++Fortran程序的接口资料! [精华]

合集下载

C++调用ANSYS

C++调用ANSYS

C++调用ANSYS如何调试Windows外壳扩展程序(Shell Extension)(hangwire发表于2002-8-11 19:33:08)要想用Visual C++调试Windows外壳扩展程序,你必须在工程中指定Windows外壳作为调试环境,即“Executable For Debug Session”,然后用VC++ 6.0中的调试器重新启动调试过程。

具体步骤如下:1、在Visual C++开发环境中启动外壳扩展,进入工程的“Project|Settings”菜单,然后选择“Debug”标签,在“Executable For Debug Session”编辑框中输入外壳执行程序,也就是资源管理器路径,<资源管理器程序路径>\ Explorer.exe.2、进入任务栏的“开始”菜单,单击“关机”。

此时弹出关机对话框,然后按下CTRL+ALT+SHIFT组合键的同时按下关机对话框的“取消”按钮,此时外壳程序被终止。

也就是说你的桌面上和任务栏中的所有图标全部消失。

不要怕啦,这只是关掉了Windows的外壳,其它的一切依然故我,地球该怎么转还在怎么转。

已经启动的程序仍然在运行…….3、启动Visual C++的调试器便可以调试外壳扩展了。

在调试器下运行资源管理器与正常情况下运行的资源管理器是不一样的,很容器引起混乱,这是因为“任务栏”和“开始”菜单按钮是资源管理器的一部分。

要想调试某个文件的上下文菜单,当资源管理器在调试器下运行时,它仍然需要从“开始”菜单启动一个资源管理器实例。

在Windows 9x系统里调试的注意事项:结束调试后,在桌面的任何地方双击鼠标便重启外壳。

此时弹出任务管理对话框,在“文件”菜单上单击“运行”,然后输入资源管理器程序(Explorer.exe)的路径,按“确定”按钮后一切恢复正常。

在Windows NT系统里调试的注意事项:结束调试后,按下CTRL+ALT+DEL组合键,选择“任务管理器”按钮,弹出任务管理器对话框,在“文件”菜单选中“新任务/运行…..”菜单项,然后输入资源管理器程序(Explorer.exe)的路径即可恢复。

精华贴08-ANSYS与其他软件接口资料汇总

精华贴08-ANSYS与其他软件接口资料汇总

08.ANSYS与其他软件接口资料汇总【求助】请问各位大侠,如何将AutoCAD图形导入到ANSYS进行处理。

谢谢!AutoCAD 模型输入 Ansys1. 对于三维实体(3d Object)AutoCAD:File --> Export... --> 保存类型选ACIS(*.sat) --> 输入文件名--> 选实体(选3d object)Ansys:File --> Import --> SAT... 输入即可优点:用SAT 文件转换方便,而且一般不会有转换问题缺点:只能转换3d object2. 用iges 格式文件交换AutoCAD 12 自带输出iges 格式文件工具,AutoCAD 14 要从 AutoDesk 网站下载转换工具。

Ansys:File --> Import --> SAT... 输入即可优点:各种实体类型都能转换缺点:转换麻烦,而且经常需要“TOPO and GEOM Repair”AutoCAD 14 转换工具下载:ftp:///ProdSupp/autocad14/iges/igespr14.exe3. cadToansys优点:可转换成梁单元缺点:转换实体类型太少4. dxf2ansys (傻瓜极力推荐)软件直接装换为Ansys 输入格式。

前处理状态下,选Read Input From 菜单输入优点:常用的非三维实体都能转换。

由于转换Keypoint 初始值可选,你用AutoCAD建模时可以各部分单独建,在Ansys中单独输入!!!缺点:转换实体类型较少【求助】pro/E2001-ansys6.1模型导入问题刚刚开始用ansys6.1,在pro/E2001的featrue>Ansys Geom导出模型时,在ansys6.1上什么都没有而ac4pro.exe的窗口显示:Geometrytransfer completed,yanni 编辑于2002-08-06 07:55就是已经生成ans文件或anf文件,可以退出proe直接进入ansys里读入该文件。

fortran与c语言接口参数传递混合编程

fortran与c语言接口参数传递混合编程

Sun Studio 12:Fortran 编程指南•Previous: 第10 章并行化第11 章C-Fortran 接口本章论述Fortran 与C 的互操作性方面的问题,内容仅适用于Sun Studio Fortran 95 和C 编译器的特定情况。

11.9 Fortran 2003 与C 的互操作性简要说明了Fortran 2003 标准第15 部分中提到的C 绑定功能。

(此标准可以从国际Fortran 标准Web 站点获得)。

Fortran 95 编译器实现了标准中所述的这些功能。

如不特别注明,32 位x86 处理器视为与32 位SPARC 处理器等同。

对于64 位x86 处理器和64 位SPARC 处理器也是如此,只是x86 系统未定义REAL*16 和COMPLEX*32 数据类型,这些数据类型只能用于SPARC。

11.1 兼容性问题大多数 C-Fortran 接口必须在以下这些方面全部保持一致:•函数和子例程的定义及调用•数据类型的兼容性•参数传递(按引用或按值)•参数的顺序•过程名(大写、小写或带有结尾下划线(_))•向链接程序传递正确的库引用某些C-Fortran 接口还必须符合:•数组索引及顺序•文件描述符和stdio•文件权限11.1.1 函数还是子例程?函数一词在 C 和Fortran 中有不同的含义。

根据具体情况做出选择很重要:•在C 中,所有的子程序都是函数;但void函数不会返回值。

•在Fortran 中,函数会传递一个返回值,但子例程一般不传递返回值。

当Fortran 例程调用C 函数时:•如果被调用的C 函数返回一个值,则将其作为函数从Fortran 中调用。

•如果被调用的C 函数不返回值,则将其作为子例程调用。

当C 函数调用Fortran 子程序时:•如果被调用的Fortran 子程序是一个函数,则将其作为一个返回兼容数据类型的函数从 C 中调用。

•如果被调用的Fortran 子程序是一个子例程,则将其作为一个返回int(与Fortran INTEGER*4兼容)或void值的函数从C 中调用。

如何在ansys中调用外部应用程序

如何在ansys中调用外部应用程序
//不用::WinExec,就用不着等待语句,可以实现用FORTRAN调用一样的效果。
printf("Solution finished...");
}
2.在FORTRAN中调用ANSYS
LOGICAL(4) result
RESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -p
ansys_product_feature -i input_file -o output_file')
3.说明
1和2中,input_file为用APDL语言编写的ANSYS输入文件。
VC调用ANSYS的示例程序。
//Test.cpp
#include "stdio.h"
#include"process.h"
void main()
{
int result;
printf("Solving...");
result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -o test.out");
ansys_product_feature为你的ANSYS产品特征代码。
需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS
已经执行完毕。
在用。可以参看有关ANSYS二次开发方面的资料。这个方法应该是与系统无关的。
在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。
(4)程序需要判断Ansys的批处理操作何时结束。
在Window NT操作系统中当一个进程运行完毕后,窗口的标题会有”已完成

ANSYS-UPFs 用户子程序编译连接方法

ANSYS-UPFs 用户子程序编译连接方法

ANSYS-UPFs 用户子程序编译连接方法使用软件:Microsoft visual studio 2005、Fortran 9.1、Ansys 11.0操作系统Windows XP编译连接的方法一:1.通过:开始->所有程序->microsoft visual studio 2005 -> visual studio tools -> visual studio 2005 command prompt 打开命令触发窗口2.输入"CD D:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin" ——回车再次输入"ifortvars.bat",——回车,从而打开fortran命令窗口其中CD表示"change directory"3.输入"CD D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel"——回车再次输入"ANSCUST.BAT"——回车注意:A.不能省略步骤1,而直接从fortran命令窗口开始输入B.可以同时连接多个子程序C.使用此方法编译连接时要将安装好后没有改动的“D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel”文件夹复制并存放到其他地方以备以后使用。

同时将D:\program files\......\user\intel中的不需要连接的*.f和*.c文件删除D.开始运行后需要耐心等待一段时间,直到产生ANSYS.EXE文件为止编译连接的方法二:1.改写ANSCUST.BA T批处理文件在ANSCUST.BA T批处理文件的第二行添加如下内容@call "D:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\ifortvars.bat"在ANSCUST.BA T批处理文件的最后一行添加如下内容pause2.将文件:MAKEFILE,ansysex.def,ansyslarge.def,ansyssmall.def,及修改好的子程序文件(可以有多个)和修改后的ANSCUST.BA T批处理文件一并复制到其他路径下的同一个文件夹内,当然也可以就在D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel文件夹中3.通过双击运行ANSCUST.BA T批处理文件同样能够产生ansys.exe文件注意:A.必须保证fortran 9.1与microsoft visual studio 2005是连接的如果先安装microsoft visual studio 2005,后安装fortran 9.1,则安装fortran 9.1时会提示是否连接到microsoft visual studio 2005,记得要选择连接如果fortran 9.1与microsoft visual studio 2005没有连接,则需要通过修改批处理文件D:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\ifortvars.bat中的@call声明将其指向D:\Program Files\Microsoft Visual Studio 8\VC\Bin\Vcvars32.bat即可B.使用这种方法连接时,必须保证D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel文件夹中的ASK.EXE存在,否则运行ANSCUST.BAT批处理文件时会出现:"D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel\ask"不是内部或外部命令,也不是可运行的程序连接用户子程序(即连接前面产生的ANSYS.EXE文件)1.在Ansys Product Launcher窗口选择Customzation Preferences选项卡,在custom ANSYS executable通过browse按钮输入前面产生的ANSYS.EXE文件的全部路径,然后点击run开始运行2.如果ansys11.0 output window 显示This ANSYS version was linked by license,则表示连接成功注意:在连接用户子程序的过程中,可能需要D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel文件夹中其他一些必要文件的存在,因此最好将intel文件夹下不需要编译连接的.F和.C文件删除,然后编译产生ANSYS.EXE文件,然后再连接。

ANSYS10与FORTRAN编译连接

ANSYS10与FORTRAN编译连接

还有我们需要的子程序 xx.f,这里我需要的是 usersw.f
(3)在 vs 命令行下 cd 到 ifortvars.bat 目录运行 ifortvars.bat 在 vs 命令行下 cd 到 ANSCUST.bat 目录运行 ANSCUST.bat (4)运行 anscust.bat 最终成功编译连接…… 编译连接后生成了 ANSYS.exe USERSW.obj ANSYS.exp ANSYS.lib ANSYS.map 符合文献中所叙述的编译成功后的生成
关于 ANSYS10.0 版本 upfs 二次开发连接的具体方法 原创:科大 nini 原创~ QQ:569ห้องสมุดไป่ตู้87571
具体步骤
( 1 ) 在 ANSYS 的 user 子 目 录 下 ( C:\Program Inc\v100\ANSYS\custom\user)建立一个文件夹命名为 upf (2)将编译连接过程所需 ANSYS 中的文件拷入此文件夹内: ANSCUST.BAT ansyslarge.def ansyssmall.def MAKEFILE 文件 Files\Ansys

ansys二次开发

ansys二次开发

1 ANSYS软件及其二次开发工具ANSYS 作为有限元领域的大型通用程序,在工业应用领域及科研方面均有深入的应用。

其广泛而有效的分析工具能解决各类问题,如结构、流体、热、电磁问题等,同时 ANSYS 还 为高级用户提供了多种二次开发工具,利用这些工具,用户可以高效地扩充 ANSYS 的功能。

本章对 ANSYS 软件和其他商业软件,以及开源软件进行了简单介绍,然后分别对 ANSYS 的 4 个二次开发工具 APDL、UPFs、UIDL及 Tck\Tk进行了介绍。

本章要点:l各商业及开源有限元软件的介绍l ANSYS 的 4 个二次开发工具1.1 ANSYS 简介首先有必要对ANSYS软件的发展及其组成部分有所了解, 若要对ANSYS进行二次开发,对 ANSYS 软件的结构有了整体的把握才能有的放矢、目标明确的进行相关二次开发工作。

本 节简要介绍 ANSYS 公司及 ANSYS 软件的发展历程,然后介绍 ANSYS 12.0软件的组成,最 后给出一些其他商业及开源有限元软件的简单介绍。

1.1.1 ANSYS 的发展历程ANSYS 公司于 1970 年在美国成立, 创始人John Swanson博士是匹兹堡大学力学系教授, 公司总部位于美国宾西法尼亚州的匹兹堡。

经过四十年的发展,ANSYS 在有限元软件领域占 据了举足轻重的地位, 被世界各工业领域广泛接受, 成为全球众多专业技术协会认可的标准分 析软件。

ANSYS 集成了力学、热学、电学、声学、流体等多个模块,可用于航空航天、汽车、 电子电气、国防军工、铁路、造船、石油化工、能源电力、核工业、土木工程、冶金与成形以 及生物医学等各个领域。

ANSYS 公司于 2003 年开发设计了新一代 CAE 仿真平台 ANSYS Workbench。

ANSYSANSYS 二次开发及应用实例详解 21C h a p t e r Workbench 由各种功能丰富的模块组成,有 Windows 风格的优化易用的界面,能直接读入常 用的各种格式的模型文件, 并具有良好的数据交换能力和强大的协同仿真环境。

ANSYS与FORTRAN的相互调用

ANSYS与FORTRAN的相互调用

ANSYS与FORTRAN的相互调用一 ANSYS调用FORTRAN(UPF)基于ANSYS57和Visual Fortran 6.1先详细讲一下ANSYS调用FORTRAN的步骤:1. 首先,安装ANSYS时选择custom安装;2. 建立一个新的用户目录, 如upf,把custom\user\intel目录下的anscust.bat,makefile和user01.f (当然也可以用你自己的fortran文件啦)这三个文件拷贝到upf下;3. 打开makefile文件,在第一行指定ANSYS的安装路径,如:ANSYS57_DIR=d:\ANSYS57 保存退出;对于ANSYS7.0:ANSYS70_DIR=d:\ansys7\v70\ANSYS4. 复制 dfport.lib,dformd.lib, dfconcol.lib(这三个文件在fortran安装目录下的df98\lib目录中可以找到,注意不要用ANSYS自己所带的,因为ANSYS自己所带的版本可能不够高,而导致连接失败)和ansysex.def(在custom\user\intel中)到upf57目录中,以避免连接时找不到这几个文件;5. 准备工作已经完成,运行“anscust.bat”进行编译连接。

要确信你的Visual Fortran 与ANSYS 版本的兼容性,如果编译连接不成功,出现诸如“Fatal error link 1120: 8 unresolved externals”的错误,则表示你的Fortran版本需要升级。

如用Vfor6.1 编译连接ansys7.0,就会出现这样的错误信息。

解决的方法是安装Vfor6.6B。

对于你自己写的FORTRAN程序,先用FORTRAN编译一遍,保证没有错误。

编译连接成功之后,在upf目录下会生成ansys.exe;6. 现在你就可以运行这个新的ANSYS了。

有两个方法:第一个方法,就象“二次开发培训练习题”中所说:在dos命令行,先敲入 ansys -p ansysul,指定ansys产品特征代码运行ansys, 然后OK,接着 /show,win32和/menu,on启动ANSYS;第二个方法,干脆用新生成的ansys.exe 代替ANSYS安装目录(如d:\ansys57\bin\intel)中的原ansys.exe,建议将原ansys.exe改名或备份,然后就象你平常启动ANSYS那样(如用Ansys Interactive 方式)启动ANSYS。

ANSYS接口问题

ANSYS接口问题

有限元分析软件ANSYSANSYS软件是融结构、流体、电场、磁场、声场分析于一体的大型通用有限元分析软件。

由世界上最大的有限元分析软件公司之一的美国ANSYS开发,它能与多数CAD软件接口,实现数据的共享和交换,如Pro/Engineer, NASTRAN, Alogor, I-DEAS, AutoCAD等,是现代产品设计中的高级CAD工具之一。

一、软件功能简介软件主要包括三个部分:前处理模块,分析计算模块和后处理模块。

前处理模块提供了一个强大的实体建模及网格划分工具,用户可以方便地构造有限元模型;分析计算模块包括结构分析(可进行线性分析、非线性分析和高度非线性分析)、流体动力学分析、电磁场分析、声场分析、压电分析以及多物理场的耦合分析,可模拟多种物理介质的相互作用,具有灵敏度分析及优化分析能力;后处理模块可将计算结果以彩色等值线显示、梯度显示、矢量显示、粒子流迹显示、立体切片显示、透明及半透明显示(可看到结构内部)等图形方式显示出来,也可将计算结果以图表、曲线形式显示或输出。

软件提供了100种以上的单元类型,用来模拟工程中的各种结构和材料。

该软件有多种不同版本,可以运行在从个人机到大型机的多种计算机设备上,如PC,SGI,HP,SUN,DEC,IBM,CRAY等。

目前版本为ANSYS5.4版,其微机版本要求的操作系统为Windows 95或Windows NT,也可运行于UNIX系统下。

微机版的基本硬件要求为:显示分辨率为1024×768,显示内存为2M以上,硬盘大于350M,推荐使用17英寸显示器。

启动ANSYS,进入欢迎画面以后,程序停留在开始平台。

从开始平台(主菜单)可以进入各处理模块:PREP7(通用前处理模块),SOLUTION(求解模块),POST1(通用后处理模块),POST26(时间历程后处理模块)。

ANSYS用户手册的全部内容都可以联机查阅。

用户的指令可以通过鼠标点击菜单项选取和执行,也可以在命令输入窗口通过键盘输入。

ANSYS二次开发 [精华]

ANSYS二次开发 [精华]

ansys具有多种实用的二次开发工具:ANSYS除了具有较为完善的分析功能外,同时还为用户进行二次开发提供了多种实用工具。

如宏(Marco)、参数设计语言(APDL)、用户界面设计语言(UIDL)及用户编程特性(UPFs),其中APDL(ANSYS Parametric Design Language)是一种非常类似于Fortran77的参数化设计解释性语言,其核心内容为宏、参数、循环命令和条件语句,可以通过建立参数化模型来自动完成一些通用性强的任务;UIDL(User Interface Design Language)是ANSYS为用户提供专门进行程序界面设计的语言,允许用户改变ANSYS的图形用户界面(GUI)中的一些组项,提供了一种允许用户灵活使用、按个人喜好来组织设计ANSYS图形用户界面的强有力工具;UPFs(User Programmable Features)提供了一套Fortran77函数和例程以扩展或修改程序的功能,该项技术充分显示了ANSYS的开放体系,用户不仅可以采用它将ANSYS程序剪裁成符合自己所需的任何组织形式(如可以定义一种新的材料,一个新的单元或者给出一种新的屈服准则),而且还可以编写自己的优化算法,通过将整个ANSYS作为一个子程序调用的方式实现。

程序设计的主要原则和功能如下:(1)方便原则,即程序模块应具有良好的用户界面和易用性。

程序前台设计采用Windows提供的标准图形用户界面(GUI),用户无须接受专门训练即可使用。

同时,程序应具有良好的容错和纠错能力,避免用户操作不当造成损失。

(2)程序系统能够提供用户以下功能:①允许用户可以根据实际计算工况,输入特定的计算参数,包括地震波选择、计算时间步长、地震波调幅与否等。

②用户在输入各种参数以后、进行计算之前可以对输入的数据进行修改、添加和删除操作,以保证输入正确的参数。

③用户通过界面调用后台的ANSYS 命令流进行计算,能够得到最后的计算结果文件,供用户进行后处理和结果分析。

如何在ANSYS中调用其他程序(matlab, C, fortran)和数据交换

如何在ANSYS中调用其他程序(matlab, C, fortran)和数据交换

ANSYS虽然比较强大,但是不能象Femlab一样自定义模型方程。

在某些情况下,必须用当前step的解作为条件,根据某些物理条件来改变单元的材料属性以及载荷,作为下一个step的初始条件。

用ANSYS自带的APDL可用于一般的流程控制,如果要实现特定的复杂物理模型就比较困难,而且速度极慢。

可行的办法就是在ANSYS运行中把每一个step的结果传给外部程序,用来计算下一步的载荷和单元属性。

A. 和外部程序交换数据,首先要处理好协同问题,一般可用一下两种方法:(1)ANSYS 和外部程序同时运行 -- 需要建立一个flag文件。

通过在ANSYS 和程序中读其内容来判断对方是否在运行。

在ANSYS和外部程序运行完一个step,改变flag,告诉对方自己当前运行结束,对方可以继续运行,否则必须等待。

(2)在ANSYS中调用/SYS命令执行外部程序。

此时ANSYS会暂时停止运行,直到外部程序结束运行,把执行权交还给ANSYS。

(1)适用与matlab等非编译语言。

(2)适用与C和Fortran等编译语言。

B. 如何在外部程序中告诉ANSYS改变单元属性和载荷变化:在从ANSYS中导入数据后,外部程序一般可以根据具体物理模型来创建.mac文件,然后在此文件中写入MPCHG等APDL命令。

例如用C创建一个"MD.mac"文本文件,用fsprintf(fp,"MPCHG %d,%d", element_num, Material_ID). 当程序结束运行,在ANSYS中用*use, MD.mac 来实现加载和单元属性的改变。

C. 如何在ANSYS和外部程序中传递数据。

一般在ANSYS中把当前结果写在数据文件中,在外部程序中读取。

一般常用的命令有*MOPER。

*MOPER可以把节点(node)的结果例如T(x,y,z) 自动根据插值计算映射到用户自己定义的网络上。

然后可以用*MWRITE写入数据文件。

ansys与其他软件接口资料汇总2

ansys与其他软件接口资料汇总2

为外部节点处理,因而此选择步骤不可缺少。
运行宏ADAMS,_NMODES生成ADAMS程序所需要的模态中性文件,模态中性文件.MNF中包含了柔性体的质量,质心,转动惯量,频率,振型以及对
件的示例(Word文档,请点击右键下载)。
须使用命令/units来指定在ANSYS分析中所使用的单位系统是SI,CGS,BFT或BIN,如果您使用的不是上述四种单位系统,则可以使用下面的命令:
/units,user,<L>,<M>,<T>,<F>
其中L,M,T,F是SI单位系统与ANSYS 分析中所使用单位系统的转换因子。
外部节点,外部节点是ADAMS软件中的名词, 在ANSYS程序中即指柔性体与刚性体连结位置处的节点,用于在ADAMS所进行的运动学分析中连结柔
性体进行应力应变分析。在分析完成后即可得到柔性体的应力应变分布和其它感兴趣的结果数据。
ANSYS与ADAMS接口
分析示例
此模型为摩托车发动机活塞曲柄连杆机构。活塞上施加5KN的力。其中连杆作为柔性体考虑连杆,活塞和曲柄作为刚性体对待。
活塞连杆机构
步骤一:在ANSYS软件中生成柔性体模态中性文件
"在ANSYS程序中, 将载荷文件中对应时刻的载荷施加到柔性体上对柔性体进行应力应变分析"
具体怎么操作能讲讲吗?
得用参数化程序设计语言(APDL) 这些命令可以写进程序设计语言编写的程序,命令的参数可以赋确定值,也可以通过表达式的结果或参数的
方式进行赋值。从ANSYS命令 的功能上讲,它们分别对应ANSYS分析过程中的定义几何模型、划分单元网格、材料定义 、添加载荷和边界条件
ANSYS程序在生成柔性体部件的有限元模型之后,利用adams.mac宏命令可以很方便地输出ADAMS软件所需要的模态中性文件jobname.mnf, 此

ansysupfs介绍

ansysupfs介绍

ansysupfs介绍1.简单介绍UPFs(User ProgrammableFeatures,⽤户可编程接⼝)是⽤户在ANSYS提供的Fortran和C语⾔源代码(并⾮真正的源代码,仅仅是ANSYS公司定义好的⼦程序函数)的基础上,修改其⽤户可编程⼦程序和函数,从源代码的层次上扩充ANSYS的功能。

⽤户需要在相应的Fortran和C语⾔编译器的⽀持下,将编译修改后的源代码与ANSYS库相连接形成⽤户版本的ANSYS可执⾏⽂件。

所谓的“⽤户可编程⼦程序和函数”,以ANSYS12.0版本为例,在安装时不默认安装,需要选择⾃定义安装⽅式,并选择ansys customization files。

安装后这些⼦程序和函数存在于C:\Program Files\ANSYS Inc\v120\ansys\customize\user⽬录下,多为*.F,即fortran⽂件,⽤户可对其进⾏修改,拷贝到相关⽂件夹并编译连接。

2.利⽤UPFs可以完成的⼯作:(1)对ANSYS数据库进⾏操作。

(2)定义特定的荷载类型。

(3)定义新的单元类型。

(4)在⾮线性功能中实现对⽤户实参的运算。

(5)接触问题中实现⽤户摩擦系数。

(6)定义特定的⾮线性材料特性———如⽤户塑性屈服准则、蠕变⽅程、超弹性特性、失效准则、粘弹性性质等。

(7)⽤户优化———可以⽤⾃⼰的算法和中断准则替换ANSYS优化过程。

(8)定义⽤户介⼊计算过程的⽅式———在每个ANSYS运⾏求解、载荷步、⼦步和平衡迭代的开始和结束处允许⽤户介⼊,并允许⽤户在求解过程中评估计算结果。

3.常⽤的⼦程序及函数(1)⽤户⾃定义命令user01.F-user10.F⽤户可以使⽤它们⾃定义ANSYS命令在ANSYS中执⾏usr1(或user2)等命令调⽤以上user01.F(user02.F)中定义的功能。

这⾥也可以使⽤/ MD命令为user01.F 指定⼀个新名称,再通过该名称执⾏命令。

关于ansys与VC++Fortran程序的接口资料! [精华]

关于ansys与VC++Fortran程序的接口资料! [精华]

将ANSYS作为子程序调用对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。

具体调用方法如下:1.在VC中调用ANSYS::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL);2.在FORTRAN中调用ANSYSLOGICAL(4) resultRESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -pansys_product_feature -i input_file -o output_file')3.说明1和2中,input_file为用APDL语言编写的ANSYS输入文件。

ansys_product_feature为你的ANSYS产品特征代码。

需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS已经执行完毕。

在ANSYS中当然也可以以VC或FORTRAN作为子程序调用。

可以参看有关ANSYS二次开发方面的资料。

这个方法应该是与系统无关的。

在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。

在VC中,我没有找到与FORTRAN类似的函数,只好加一条循环判断语句。

如果谁能找着这样的函数,请告诉我,谢谢!判断方法很简单,只需判断错误文件file.err是否可写就可以了。

因为当ANSYS在运行时,file.err是不可写的,只有当它运行完毕,此文件才可写。

好贴,请教如何在VB中调用ansys?这是我早期的帖子,请参考:/dispbb ... ID=2923&ID=2923在第二页中已经对VC调用ANSYS的方法进行了更新,如下所示:VC调用ANSYS的示例程序。

如何将ANSYS作为子程序调用

如何将ANSYS作为子程序调用

如何将ANSYS作为子程序调用对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。

具体调用方法如下:1.在VC中调用ANSYS::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL);2.在FORTRAN中调用ANSYSLOGICAL(4) resultRESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -pansys_product_feature -i input_file -o output_file')3.说明1和2中,input_file为用APDL语言编写的ANSYS输入文件。

ansys_product_feature为你的ANSYS产品特征代码。

需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS已经执行完毕。

在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。

在VC中,我没有找到与FORTRAN类似的函数,只好加一条循环判断语句。

如果谁能找着这样的函数,请告诉我,谢谢!判断方法很简单,只需判断错误文件file.err是否可写就可以了。

因为当ANSYS在运行时,file.err是不可写的,只有当它运行完毕,此文件才可写。

数据文件(假设输出的数据文件名为opt.out):*dim,out1,,2,1out1(1)=dmax !目标函数out1(2)=1-eymax !约束条件1*cfopen,opt,out*vwrite,out1(1),out1(2)(2f10.6)*cfclos在VC中相应的显示数据文件命令为:result=system("notepad opt.out");图形文件(假设ANSYS工作文件名为test,输出jpg图形文件,具体信息请参考命令/show):/SHOW,JPEGJPEG,QUAL,75,JPEG,ORIENT,HORIZJPEG,COLOR,2JPEG,TMOD,1/GFILE,600,!*plns,uy/SHOW,TERM在VC中相应的显示图形文件命令为:result=system("mspaint test001.jpg");**************************************************************************************VC调用ANSYS的示例程序。

vc调用ansys

vc调用ansys

思路:(1)首先在VC里根据文本框等控件生成参数文件,和ANSYS主计算程序合并生成ANSYS_RUN.mac,在ANSYS_RUN.mac最后加上用来生成flag.txt文件(内容为0)的APDL 代码. 随后在VC里用WinEXEC运行ANSYS batch mode 去调用ANSYS_RUN.mac,并且把屏幕输出到output.txt。

同时,建立flag.txt文件(内容为1).(2)在VC里开一个线程,循环读flag.txt,看其是否为1(运行)或0(结束)。

如果是1,则读output.txt内容,显示在主程序状态文本框里。

(当然也可以读err文件来判断)。

(3)ANSYS_RUN.mac 里有生成plots并保存为jpg文件的APDL代码。

当ANSYS运行结束后,在主程序里可以browse结果图像文件。

ANSYS主计算程序:VM28.mac. 这是ANSYS的一个例子程序,但是做了一些改动,计算在Time_Start 到Time_End之间,步长为Time_interval的温度分布。

VM28:Transient Heat Transfer in an Infinite Slab。

在VC程序里,ANSYS EXE File是ANSYS的执行文件的路径名。

MAC Batch File 是ANSYS主计算程序的路径名。

Working Folder是工作路径,用来存放结果文件和中间过程文件。

Note: how to export image in batch mode:因为在batch mode,没有graphic window,所以一般的图形输出命令无效。

但是可以使用/show,jpeg命令。

另外,可以用以下命令!Turn off the automatic increasement of jobnamennn.jpg, so the output file will be jobname.jpg./DEV,PSFN,NINC。

ansys参数设计语言指南之GUI接口

ansys参数设计语言指南之GUI接口

Ansys参数设计语言指南之与GUI接口在Mechanical APDL宏中,有几种方法可以访问Mechanical APDL图形用户界面(GUI)的组件:•您可以修改和更新Mechanical APDL工具栏(在将命令添加到中讨论工具栏。

•您可以发出*ASK命令,提示用户输入单个参数值。

•您可以创建一个对话框,提示用户输入多个参数值。

•您可以发出*MSG命令,让宏写入输出消息。

•您可以让宏更新或删除状态栏。

•您可以允许用户通过宏中的图形拾取来选择实体。

•您可以调用任何对话框。

以下GUI主题可用:6.1.提示用户输入单个参数值6.2.使用对话框提示用户6.3.使用宏显示您自己的消息6.4.从宏创建和维护状态栏6.5.在宏中拾取6.6.从宏调用对话框6.1.提示用户输入单个参数值通过在宏中包含*ASK命令,可以让宏提示用户键入参数值。

*ASK命令的格式为*ASK、Par、Query、DVAL其中•Par是一个字母数字名称,用于标识用于存储用户输入的标量参数。

•Query是Mechanical APDL显示以提示用户的文本字符串。

此字符串最多可包含54个字符。

不要使用具有特殊含义的字符,如“$”或“!”。

•如果用户发出空白响应,DVAL是给定参数的默认值。

此值可以是一到八个字符的字符串(用单引号括起来)或数字。

如果未指定默认值,则空白的用户响应将删除该参数。

*ASK命令在屏幕上打印查询文本并等待响应。

它从键盘上读取响应,除非Mechanical APDL 以批处理模式运行。

(在这种情况下,一个或多个响应必须是下一个读取的输入行。

)响应可以是一个数字、一个用单引号括起来的一到八个字符的字符串、一个数字或字符参数,或者计算为数字的表达式。

机械APDL然后将Par的值设置为读取响应。

以下示例显示如下所示的对话框,然后将参数PARM1设置为用户输入的值。

*ask,parm1,'username(将用户名用单引号括起来)'图6.1:示例*ASK对话框当您在宏中发出*ASK时,Mechanical APDL会将用户的响应写入File。

ANSYS-UPFs 用户子程序编译连接方法

ANSYS-UPFs 用户子程序编译连接方法

ANSYS-UPFs 用户子程序编译连接方法使用软件:Microsoft visual studio 2005、Fortran 9.1、Ansys 11.0操作系统Windows XP编译连接的方法一:1.通过:开始->所有程序->microsoft visual studio 2005 -> visual studio tools -> visual studio 2005 command prompt 打开命令触发窗口2.输入"CD D:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin" ——回车再次输入"ifortvars.bat",——回车,从而打开fortran命令窗口其中CD表示"change directory"3.输入"CD D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel"——回车再次输入"ANSCUST.BAT"——回车注意:A.不能省略步骤1,而直接从fortran命令窗口开始输入B.可以同时连接多个子程序C.使用此方法编译连接时要将安装好后没有改动的“D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel”文件夹复制并存放到其他地方以备以后使用。

同时将D:\program files\......\user\intel中的不需要连接的*.f和*.c文件删除D.开始运行后需要耐心等待一段时间,直到产生ANSYS.EXE文件为止编译连接的方法二:1.改写ANSCUST.BA T批处理文件在ANSCUST.BA T批处理文件的第二行添加如下内容@call "D:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\ifortvars.bat"在ANSCUST.BA T批处理文件的最后一行添加如下内容pause2.将文件:MAKEFILE,ansysex.def,ansyslarge.def,ansyssmall.def,及修改好的子程序文件(可以有多个)和修改后的ANSCUST.BA T批处理文件一并复制到其他路径下的同一个文件夹内,当然也可以就在D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel文件夹中3.通过双击运行ANSCUST.BA T批处理文件同样能够产生ansys.exe文件注意:A.必须保证fortran 9.1与microsoft visual studio 2005是连接的如果先安装microsoft visual studio 2005,后安装fortran 9.1,则安装fortran 9.1时会提示是否连接到microsoft visual studio 2005,记得要选择连接如果fortran 9.1与microsoft visual studio 2005没有连接,则需要通过修改批处理文件D:\Program Files\Intel\Compiler\Fortran\9.1\IA32\Bin\ifortvars.bat中的@call声明将其指向D:\Program Files\Microsoft Visual Studio 8\VC\Bin\Vcvars32.bat即可B.使用这种方法连接时,必须保证D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel文件夹中的ASK.EXE存在,否则运行ANSCUST.BAT批处理文件时会出现:"D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel\ask"不是内部或外部命令,也不是可运行的程序连接用户子程序(即连接前面产生的ANSYS.EXE文件)1.在Ansys Product Launcher窗口选择Customzation Preferences选项卡,在custom ANSYS executable通过browse按钮输入前面产生的ANSYS.EXE文件的全部路径,然后点击run开始运行2.如果ansys11.0 output window 显示This ANSYS version was linked by license,则表示连接成功注意:在连接用户子程序的过程中,可能需要D:\Program Files\ANSYS Inc\v110\ANSYS\custom\user\intel文件夹中其他一些必要文件的存在,因此最好将intel文件夹下不需要编译连接的.F和.C文件删除,然后编译产生ANSYS.EXE文件,然后再连接。

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

将ANSYS作为子程序调用对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。

具体调用方法如下:1.在VC中调用ANSYS::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL);2.在FORTRAN中调用ANSYSLOGICAL(4) resultRESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -pansys_product_feature -i input_file -o output_file')3.说明1和2中,input_file为用APDL语言编写的ANSYS输入文件。

ansys_product_feature为你的ANSYS产品特征代码。

需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS已经执行完毕。

在ANSYS中当然也可以以VC或FORTRAN作为子程序调用。

可以参看有关ANSYS二次开发方面的资料。

这个方法应该是与系统无关的。

在FORTRAN中不需要判断,FORTRAN会等ANSYS执行完毕才继续执行下一条语句。

在VC中,我没有找到与FORTRAN类似的函数,只好加一条循环判断语句。

如果谁能找着这样的函数,请告诉我,谢谢!判断方法很简单,只需判断错误文件file.err是否可写就可以了。

因为当ANSYS在运行时,file.err是不可写的,只有当它运行完毕,此文件才可写。

好贴,请教如何在VB中调用ansys?这是我早期的帖子,请参考:/dispbb ... ID=2923&ID=2923在第二页中已经对VC调用ANSYS的方法进行了更新,如下所示:VC调用ANSYS的示例程序。

//Test.cpp#include "stdio.h"#include"process.h"void main(){int result;printf("Solving...");result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -o test.out"); //不用::WinExec,就用不着等待语句,可以实现用FORTRAN调用一样的效果。

printf("Solution finished...");}希望在传帖子的时候把有关内容全部看清楚,否则很容易以讹传讹,切记!能不能也给我发个ansys二次开发的示例caxcae 大侠你好,能不能也给我发两个示例:一个是vc调用ansys的,另外一个是ansys调用vc和fortran的,VC调用ANSYS的示例程序。

//Test.cpp#include "stdio.h"#include"process.h"void main(){int result;printf("Solving...");result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansysul -i test.txt -o test.out"); //不用::WinExec,就用不着等待语句,可以实现用FORTRAN调用一样的效果。

printf("Solution finished...");}请问在那里查ansys_product_feature其次,vc中的类的成员变量是否能和apdl语言中的变量进行数据交换阿?拜托了前辈怎么还不知道?那个特征表找着没有?以第一行为例:ANSYS/MULTIPHYSICS ane3flANSYS/MULTIPHYSICS是产品特征名称,ane3fl是与其对应的产品特征代码,把这个代码填到下面的语句中:result=system("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ane3fl -i test.txt -o test.out"); VC中的变量与APDL语言中的变量可以进行数据交换,否则怎么实现参数化或优化设计? 不过不能直接互换.我采用的办法是,在VC中将变量结果写到一个文件中,然后再在ANSYS 的APDL语言文件中读入这个文件的数据,再由ANSYS进行新的计算,计算结束之后,再由后处理处理结果,并将结果数据输出到一个文件中,然后用VC 读入此文件中的数据,进行下一步处理..ext是什么文件啊?数据文件,图形文件怎么得到啊?ext是指文件扩展名。

数据文件(假设输出的数据文件名为opt.out):*dim,out1,,2,1out1(1)=dmax !目标函数out1(2)=1-eymax !约束条件1*cfopen,opt,out*vwrite,out1(1),out1(2)(2f10.6)*cfclos在VC中相应的显示数据文件命令为:result=system("notepad opt.out");图形文件(假设ANSYS工作文件名为test,输出jpg图形文件,具体信息请参考命令/show):/SHOW,JPEGJPEG,QUAL,75,JPEG,ORIENT,HORIZJPEG,COLOR,2JPEG,TMOD,1/GFILE,600,!*plns,uy/SHOW,TERM在VC中相应的显示图形文件命令为:result=system("mspaint test001.jpg");请问坛主,在ANSYS中划分了网格的三维图形能在VC中调用吗?如果能调用,得到的图形的控制点是由节点控制还是有关键点控制的?每个点的坐标是A(X,Y,Z)的形式还是A(X,Y,Z,W)矢量的形式?你的意思是不是要在VC中调用在ANSYS中生成的有限元网格信息啊?如果是这样,调用的应该是由节点控制的有限元信息。

每个点的坐标是A(X,Y,Z)形式。

如果要进行应力场分析,分析后根据节点的应力大小、应力的梯度等一些原则,需要重新改变模型的几何形状,而这个三维实体的形状中有一部分是曲面,想通过像在vc中用三角面片建立曲面那样通过控制一些点重构模型,可以吗?可否提供一种方法?这好象很难实现。

这里所说的基于ANSYS进行参数化建模要求能在ANSYS中进行实体建模。

你可以看看你的模型曲面部分用ANSYS能不能生成(如控制关键点,生成样条线,再把样条线扫描成曲面)。

另外一个方法就是基于Ideas进行优化分析。

还有利用matlab+Ideas进行优化分析的。

我的实体模型已经在ansys中建好了,包括曲面部分,现在要通过有限元模拟的结果只改变取曲面部分的形状,想通过像在vc中用三角面片建立曲面那样通过控制一些点比较细致的重构模型?既然已经在ANSYS中建好模型了(请用APDL语言建),那么在ANSYS里就可以直接通过控制特征点来控制曲面部分的形状。

至于在VC中重构模型,我也不清楚。

问题在于,在VC中建的几何模型怎么输入到ANSYS 中?再问坛主,怎样控制特征点来控制曲面部分的形状?可以使关键点或者节点沿着坐标的方向移动从而改变其形状?将关键点的坐标定义为参数,如果进行优化计算,就是优化的设计变量。

通过控制关键点的坐标来控制曲面形状。

通过改变节点的坐标可以改变几何形状吗?那么网格的质量会发生变化吗?节点不好控制。

因为结构形状需要重构,需要用新的网格,节点信息是变化的。

如果嫌控制点少,可以多用些关键点。

坛主,建立好模型以后再多加关键点和建模时多用几个关键点效果能一样吗?因为建模时多用关键点很麻烦,而且不一定能建成.怎么将关键点的坐标定义为参数?我用上面讲的方法将Nastran作为一个子程序也是可行的。

请教!!我做了一个优化程序,每运行完一次程序,我需要修改输入文件,那么如何动态改变输入文件。

不用手工改!在ANSYS中可以利用它的APDL语言实现这种优化功能。

Patran中相应的PCL(Patran command language)同样可以实现。

基本思想一样,在Fortran或C中,将相关变量参数写到一个数据文件中,再利用与上面类似的调用方法执行patran的PCL文件,由此PCL文件读入上面生成的数据文件中的参数实现参数化建模、有限元处理并生成Nastran的计算输入文件,再调用nastran进行有限元计算,然后由patran的PCL调用结果进行后处理,将结果数据输出到数据文件,最后由Fortran 或C读入实现参数传递。

将ANSYS作为子程序调用-->jgyhw转移对于优化或参数化设计,可以在VC或FORTRAN中将ANSYS作为子程序调用。

具体调用方法如下:1.在VC中调用ANSYS::WinExec("d:/ANSYS57/BIN/INTEL/ANSYS57 -b -p ansys_product_feature -i input_file -o output_file",SW_SHOWNORMAL);2.在FORTRAN中调用ANSYSLOGICAL(4) resultRESULT=SYSTEMQQ('d:\ANSYS57\BIN\INTEL\ANSYS57 -b -pansys_product_feature -i input_file -o output_file')3.说明1和2中,input_file为用APDL语言编写的ANSYS输入文件。

ansys_product_feature为你的ANSYS产品特征代码。

需要注意的是,在VC中调用ANSYS时,需要加一条判断语句,以确定ANSYS已经执行完毕。

相关文档
最新文档