logo资料库

deform 3d二次开发资料.doc

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
关于流动应力的二次开发~!
DEFORM 二次开发的一点小心得! 前一段时间闲着没事,看了 DEFORM 的 help 文件.和众位兄弟交流一下.|Simwe.com| 仿真|设计|有 限元|虚拟 仪器 1d8S"Q!x0~9m!~.Q5U6{9^ 用户子程序实现过程: 第一步:所需文件准备:把 DEF_SIM 目录下的 def_usr.f , DEF_SIM_USR_ABsoft70.gui , DEF_SIM_P4_USR_ABsoft70.gui , DEF_SIM_P4_USR_LIB.lib , DEF_SIM_USR_LIB.lib 和 lib 目录下的所有.lib 文件拷 到工作目录下。备份 DEF_SIM.exe ,DEF_SIM_P4.exe 两个文件。 第二步:编写源程序。对于新手可以使用模版自带的子程序,对于材料流动应力 子程序模版里头本身就自带有一个,所以可以不需要自己编写。(我就利用过自带 的作过模拟,把前面的常数设置为 10 和 100 分别模拟)仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM(k/b8|0^9b)y 第三步:用 absoft7.0 或以上版本打开 DEF_SIM_USR_ABsoft70.gui 文档,指定好 library files,用工作目录下的 lib 文件来替换原来默认的 lib 文件,上述做完后直接 点 build 就 ok 了,自动生成了 DEF_SIM.exe。重复上面的过程打开 DEF_SIM_P4_USR_ABsoft70.gui 文档生成 DEF_SIM_P4.exe。 第三步:用生成的 DEF_SIM.exe ,DEF_SIM_P4.exe 替换原来的这两个文件。 第四步,运行模型。对于流动应力子程序,只要在 material 那里选择子程序就 ok 了。仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent8]0P&E B,L+{&Z W%?/b 注:3D 中必须是 DEF_SIM.exe,而 DEF_SIM—P4.exe 不好!(我也不知道原因,师 兄是这么说的!).www.simwe.com8]$M*q)v3V;V 仿真分析,有限元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM#d1I1k6D0F&n"r4j 还有一个问题,关于DEFORM的text运行模式. 在安装目录下面,有如下几个需要了解的文 件:<1>DEF_PRE.EXE;<2>DEF_ARM_CTL3.COM DEF_PRE.EXE 这是前处理,DOS 界面输入前处理参数设置,记录每次设置时的操作, 按一定格式记录在记事本上面,这个很重要,二次开发可能需要这个文件.具体参 见 help. DEF_ARM_CTL3.COM 这是运行命令.具体格式见 help. SimWe 仿真 论坛 5O+[7_:v$x7~;?,i6e3q 下面是关键:通过 fortran 子程序调用 DEFORM.具体如下.我用的是 visual fortran6.6.仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM b/O#G3N!D3G1_:c7x5}9v'E result=system('E:\DEFORM3D\V5_0\DEF_PRE.EXE') DEF_PRE.EXE 界面)3A;}%^5} /q3I result=system('E:\DEFORM3D\V5_0\DEF_PRE.EXEwww.simw e.com" m%e'o& V2O!b% l 2SimWe 仿真 论坛 4j-v-M- a(l9A (启动前处理,弹出
1 仿真 分析,有限 元,模拟 ,计算 ,力学 ,航空 ,航天,ANSYS, MSC,AB AQUS,A LGOR,A dina,C OMSOL, FEMLAB ,Matla b,Flue nt/c*W (t2h!~ @$N G XXXX.KEY (key 文件,需要 copy 到你的子程序目录下) E|Simwe.c om| 仿真|设计 |有限 元|虚拟 仪器 +P(E;u'r 5H8r%} 7 仿真 分析,有限 元,模拟 ,计算 ,力学 ,航空 ,航天,ANSYS, MSC,AB AQUS,A LGOR,A dina,C OMSOL, FEMLAB ,Matla b,Flue nt,CFD ,CAE,C AD,CAM 0u'n*V &U.w,S 'C 2 仿真 分析,有限 元,模拟 ,计算 ,力学 ,航空 ,航天,ANSYS, MSC,AB AQUS,A LGOR,A dina,C OMSOL, FEMLAB ,Matla b,Flue nt,CFD ,CAE,C AD,CAM !K*i4n 8l0j XXXX.DB E:z;P'_/` 9E R Y (生成 DB 文件)|Simwe.c om| 仿真|设计 |有限 元|虚拟 仪器 $e(W'V%d .G*T-n result=system('E:\DEFORM3D\V5_0\DEF_ARM_CTL3.COM XXXX B') 文件,XXXX 为文件名,B 表示 batch 模式运行)仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM B&d5~0X1@1D)J.\*~ 注意运行过程中,有可能生成临时文件,如 FOR003 等,会影响模拟进行,可通过 fortran 命令 open 和 write 操作清除.以上可以实现一些特殊的操作.如运动子程 序等. 上述即是我的一点小体会.很多我也不是很懂,自己的课题也不是 DEFORM 二次开发, 也不专长编程.呵呵,希望对大家有所帮助!仿真 分析,有限 元,模拟 , (运行 DB Re:请问能不能帖个自己二次开发加本构方程的例子 这是我尝试过的关于流动应力的二次开发,希望能给没有做过二次开发的朋友一点经验~~~现在 要好好研究二次开发和有限元软件的核心机制了~~~www.simwe.com4S"]!F$i7W"E$S+u)e 共同进步~~~!E,]*w"f6y/W'u+Y (s-e+N9|.B program USRMTR real YS,TEPS,EFEPS,TEM 仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM% [,L9o#s(`(|)D1H read (*,*,*)TEPS,EFEPS,TEM 仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM$P#]2R3L;T!z"m)F4[ YS=123.5237-1.238956*TEM+3.8584*LOG10(EFEPS)+6.7852*TEPS-1.29*TEM*TEPS+52.895* LOG10(EFEPS)*TEPS+0.00088442*TEM*TEM"^/}-p&S!r7?"t'L/@ Print *,YS ENDSimWe 仿真 论坛&u%B;c f(k0f'G.m$A6r 相信看了这个程序后,大家对二次开发肯定有个初步的了解了~|Simwe.com|仿真|设计|有限 元|虚拟 仪器(`5Q4n0s;H3u8O7e5T 呵~ 用户子程序具体实现心得 结合论坛上各位大虾的经验和自带帮助,前段时间动手试了一下用户子程序的实现过程,现将自己 的一些体会与大家共享,相信对做二次开发的新手有用 用户子程序实现过程: 第一步:所需文件准备:把 DEF_SIM 目录下的 def_usr.f , DEF_SIM_USR_ABsoft70.gui , DEF_SIM_P4_USR_ABsoft70.gui , DEF_SIM_P4_USR_LIB.lib , DEF_SIM_USR_LIB.lib 和 lib 目录下
的所有.lib 文件拷到工作目录下。备份 DEF_SIM.exe ,DEF_SIM_P4.exe 两个文件。 第二步:编写源程序。对于新手可以使用模版自带的子程序,对于材料流动应力子程序模版里头本 身就自带有一个,所以可以不需要自己编写。 第三步:用 absoft7.0 或以上版本打开 DEF_SIM_USR_ABsoft70.gui 文档,指定好 library files,用 工作目录下的 lib 文件来替换原来默认的 lib 文件(这一步很关键,试了好久才发现),要不然编译 可以通过,可是不能生成执行文件。上述做完后直接点 build 就 ok 了,自动生成了 DEF_SIM.exe。 重复上面的过程打开 DEF_SIM_P4_USR_ABsoft70.gui 文档生成 DEF_SIM_P4.exe。仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM%y'p)o!T2B/{'a5K 第三步:用生成的 DEF_SIM.exe ,DEF_SIM_P4.exe 替换原来的这两个文件。 仿真 分析,有限 元,模拟,计算,力学,航空,航天,ANSYS,MSC,ABAQUS,ALGOR,Adina,COMSOL,FEMLAB,Matlab,Fluent,CFD,CAE,CAD,CAM _5B2f!p)Q/h+\-e 第四步,运行模型。对于流动应力子程序,只要在 material 那里选择子程序就 ok 了。 共享:DEFORM 二次开发后,fortran 子程序编译问题 这一个星期以来,每天都在编译二次开发后的 DEFORM 子程序,总是不能通过,看了论坛中也没 有详细说这方面的,虽然按照一些操作操作了还是不行,所以详细讲述一下操作步骤。SimWe 仿真 论坛+z ?(V%{$S(n0M-u(N1X |Simwe.com| 仿真|设计| 有限 元|虚拟 仪器,L(\:y'v'?.F4| 首先,安装的系统是 windows 的,到电驴上下载并安装 absoft pro fortran v9.0,这应该是在网上 能找到的最接近的版本了。|Simwe.com| 仿真|设计| 有限 元|虚拟 仪器 6A3g$L)p(j&I:|'d0@ 安装 DEFORM-2D,DEFORM-3D,我是这么装的,具体是不是可以只装一个我也没试过,有意的试试 吧。 在 def_usr.f(该文件在 DEF_SIM 文件夹中)编写二次开发的程序,保存。 找个地方建一个文件夹 M,将 DEFORM 中的 UserRoutine 文件夹中的所有文件和所有的*.lib 文件 拷贝到文件夹 M 中。 (这样比较省事点,虽然有些文件用不到。) 将 absoft pro fortran v9.0 的安装文件中的 f77_oldnames.obj 文件也拷贝到文件夹 M 中。 (该文件在..\Absoft90\LIB 中) 双击打开 DEF_SIM_USR.gui 文件,将 Library Files 中的*.lib 文件全部替换成文件夹 M 中的相应的 *.lib。(在 Library Files 任选一个文件,右键选择 Add/Remove File(s) 然后进行替换文件操作)。 将文件夹 M 中的 f77_oldnames.obj 也添加进去。 点击 Tools-->buid 就 OK 了。生成了 DEF_SIM.exe 建立 DEF_SIM_P4.exe 文件如上面的操作,只是改成双击 DEF_SIM_P4_USR.gui 文件。 关于流动应力的二次开发~! 前几天有个网友求租关于流动应力二次开发的子程序~!现和大家一起讨论讨论~!其实二次开发我 也是个 beginner~!' u' d" c7 Q' i0 p, D9 m 如果材料库里面没有你所需要的流动应力的模型~!你可以自己定义流动应力~~流动应力可以表示 为应力应变温度或者其他变量的函数~!用户可以定义 100 种流动应力的程序~! 定义变量如下:( L- G1 a2 O) H! a/ b& U
YS=FLOW STRESS ' V* H+ u: ^, ]4 t& \! @, I YPS=DERIVATIVE OF FLOW STRESS W.R.T. TEPS 9 }, A q$ @0 h FIP=DERIVATIVE OF FLOW STRESS W.R.T. EFEPS + y2 R2 A" b4 G+ T3 C3 s. Y TEPS=EFFECTIVE STRAIN 4 H. x6 {: e/ e" K EFEPS=EFFECTIVE STRAIN RATE 如果流动应力只由应变速率灵明度指数和等效应变速率来决定~那么流动应力的子程序如下: PEM = 0.1 $ a! Z4 w5 Q) \0 Q YS = 10. * (EFEPS)**PEM FIP = 10. * PEM * (EFEPS)**(PEM-1) . T' @! L$ ?4 }5 G 7 ]# |8 _: L. g2 M4 S6 q YPS = 03 |7 D! q$ ]+ m! a, y! ~4 p3 [ 如果流动应力由应变(PEN),应变速率(PEM),等效应变 (STRAIN),等效应变速率来决定,子程序如 下:(用户自己定义等效应变值) STRAIN = USRE1(1) ( H4 s$ \* r( M8 w% ` IF (STRAIN.LE.0.) STRAIN = 1.E-5 9 F7 I/ Q2 ^6 x ^7 o PEN = 0.15 PEM = 0.1 ' H+ u8 d7 F; m: I& \9 ~* P YS = 10. * STRAIN**PEN* (EFEPS)**PEM # }( {3 p' x7 ~2 q7 ~5 h8 ] FIP = 10. * STRAIN**PEN* PEM * (EFEPS)**(PEM-1) ) {$ H% U [9 i% h4 P/ S YPS = 10. * PEN * STRAIN**(PEN-1.) * (EFEPS)**PEM 这就是最基本的流动应力的二次开发,大家可以再探讨探讨~!谢谢~! 5 E5 p6 h4 ]" }! N 2008-11-18 DEFORM 2D / DEFORM 3D 二次开发心得 一 求解过程中的二次开发 Procedure: If you can find Compile_DEF_SIM_USR.bat in the current directory, you can compile the user routine by simply click on that batch file, and copy the DEF_SIM.exe or DEF_SIM_P4.exe to the folder where DEFORM3D installed. To build DEF_SIM.exe follows these steps: (1) Double click DEF_SIM_USR.gui ( DEF_SIM_USR_Absoft70.gui if you are using Absoft 7.0), Absoft Pro Fortran compiler will open automatically. (2) Click on Build or in the menu bar click on Tools->Build to build DEF_SIM.exe. (3) Copy DEF_SIM.exe to the DEFORM3D/V5_0 directory (do not forget to make a backup copy of the original DEF_SIM.exe).
To build DEF_SIM_P4.exe follows these steps: (1) Double click DEF_SIM_P4_USR.gui ( DEF_SIM_P4_USR_Absoft70.gui Absoft 7.0), Absoft Pro Fortran compiler will open automatically. (2) Click on Build or in the menu bar click on Tools->Build to build DEF_SIM_P4.exe. (3) Copy DEF_SIM_P4.exe to the DEFORM3D/V5_0 directory (do not forget to make a backup copy of the original DEF_SIM_P4.exe). if you are using 具体方法: 对于 DEFORM 3D 5.0 如 果 安 装 的 是 Absoft7.0, 先 检 查 是 否 存 在 DEF_SIM_USR_Absoft70.amk 和 DEF_SIM_P4_USR_Absoft70.amk 这两个文件, 只有这两个文件完好才能正常编译. 1. 双击 DEF_SIM_USR_Absoft70.gui 打开编译窗口, 单击 Build 创建 DEF_SIM.exe. 2. 双击 DEF_SIM_P4_USR_Absoft70.gui 打开编译窗口, 单击 Build 创建 DEF_SIM_P4.exe. 3. 这 时 DEF_SIM_USR_Absoft70.amk 和 DEF_SIM_P4_USR_Absoft70.amk 如 果 变 成 了 DEF_SIM_USR_Absoft70.amk.bk 和 DEF_SIM_P4_USR_Absoft70.amk.bk 则要将扩展名中的.bk 去掉. 4. 双击 Compile_DEF_SIM_USR.bat, 完成编译,将 DEF_SIM.exe 和 DEF_SIM_P4.exe 拷贝到 DEFORM3D/V5_0 目录下. 对于 DEFORM 3D 6.1 Batch building: If you can find build_all_def_sim_usr.bat in the current directory, you can compile the user routine by simply click on that batch file, and copy the DEF_SIM.exe and DEF_SIM_P4.exe and DEF_SIM_P4P.exe to the folder where DEFORM3D installed. If you have Absoft7.0 instead of Absoft9.0, you should click build_all_def_sim_usr_absoft70.bat. If you have Absoft7.5 instead of Absoft9.0, you should click build_all_def_sim_usr_absoft75.bat. Interactive building: (1) Double click DEF_SIM_USR.gui, Absoft Pro Fortran compiler will open automatically. (2) Click on Build or in the menu bar click on Tools->Build to build DEF_SIM.exe. (3) Copy DEF_SIM.exe to the folder where DEFORM3D installed (do not forget to make a backup copy of the original DEF_SIM.exe). To build DEF_SIM_P4.exe follows these steps: (1) Double click DEF_SIM_P4_USR.gui, Absoft Pro Fortran compiler will open automatically. (2) Click on Build or in the menu bar click on Tools->Build to build DEF_SIM_P4.exe. (3) Copy DEF_SIM_P4.exe to the folder where DEFORM3D installed (do not forget to make a
backup copy of the original DEF_SIM_P4.exe). To build DEF_SIM_P4P.exe follows these steps: (1) Double click DEF_SIM_P4P_USR.gui, Absoft Pro Fortran compiler will open automatically. (2) Click on Build or in the menu bar click on Tools->Build to build DEF_SIM_P4P.exe. (3) Copy DEF_SIM_P4P.exe to the folder where DEFORM3D installed (do not forget to make a backup copy of the original DEF_SIM_P4P.exe) 具体方法: 如 果 安 装 的 是 Absoft7.0, 先 检 查 是 否 存 在 build_def_sim_usr_absoft70.amk 和 build_def_sim_p4_usr_absoft70.amk 这两个文件, 只有这两个文件完好才能正常编译. 1. 双击 DEF_SIM_USR_Absoft70.gui 打开编译窗口, 单击 Build 创建 DEF_SIM.exe. 2. 双击 DEF_SIM_P4_USR_Absoft70.gui 打开编译窗口, 单击 Build 创建 DEF_SIM_P4.exe. 3. 双 击 build_def_sim_usr_absoft70.bat 和 build_def_sim_p4p_usr_absoft70.bat 完 成 编 译 , 将 DEF_SIM.exe 和 DEF_SIM_P4.exe 拷贝到 DEFORM3D/V6_1 目录下. 注意: 1.按上面的方法即可得到自定义变量的每一步的值, 但前提是必须在前处理里面定义变量名 称并给变量赋初值, 方法是: In the Pre-processor, go to Advanced --> Element Data for the deforming object and go to the User tab. Here, you should define the element variables that you are interested in. These variables will then be listed in the Post-processor in the "FEM user elem" section of the State Variable menu. 2.以上方法得到的是单元的值,要得到节点值,方法如下: The variables in the NODCOM3 common block are at the nodal level. These values only exist if nodal values are output from the simulation. To do this, go to Simulation Controls --> Advanced --> Output Control and set all three variables to "Element + Node" output. After doing this, EFEPS_NN, TEPS_NN, DAMG_NN, and IELMNOD(3) all have values (IELMNOD(1), IELMNOD(2) and IELMNOD(3) are all set to the positive number 2 since "Element + Node" output was selected). The stress components STS_NN(6) were still zero, however. This is because these nodal stress components only get calculated when the workpiece is Elasto-Plastic (EP). Once I made my workpiece EP, these stress components were nonzero. IELMNOD(1), IELMNOD(2) 二 后处理的二次开发 Procedure: If you can find Compile_DEF_PST_USR.bat in current directory, user routine post processor can be
Double click USR_DEF_PST3.gui (USR_DEF_PST3_Absoft70.gui for Absoft 7.0 compiler), Click on Build or in the menu bar Click “ToolsàBuild”, to build USR_DEF_PST3.dll. After finishing with the set up of the project, customize pstusr3.f and rebuild USR_DEF_PST3.gui. Copy USR_DEF_PST3.dll to the DEFORM3D/v5_0/Usr directory. compiled by double click on that batch file. To generate USR_DEF_PST3.dll follow these steps: 1. Absoft Pro Fortran compiler will open automatically. 2. 3. 4. 具体方法: 1. 双击 USR_DEF_PST3_Absoft70.gui 打开编译窗口, 单击 Build 创建 USR_DEF_PST3.dll. 2. 双 击 Compile_DEF_PST_USR.bat, 完 成 编 译 , 将 USR_DEF_PST3.dll 拷 贝 到 DEFORM3D/V5_0/USR 目录下. 其实, 完成第一步后就直接把USR_DEF_PST3.dll 拷贝到 DEFORM3D/V5_0/USR 目录下, 就可以 了. 注意:后处理里面能实现的都可以按前面的方法在 usr_upd.f 中实现, 而且按前面的方法实现效 果要好得多, 原因在于后处理里面的更新是在已经存储的.DB 文件里面取数据进行计算,如果 不是每步都存储到 DB 中了,那得出的结果会很不准确, 而且目前后处理中只能显示 100 步的结 果, 所以建议尽量不在后处理中进行二次开发.
分享到:
收藏