ADINA中进行材料本构的二次开发教程
- 格式:pdf
- 大小:227.99 KB
- 文档页数:18
S TAAD 二次开发的经验魏 亮 陈 延 陈 慧(美盛沃利工程技术有限公司 北京 100026)摘 要 对结构分析软件S TAAD 二次开发的一些经验进行介绍,并对开发中存储、查询数据的两种方案的效率进行比较。
关键词 STAAD 二次开发 散列表EXP ER IENCE IN SECO N DARY D EV ELO PM EN T OF SOFTWARE STAA DWei Lia ng Che n Y a n Che n Hui(Mai son Worley Parson s Beijing 100026)ABSTRA CT It is introduced s o me experience in t he seconda ry developme nt of s oftware STAAD and t he efficie ncy of two plans to store a nd sea rch t he data in the development is also co mpared.KEY WO R DS S TAAD secondar y development Ha sh Ta ble第一作者:魏 亮 男 1975年出生 硕士 工程师@y 收稿日期66 国内设计单位承接国外工程,通常会采用某一国际知名的结构设计软件以便于校审。
在构件设计和优化方面,国外知名软件大多内置了多种国外规范(如美国规范、加拿大规范、欧洲规范等),但是在钢结构节点设计方面,这些软件目前还比较欠缺。
通常国外的工程设计要求计算书透明、步步可查、易于校审。
但国外的结构分析软件大多对节点的验算未做较多的涉及,因此,有必要进行二次开发。
对某软件二次开发的前提必须是对该软件的重要文件的格式要有清楚而全面的了解,二次开发流程无非读取输入文件和输出文件、合理高效存储模型的几何信息和输出文件中的内力或位移等信息、分析这些存储的信息、按照需要的格式和组织方式输出相关信息。
ADINA几何与材料双重非线性源程序解析的开题报告一、研究背景和意义ADINA是安捷伦科技公司旗下领先的工程仿真软件之一,广泛应用于工业、民用航空航天、船舶、建筑、汽车等领域。
该软件具备多物理场、多材料、多尺度等特点,可进行强耦合、非线性分析等高级工程计算。
其中,几何与材料的双重非线性问题是在结构强度、疲劳、稳定性、断裂等方面应用广泛的重要问题之一。
目前,针对ADINA双重非线性源程序的研究在国内外得到了广泛关注。
但是,对于其解析方法和算法的探究还存在一定的局限性,需要进一步深入研究。
因此,本研究意在对ADINA几何与材料双重非线性源程序的解析方法和算法进行探究,为其应用和发展提供理论基础和技术支持。
二、研究内容和步骤本研究的主要内容包括:1. 对ADINA几何与材料双重非线性源程序的基本原理和适用范围进行分析和论述;2. 对双重非线性源程序中的几何非线性和材料非线性问题进行分别研究,深入掌握它们的数学模型、公式计算、算法流程等;3. 对几何非线性和材料非线性问题的耦合作用进行探究,分析其相互影响机理;4. 针对实际工程问题,对双重非线性源程序进行数值模拟和计算实验,验证所提出算法和方法的有效性和可行性。
本研究将按照以下步骤进行:1. 阅读相关文献,了解ADINA双重非线性源程序的基本情况和研究现状;2. 对几何非线性和材料非线性问题进行分别研究,熟悉它们的数学模型和常见算法;3. 尝试将几何非线性和材料非线性问题进行耦合,分析它们相互影响的机理,寻找出适合的求解方法;4. 运用已有算法和方法,搭建ADINA双重非线性源程序的模型,进行相关的数值模拟和计算实验,并对结果进行分析。
三、研究期望和创新点本研究的期望和创新点如下:1. 通过对ADINA双重非线性源程序的解析和研究,深入掌握其数学模型和算法原理,在工程实践中提供更为可靠和精确的计算方法;2. 分别研究几何非线性和材料非线性问题,并在对它们进行耦合时,探究相互影响的机理,为这类问题的综合求解提供新思路和新方法;3. 运用所得的算法和方法,针对实际工程问题进行计算实验,验证其可行性和有效性,并可为相关领域的工程设计和决策提供科学参考。
前言有限元法是工程中广泛使用的一种数值计算方法。
它是力学、计算方法和计算机技术相结合的产物。
在工程应用中,有限元法比其它数值分析方法更流行的一个重要原因在于:相对与其它数值分析方法,有限元法对边界的模拟更灵活,近似程度更高。
所以,伴随着有限元理论以及计算机技术的发展,大有限元软件的应用证变得越来越普及。
ABAQUS软件一直以非线性有限元分析软件而闻名,这也是它和ANSYS,Nastran等软件的区别所在。
非线性有限元分析的用处越来越大,因为在所用材料非常复杂很多情况下,用线性分析来近似已不再有效。
比方说,一个复合材料就不能用传统的线性分析软件包进行分析。
任何与时间有关联,有较大位移量的情况都不能用线性分析法来处理。
多年前,虽然非线性分析能更适合、更准确的处理问题,但是由于当时计算设备的能力不够强大、非线性分析软件包线性分析功能不够健全,所以通常采用线性处理的方法。
这种情况已经得到了极大的改善,计算设备的能力变得更加强大、类似ABAQUS这样的产品功能日臻完善,应用日益广泛。
非线性有限元分析在各个制造行业得到了广泛应用,有不少大型用户。
航空航天业一直是非线性有限元分析的大客户,一个重要原因是大量使用复合材料。
新一代波音 787客机将全部采用复合材料。
只有像 ABAQUS这样的软件,才能分析包括多个子系统的产品耐久性能。
在汽车业,用线性有限元分析来做四轮耐久性分析不可能得到足够准确的结果.分析汽车的整体和各个子系统的性能要求(如悬挂系统等)需要进行非线性分析。
在土木工程业, ABAQUS能处理包括混凝土静动力开裂分析以及沥青混凝土方面的静动力分析,还能处理高度复杂非线性材料的损伤和断裂问题,这对于大型桥梁结构,高层建筑的结构分析非常有效。
瞬态、大变形、高级材料的碰撞问题必须用非线性有限元分析来计算。
线性分析在这种情况下是不适用的。
以往有一些专门的软件来分析碰撞问题,但现在ABAQUS在通用有限元软件包就能解决这些问题。
第二章 ADINA功能简介一、ADINA用户界面ADINA是一个全集成有限元分析系统,所有分析模块使用统一的前后处理用户界面ADINA User Interface (AUI),易学易用,采用友好Windows图标风格创建几何模型,实现所有建模和前后处理功能。
其命令流文件Jobname.in自动记录跟踪用户的所有输入数据,用户可以根据需要随意查看、编辑Jobname.in文件达到重建或修改整个模型的目的。
ADINA-AUI的主要特点是:采用Parasolid为核心的实体建模技术,这是许多大型CAD 软件采用地一种几何建模技术,因此可以方便地创建各种复杂的几何模型。
同时,ADINA 提供各种几何数据接口,可以与当前的各种主流CAD软件实行无缝集成(如Unigraphics,SolidWork、SolidEdge、Pro/ENGINEER、I-DEAS、AutoCAD等等),直接利用CAD软件生成的几何模型进行有限元分析计算。
ADINA提供了多种网格划分工具,能对复杂模型进行全自动六面体网格划分,单元大小易于调整。
另外ADINA不但可以与CAD软件实现无缝连接,而且还可以与Nastran等软件交换有限元模型数据。
1 前处理功能:•Windows图标风格•用户可以根据需要添加和减少图标,任意组织界面•可对常用功能操作自定义快捷键•具有Undo和Redo功能•模型动态旋转、缩放和平移•快速方便的布尔运算,快速建立复杂模型•各种加载方式,载荷可以随时间和空间位置而变化•多种网格划分功能,可对复杂模型进行自动六面体网格划分2 后处理功能:•支持各种结果变量可视化处理方法,具有网格变形图、彩色云图、等值线图、矢量图、曲线图及其它实用绘图功能•同一窗口可以显示不同的结果图形•可对模型图进行隐藏、透明显示•屏幕或文件变量数据列表•方便的绘制出模型的任意点任一计算结果参量随时间或其他参量的变化曲线,例如应力-应变曲线、位移-时间曲线、应力-时间曲线等等•可以进行变量运算,从输出变量中定义导出变量•可以对相对结果进行图形显示(如最终时刻相对于t1时刻的变形情况-相对位移,常用于含地应力问题的变形结果处理。
ADINA软件的二次开发
曹琳;赵继伟
【期刊名称】《人民黄河》
【年(卷),期】2009(031)007
【摘要】ADINA有限元分析软件为用户自定义材料提供了便利条件,用户可以根据需要开发合适的材料模型,如可以更改ADINA中材料的本构关系或破坏准则,使其更符合工程实际.对岩土工程数值计算中常用的邓肯-张模型进行了二次开发,并用于实际工程的计算,验证了ADINA自定义材料二次开发的可行性.
【总页数】2页(P96-97)
【作者】曹琳;赵继伟
【作者单位】华北水利水电学院,河南,郑州,450011;华北水利水电学院,河南,郑州,450011
【正文语种】中文
【中图分类】TP319
【相关文献】
1.ADINA软件二次开发初探 [J], 徐飞英
2.基于ADINA的黏土广义塑性模型二次开发及验证 [J], 张卫东;岑威钧
3.基于ADINA数值模拟分析的材料二次开发 [J], 李珂
4.ADINA软件中邓肯—张模型的二次开发与应用 [J], 陈志坚;江涛;陈松
5.ADINA有限元软件中材料本构的二次开发 [J], 熊玉春;房营光
因版权原因,仅展示原文概要,查看原文内容请购买。
Deform 3D二次开发步骤为了在金属成形工艺模拟过程中进行微观组织演化的定量预测,所使用的模拟软件必须有包含微观组织变化的本构模型和专门的微观组织演化分析模块。
当前国际上虽然有多个知名商业软件流行,但是它们都不具备微观组织演化的预测功能。
庆幸的是多数商业软件都为二次开发设置了用户子程序功能,通过用户子程序,用户就能根据自己的需要增加自己的微观组织预测功能。
为了使DEFORM3D软件具有微观组织演化预测功能,本研究尝试将包含动态再结晶的热刚—粘塑性材料本构模型植入到DEFORM3D中,并在模拟结果中能够显示晶粒度等用户变量在变形体内的分布。
在研究出具体开发步骤前,必须要对Defom中的程序有所深入了解。
一、DEFORM3D二次开发基础理论1、用户子程序结构本研究的DEFORM3D二次开发涉及到的子程序有:USRMSH、USRMTR、UFLOW、USRUPD(含USR和CHAZHI)。
(1)可以改变几乎所有变量的子程序(USRMSH)子程序功能:该子程序包含了有限元计算中所有的全局变量,通过这个用户子程序,可以修改所有这些变量。
但这些全局变量的改变将直接影响有限元的计算,处理不当就会使整个程序不能正常进行。
在DEFORM3D子程序功能中,所有的用户变量必须在USRUPD子程序中定义。
本文的用户子程序中共定义了18个用户单元变量。
各用户变量的含义如列表所示。
该子程序用于某些必要数据的获取和存储流程图如下图所示:(2)流动应力子程序(USRMTR、UFLOW)SUBROUTINE USRMTR(NPTRTN,YS,YPS,FIP,TEPS,EFEPS,TEMP)SUBROUTINE UFLOW(YS,YPS,FIP,TEPS,EFEPS,TEMP)子程序的变量含义:NPTRTN:应力模型编号;YS:流动应力;YPS:流动应力对等效应变的导数;FIP:流动应力对等效应变速率的导数;TEPS:等效应变;EFEPS:等效应变;TEMP:温度。
ADINA学习交流之ADINA基础操作(讲稿)主讲人:田亚光(苦苦)整理于2009-5-23主讲人简介苦苦,真名:田亚光,辽宁沈阳人,硕士学历苦苦视频创作者学习经历:2000年~2004年辽宁工程技术大学土木工程工学学士(交通土建方向)2004年~2007年辽宁工程技术大学岩土工程工学硕士师从张向东教授2007年~至今辽宁有色勘察研究院研究方向:主要干岩土、地质灾害治理施工、设计、地质灾害防治规划等工作ADINA基础操作总结苦苦摘要:本人学习ADINA几年,对ADINA基本操作有所了解,虽不太深入,但也有一些小经验,在此做一总结,与大家分享,也有一些未解问题与大家共同探讨。
引言早期有限元的主要贡献来自于Berkeley大学。
Berkeley的Ed Wilson发布了第一个程序,其他著名的研究成员有J.R.Hughes,Robert Tayor,Juan Simo等人,第一代的程序没有名字,第二代线性程序就是著名的SAP(structural analysis program),非线性程序就是NONSAP。
K.J. Bathe是Ed Wilson在Berkeley的学生,后来在MIT任教,期间他在NONSAP的基础上发表了著名的非线性求解器ADINA(Automatic Dynamic Incremental Nonlinear Analysis),其源代码因为长时期广泛流传而容易获得。
Bathe的著作丰厚,结合公布的源代码,让后来者获益匪浅,让人敬佩。
(本人空间内有此段转载,推荐大家细读)ADINA即Automatic Dynamic Incremental Nonlinear Analysis的缩写,翻译为自动动态增量非线性分析。
ADINA R & D,Inc. 公司于1986年始创于美国麻省(即马萨诸塞州)Watertown。
创始人是国际上知名的有限元软件研发者,美国麻省理工学院的K. J. Bathe教授。
#开头的为注释行.第一步,建立建模环境,这一步中p y将从a b a q u s中导入建模所需的所有程序模块.f r o m p a r t i m p o r t*接下来定义草图环境m d b.m o d e l s['M o d e l A'].S k e t c h(n a m e='__p r o f i l e__',s h e e t S i z e=200.0)m d b.m o d e l s['M o d e lA'].s k e t c h e s['__p r o f i l e__'].s k e t c h O p t i o n s.s e t V a l u e s(c o n s t r u c t i o n G e o m e t r y=O N,d e c i m a l P l a c e s=2,d i m e n s i o n T e x t H e i g h t=5.0,g r i d=O N,g r i d F r e q u e n c y=2,g r i d S p a c i n g=5.0,s h e e t S i z e=200.0,v i e w S t y l e=A X I S Y M)上面的设定为大小200*200,格栅间距为5,文字标注高度为5.m d b.m o d e l s['M o d e l A'].s k e t c h e s['__p r o f i l e__'].O b l i q u e C o n s t r u c t i o n L i n e(p o i n t1=(0.0,-100.0),p o i n t2=(0.0,100.0))本句语句设定轴对称模型的对称轴线位置m d b.m o d e l s['M o d e l A'].s k e t c h e s['__p r o f i l e__'].r e c t a n g l e(p o i n t1=(0.0,0.0),p o i n t2=(40.0, -40.0))该语句绘制矩形,从点0,0至点40,-40m d b.m o d e l s['M o d e l A'].P a r t(d i m e n s i o n a l i t y=A X I S Y M M E T R I C,n a m e='B o d e n',t y p e=D E F O R M A B L E_B O D Y)定义模型为轴对称,名字为b o d e n,为可变形体m d b.m o d e l s['M o d e l A'].p a r t s['B o d e n'].B a s e S h e l l(s k e t c h=m d b.m o d e l s['M o d e lA'].s k e t c h e s['__p r o f i l e__'])d e l m d b.m o d e l s['M o d e l A'].s k e t c h e s['__p r o f i l e__']绘图完成丌要忘记收回建模环境所占的内存第二节:材料定义--------------------2楼第三节:装配--------------------3楼第四节:分析步定义--------------------4楼第五节:接触定义--------------------5楼第六节:荷载边界定义-----------------6楼第七节:网格划分控制------------------7楼第八节,任务提交及杂项功能--------8楼关于如何在p y t h o n中提交多个任务的问题9楼第二节,材料定义f r o m m a t e r i a l i m p o r t*f r o m s e c t i o n i m p o r t*从A B A Q U S提供的接口中导入材料库和组件库m d b.m o d e l s['M o d e l-A'].M a t e r i a l(n a m e='B o d e n')定义材料名m d b.m o d e l s['M o d e l A'].m a t e r i a l s['B o d e n'].D e n s i t y(t a b l e=((2000.0,),))定义材料密度m d b.m o d e l s['M o d e l A'].m a t e r i a l s['B o d e n'].E l a s t i c(t a b l e=((210546.3,0.3333),))定义材料线弹性模量和泊松比,其它的材料,如弹塑性,粘弹性材料均对应丌同的对象函数. m d b.m o d e l s['M o d e l A'].H o m o g e n e o u s S o l i d S e c t i o n(m a t e r i a l='B o d e n',n a m e='b o d e n',t h i c k n e s s=1.0)m d b.m o d e l s['M o d e lA'].p a r t s['B o d e n'].a s s i g n S e c t i o n(r e g i o n=R e g i o n(f a c e s=m d b.m o d e l s['M o d e lA'].p a r t s['B o d e n'].f a c e s[0:1]),s e c t i o n N a m e='b o d e n')设定组件为坐标无关性材料,厚度为单位厚度,并将属性附给所用的组件第三节,装配f r o m a s s e m b l y i m p o r t*首先,导入装配所用到的对象m d b.m o d e l s['M o d e lA'].r o o t A s s e m b l y.D a t u m C s y s B y T h r e e P o i n t s(c o o r d S y s T y p e=C Y L I N D R I C A L,o r i g i n=(0.0, 0.0,0.0),p o i n t1=(1.0,0.0,0.0),p o i n t2=(0.0,0.0,-1.0))定义坐标类型为柱坐标,原点0,0,0,另外两个为单位向量,确定该坐标轴的方向.m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.I n s t a n c e(n a m e='B o d e n-1',p a r t=m d b.m o d e l s['M o d e l A'].p a r t s['B o d e n'])生成草图对像b o d e n的实体,名字叨B o d e n-1.无偏移插入第四节,定义分析步f r o m s t e p i m p o r t*象其它步一样,先导入分析步要用到的模块m d b.m o d e l s['M o d e l A'].I m p l i c i t D y n a m i c s S t e p(i n i t i a l I n c=0.005,m a x N u m I n c=1024,n a m e='S t e p-1',n o S t o p=O F F,n o h a f=O F F,p r e v i o u s='I n i t i a l',t i m e I n c r e m e n t a t i o n M e t h o d=F I X E D,t i m e P e r i o d=5.12)定义对劢力隐式分析,时长为0.005*1024=5.12个时间单位,前一步为I n i t i a lm d b.m o d e l s['M o d e l A'].f i e l d O u t p u t R e q u e s t s['F-O u t p u t-1'].s e t V a l u e s(v a r i a b l e s=('U',))定义输出到O D B文件的数据,这里叧定义了位移输出m d b.m o d e l s['M o d e l A'].f i e l d O u t p u t R e q u e s t s['F-O u t p u t-1'].s e t V a l u e s(f r e q u e n c y=1)定义位移输出的频率为每步都输出m d b.m o d e l s['M o d e l A'].s t e p s['S t e p-1'].R e s t a r t(f r e q u e n c y=1,o v e r l a y=O N)定义重启劢析,每一步记录,叧记录最后一次的正确状态第五节,定义接触f r o m i n t e r a c t i o n i m p o r t*依然是先导入所用的模块m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.P a r t i t i o n E d g e B y P a r a m(e d g e s=(m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'].e d g e s[3],),p a r a m e t e r=0.975)在上部即第3面的97.5%的地方设定一个点,用于定义接触m d b.m o d e l s['M o d e l A'].C o n t a c t P r o p e r t y('I n t P r o p-1')定义接触属性名m d b.m o d e l s['M o d e l A'].i n t e r a c t i o n P r o p e r t i e s['I n t P r o p-1'].T a n g e n t i a l B e h a v i o r(f o r m u l a t i o n=F R I C T I O N L E S S)m d b.m o d e l s['M o d e l A'].i n t e r a c t i o n P r o p e r t i e s['I n t P r o p-1'].N o r m a l B e h a v i o r(a l l o w S e p a r a t i o n=O F F,a u g m e n t e d L a g r a n g e=O F F,p r e s s u r e O v e r c l o s u r e=H A R D)定义接触特性,为无摩擦硬接触丌允许分开m d b.m o d e l s['M o d e l A'].S u r f a c e T o S u r f a c e C o n t a c t S t d(a d j u s t M e t h o d=N O N E,c r e a t e S t e p N a m e='I n i t i a l',i n t e r a c t i o n P r o p e r t y='I n t P r o p-1',m a s t e r=R e g i o n(s i d e1E d g e s=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['f u n-1'].e d g e s[0:1]) ,n a m e='I n t-1',s l a v e=R e g i o n(s i d e1E d g e s=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'].e d g e s[4:5]),s l i d i n g=F I N I T E)这一句是建立接触对,分别为两个面上的一条边,这里边的定义由A B A Q U S内定,具体可以查阅参考手册第六节,荷载边界定义f r o m l o a d i m p o r t*m d b.m o d e l s['M o d e l A'].P e r i o d i c A m p l i t u d e(a_0=1.0,d a t a=((3.0,1.1),(3.2,1.7)),f r e q u e n c y=2.454,n a m e='F o u r i e r',s t a r t=0.0,t i m e S p a n=S T E P)定义f o u r i e r级数表示的荷载m d b.m o d e l s['M o d e l A'].P r e s s u r e(a m p l i t u d e='F o u r i e r',c r e a t e S t e p N a m e='S t e p-1',d i s t r i b u t i o n=U N I F O R M,m a g n i t u d e=50.0,n a m e='L o a d-1',re g i o n=R e g i o n(s i d e1E d g e s=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['f u n-1'].e d g e s[2:3]))定义压强,设定加载的分析步,区域及放大系数m d b.m o d e l s['M o d e l A'].D i s p l a c e m e n t B C(a m p l i t u d e=U N S E T,c r e a t e S t e p N a m e='I n i t i a l',d i s t r i b u t i o n=U N I F O R M,l o c a l C s y s=N o n e,n a m e='B C-1',r e g i o n=R e g i o n(e d g e s=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'].e d g e s[0:1]+\m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'].e d g e s[2:3]+\m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['f u n-1'].e d g e s[3:4]), u1=S E T,u2=U N S E T,u r3=U N S E T)m d b.m o d e l s['M o d e l A'].D i s p l a c e m e n t B C(a m p l i t u d e=U N S E T,c r e a t e S t e p N a m e='I n i t i a l',d i s t r i b u t i o n=U N I F O R M,l o c a l C s y s=N o n e,n a m e='B C-2',re g i o n=R e g i o n(e d g e s=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'].e d g e s[1:2]),u1=U N S E T,u2=S E T,u r3=U N S E T)设定边界位移为0的边界条件,注意语法中对象相加的方法.第七节,网格划分控制f r o m m e s h i m p o r t*i m p o r t m e s h导入网格划分模块e l e m T y p e1=m e s h.E l e m T y p e(e l e m C o d e=C A X8,e l e m L i b r a r y=S T A N D A R D,s e c o n d O r d e r A c c u r a c y=O F F,h o u r g l a s s C o n t r o l=S T I F F N E S S,d i s t o r t i o n C o n t r o l=O F F)e l e m T y p e2=m e s h.E l e m T y p e(e l e m C o d e=C A X6M,e l e m L i b r a r y=S T A N D A R D)a1=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l yf1=a1.i n s t a n c e s['B o d e n-1'].f a c e sf a c e s1=f1[0:1]r e g i o n s=(f a c e s1,)a1.s e t E l e m e n t T y p e(r e g i o n s=r e g i o n s,e l e m T y p e s=(e l e m T y p e1,e l e m T y p e2))定义其中一个物体的网格为二次8结点单元,如果其中有无法划分成四边形单元的情况,则用三角形二次6结点单元.e l e m T y p e1=m e s h.E l e m T y p e(e l e m C o d e=C A X4,e l e m L i b r a r y=S T A N D A R D)e l e m T y p e2=m e s h.E l e m T y p e(e l e m C o d e=C A X3,e l e m L i b r a r y=S T A N D A R D)a1=m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l yf1=a1.i n s t a n c e s['f u n-1'].f a c e sf a c e s1=f1[0:1]r e g i o n s=(f a c e s1,)a1.s e t E l e m e n t T y p e(r e g i o n s=r e g i o n s,e l e m T y p e s=(e l e m T y p e1,e l e m T y p e2))定义其中一个物体的网格为一次4结点单元,如果其中有无法划分成四边形单元的情况,则用三角形一次3结点单元.m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.s e e d P a r t I n s t a n c e(r e g i o n s=(m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['f u n-1'],),s i z e=0.5)m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.s e e d P a r t I n s t a n c e(r e g i o n s=(m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'],),s i z e=1)定义网格划分全局单元大小.m d b.m o d e l s['M o d e l A'].r o o t A s s e m b l y.g e n e r a t e M e s h(r e g i o n s=(m d b.m o d e l s['M o d e lA'].r o o t A s s e m b l y.i n s t a n c e s['B o d e n-1'],m d b.m o d e l s['M o d e lA'].r o o t A s s e m b l y.i n s t a n c e s['f u n-1']))按照定义划分单元第八节,任务提交及杂项功能m d b.m o d e l s.c h a n g e K e y(f r o m N a m e='M o d e l A',t o N a m e='F a l l-M u s t e r')修改模型名称m d b.M o d e l(n a m e='F a l l-015',o b j e c t T o C o p y=m d b.m o d e l s['F a l l-M u s t e r'])拷贝模型m d b.m o d e l s['F a l l-015'].m a t e r i a l s['B o d e n'].e l a s t i c.s e t V a l u e s(t a b l e=((210546.3,0.15),))修改模型中的材料属性m d b.J o b(c o n t a c t P r i n t=O F F,d e s c r i p t i o n='',e c h o P r i n t=O F F,e x p l i c i t P r e c i s i o n=S I N G L E,h i s t o r y P r i n t=O F F,m o d e l='F a l l-015',m o d e l P r i n t=O F F,m u l t i p r o c e s s i n g M o d e=T H R E A D S,n a m e='J o b-015',n o d a l O u t p u t P r e c i s i o n=S I N G L E, n u m C p u s=1,n u m D o m a i n s=1,p a r a l l e l i z a t i o n M e t h o d E x p l i c i t=L O O P,p a r a l l e l i z a t i o n M e t h o d S t a n d a r d=T R E E,p r e M e m o r y=1024.0,s c r a t c h='',s t a n d a r d M e m o r y=2048.0,s t a n d a r d M e m o r y P o l i c y=M O D E R A T E,t y p e=A N A L Y S I S, u s e r S u b r o u t i n e='')生成任务m d b.s a v e A s(p a t h N a m e='D:/t e m p/F u n d a m e n t S c h w i n g u n g S t u d i e')保存模型m d b.j o b s['J o b-015'].s u b m i t()提交任务关于如何在p y t h o n中提交多个任务的问题:如果您使用下面这样的命令做的提交m d b.j o b s['J o b-01'].s u b m i t()m d b.j o b s['J o b-02'].s u b m i t()m d b.j o b s['J o b-03'].s u b m i t()你就会看到,所有的任务是一次性提交的,多个任务在一起运行,这肯定丌是你想看到的结果,如何完成一个接着一个的提交呢,其实很简单,在每个任务后面加上一句m d b.j o b s['J o b-01'].w a i t F o r C o m p l e t i o n()就可以了.那么上面的语句就改为m d b.j o b s['J o b-01'].s u b m i t()m d b.j o b s['J o b-01'].w a i t F o r C o m p l e t i o n()m d b.j o b s['J o b-02'].s u b m i t()m d b.j o b s['J o b-02'].w a i t F o r C o m p l e t i o n()m d b.j o b s['J o b-03'].s u b m i t()m d b.j o b s['J o b-03'].w a i t F o r C o m p l e t i o n()......就一切O K了。