abaqus常见错误汇编

abaqus常见错误汇编
abaqus常见错误汇编

abaqus的隐式求解的就是求算出一个很大的刚度矩阵的解,这个方程能否通过一次一次的迭代到最后达到一个系统默认的收敛准则标准的范围之内,就决定了这一次计算能否收敛。因此要收敛的话,系统与上一个分析步的边界条件区别越小的话,系统就越容易找到收敛解。针对这一点,我们可以得到下面的几种方法来尽可能的使系统的方程的解尽可能的接近上一步,以达到收敛。下面的方法的指导思想是:尽可能小的模型,前后两个分析步的改变尽可能的少。

1. 接触分析真正加载之前,设置一个接触步让两个面接触上来,在这个步骤里面,接触面的过盈小一点好,比如0.001.接下去再把作用与两个接触体的力及接触方向的自由度放开。

2. 如果系统的载荷很多的话,将系统的载荷分做多步进行加载,一次性全上可能使系统无法在规定的迭代次数内收敛。所以根据需要分开,让abaqus的内核慢慢消化去。少吃多餐在这边好像也是成立的。

3. 系统有多个接触的话,也最好如载荷一样,分成几个step让他们接触上。这样的做法会让你以后在模型的修改中更有方向性。

4. 模型还是不收敛的话,你可以看一下是在哪一步或者那个inc不收敛。对于第一步直接不收敛的话,如果模型是像我上面把载荷和接触分成很多步建立的话,可以把载荷加载的顺序换一下。如果你把第二个加载的载荷换到第一步以后,计算收敛了,那影响收敛的主要问题应该就是原来第一个加载或着接触影响的。这种情况下面一般算到这个加载的时候还是不会收敛。这个时候可以考虑是否有什么其他办法能够使步骤的变化与上一步变动小一点,比如第一点里面提到,或者继续把这个载荷细分呢?

5. 对于接触分析不收敛的情况,可以自己看一下模型的接触面。有时候是overclosure,这个时候在assemble里面将模型相对位置稍微移动下或者用接触里面的那个adjust only to remove overclose,不过或一种方法会使你的网格扭曲变形。问题不大也是可以用的。有的时候是因为,模型中的两个接触面变成了一个点和一个面接触,而点或者面中有一个位置并不是很稳定。这个时候就会出现了dividing,有时候求解无法成功。这时候可以看一下是不是能够将模型该

处稍微改一下呢?或者将该处的网格细化一下。

6. 模型实在是比较大的话,可以修改solver的设定,将迭代次数改大一点。对于开始计算就不收敛的,而在迭代次数到了以后时间增量还不是很小的话,可以将initial和minimum改小一点。模型越大的话这边可以改的越小,特别是前后两个step变化比较大的情况下。但对于模型不是很大的情况下,太小的时间增量是意义不大的,问题应该从模型当中是否有错误去考虑。

7. 模型太大的话会导致求解的方程太大,不需要的不重要的接触最好从模型当中去除。这样的话对结果影响也不会很大,而且可以是计算时间大大的减少。

8. 对于收敛准则的修改还是很不推荐的,应作为下下策使用。

补上一些这里面关系到的一些abaqus出错信息,方便那些正在如自己当初郁闷中的人更好的找到这篇文章。大家如果有什么不太清楚的也可以留言,有时间探讨一下。

***NOTE: THE SOLUTION APPEARS TO BE DIVERGING. CONVERGENCE IS JUDGED UNLIKELY.

求解出现分歧,一般是状态不稳定,如你的某一个物体的自由度忘了约束或着分析到了一种极限状态之类的,解决方案见上。

***ERROR: TIME INCREMENT REQUIRED IS LESS THAN THE MINIMUM SPECIFIED 步长比最小步长小,方案见上。

***NOTE: SEVERE CONTACT OVERCLOSURES EXIST. CONVERGENCE IS JUDGED UNLIKELY.

接触出现问题,用visulazation的tool的job diagnostics查看,针对那个接触进行修改。把距离稍微改大一点点,应该是很有帮助的。如果是计算中出现问题的话,应该是你前后两个step设置的有问题。

二、

1、首先要判断你的问题是否是大变形问题,如果是,而你的Nlgeom选项又没有打开,那么你将为此付出沉重的代价。

2、载荷的施加要分多步进行,初始载荷要很小,可以尝试万分之一的量级。

3、接触建立起来之前,你可能需要增加很多额外的约束,总体的原则是要让接触的区域在初始载荷作用下平稳,不能产生刚体位移(注意:刚体位移远远不仅仅是指整个零件的大幅度移动,范围要宽的多,甚至是节点的稍微大一点点的位移都是)。

4、额外约束的去除可能会给你的模型带来较大的约束变动,这使得收敛变得困难,你可以尝试分多步去掉额外约束,绝不要吝惜子步的数量。子步的初始增量步要小,调试阶段你也许可以尝试0.0001,调试后发现收敛容易再放大不迟。

5 、有时会发生这样的事情:当你去掉某个额外约束后发现,初始载荷的作用没有到达远离初始载荷位置的接触的地方,这可能使得那个约束并没有建立起来,所以你也许可以尝试在这个状态下再增加初始载荷的大小,让他的作用传播到更远一些的接触的地方。

6、如果你的初始载荷是力,那么它对于接触的建立可能是一些不利因素,当你尝试过很多次之后若还不收敛,你也许可以把它换成位移,小位移,比如过压0.001mm,当然你需要防止刚体位移,比如增加一个反向的力。

7、往往我们非常关注整个固定零件系统的约束,却忽略了运动部件的约束,你是否忽略了这个问题呢?

8、你若判断能用tie连接的地方,就不要选择接触;能用small sliding 的地方就不要用finite sliding;在没有什么办法的时候,你还可以定义一下torlerance of adjustment zone,0.02mm是你的一个选择;或者尝试一下surface to surface 与nodes to surface的区别,这个选项我还没有形成什么经验。

9、Interaction --- contact control 下面可以定义一个接触控制,如果选择了stabilization将会有助于收敛,不过建议这个选择在确实没有办法时候使用,他的理论太复杂了,超出了我的理解能力,请高手解释一下吧。

10、据说版本的不同,会导致收敛的不同,随着abaqus的发展,可能会有这种变化吧。

Abaqus错误与警告信息汇总

模型不能算或不收敛,都需要去monitor,msg文件查看原因,如何分析这些信息呢?这个需要具体问题具体分析,但是也存在一些共性。这里只是尝试做一个一般性的大概的总结。如果你看见此贴就认为你的warning以为迎刃而解了,那恐怕令你失望了。不收敛的问题千奇万状,往往需要头疼医脚。接触、单元类型、边界条件、网格质量以及它们的组合能产生许多千奇百怪的警告信息。企图凭一个警告信息就知道问题所在,那就只有神仙有这个本事了。一个warning出现十次能有一回参考这个汇总而得到解决了,我们就颇为欣慰了。

类似于:

Fixed time is too large

Too many attamps have been made

THE SOLUTION APPEARS TO BE DIVERGING.

CONVERGENCE ISJUDGED UNLIKELY.

Time increment required is less than the minimum specified

这样的信息几乎是无用信息(除了告诉你的模型分析失败以外,没有告诉你任何有用的东西)。宜再查找别的信息来考察。根据经验,改小增量步也不一定能收敛,虽然也有人报告过改好的先例,我是从来没有遇到过,也从来没有那个奢望。所以我一般从模型的设置入手。必须说明的是:Error和warning的性质是完全不同的。Error意味着运算失败,but出现warning可能还能算,而且有些运算必定会出现warning(比如接触分析必定出“负特征值”,下有详述)。很多警告只是通知性质的,或者只是说明一下而已,不一定都是模型有问题。比如以下warning完全可以忽略:

xxxxx will (not) printed,这种只是通知你一声,某些玩意儿不输出了。还有:

The parameter frequency cannot be used with the parameter field. It will be ignored(都说某某被ignored了).

A系列

如果模型能算,且结果合理,那么大部分警告信息可以不管。但是以下除外:

1 numerical sigularity(数值奇异):刚体位移(欠约束)

solver problem. numerical sigularity when processing node105 instance

pile D.O.F. 1 ratio=1.735e13

2 Zero pivot(零主元):过约束或者欠约束。

这2个问题一般都意味着模型约束存在问题。1)、2)都会伴随着产生大量负特征值。解决方案当然第一步是检查约束了。

B系列

有一些直接导致计算aborted,那就得仔细分析了,比如:

1 xxxxx is not a valid in ABAQUS/Standard(告诉你这种计算standard不支持了,换别的)

2 missing property

在perperty步检查材料属性是不是都加上了。如果有梁单元,看看梁法向定义对了没有。 3 Detected lock file Job-1.lck. Please confirm that no other applications are attempting to write to the output database associated with

this job before removing the lock file and resubmitting.

删除.lck文件就可以了,它是一个自动生成的文件。你也可以另存为(另取名),再运算。

4 The rigid part xx is missing a refernce point

刚体(or刚体约束)都必须通过stools--reference point给它定义一个参考点(RP),载荷都加在这个RP上。

5 The area of 54 elements is zero, small, or negative. Check coordinates or node numbering, or modify the mesh seed.

The elements 8 have been identified in element set ErrElemAreaSmallNegZero

这个一般是节点编号不对的问题。必须是逆时针方向。

7 HM to ABA的问题:集合和面的几何的名称最好不要用特殊符号和数值(特别是从hm转过来),全部用英文字母是最安全的。

8 令很多人抓狂的error code 5

1)使用了子程序, 子程序有问题, (例如数组定义跟实际赋值不一致,这个我也遇到过)

2 )模型有问题, 通常模型很大,很复杂(这个我没遇到过)

Please make sure that the mesh density of the slave surface in the tie

pair( mbly__pickedset37_cns_,assembly__pickedsurf36) is finer than the master surface.

The analysis may run slower, may yield inaccurate results, and may require more memory if this is not the case

3 )硬盘没空间了(这个其实不会引起error code 5,但是出错是肯定的了), 或者是内存太小.或者产生的文件太大.

4 )关闭杀毒软件试试(特别是卡巴)

5)有人认为边界条件不正确,也会引起这个错误.

9 system error code 29539

关闭杀毒软件and try。

10 **ERROR: Issue cannot be deleted Not all data Released

在windows中,单击“控制面板”--“系统”--“高级”--

“性能设置”--“数据执行保护”命令,

把pre.exe和standard.exe添加进去。重起动后尝试

11 Surfaces associated with analytical rigid part MANDREL may have their orientation flipped

刚体相连的接触面方向定义反了,在接触定义的地方edit--flip

12 CONTACT PAIR (ASSEMBLY_BLANKBOT,ASSEMBLY_TIE-1_DIEDURF) NODE BLANK-1.5 IS OVERCLOSED

BY 0.0512228 WHICH IS TOO SEVERE

这往往是因为接触面的法线方向定义反了。定义刚体和shell的surface时,要注意选择外侧

13 123456 elements are distorted。Excessive distortion of element number 5 of instance PART-1-1

如果有子程序,一般不是材料设置有问题,就是边界条件的问题

14 XML parsing failure for job 1. Shutting down socket and terminating all further messages. Please check

the .log, .dat, .sta, or .msg files for information about the status of the job.

https://www.360docs.net/doc/6c16598585.html,/viewthrea ... 26amp;typeid=68

15 The number of history output requests in this ABAQUS analysis (>5000)

may cause SIGNIFICANT performance problems during analysis and postprocessing 输出项太多,恐硬件资源不够。要是你确保硬件够,这条也不怕了。一般的,应该减少History中的输出项,尽量输出你最感兴趣的内容。

16 Value for parameter nset will be truncated to 80 characters

nset名字取太长了,80字符限制

17 compilation - ifort.exe 问题

Problem during compilation - ifort.exe not found in PATH.

安装的时候没有装好或是二次开发版本冲突。检查环境变量的设置;然后 verify 一下,看看是子程序功能否能通过?

C系列

如上所说,有很多warning并一定意味着你的模型存在问题。常被问起的有:

1 负特征值问题

THE SYSTEM MATRIX HAS 8 NEGATIVE EIGENVALUES.

负特征值是非线性分析的必然产物。所以不必大惊小怪,甚至久而久之,对于你熟悉的问题,你都会视而不见了。若出了问题,可先检查下有没有伴随的

numerical sigularity(数值奇异)和 Zero pivot(零主元)产生。如果没有,可以参考这几个方面:

1).刚体位移

2).单元异常,过度变形、过度扭曲等

3).应力应变关系有负斜率

4)如果有流体的话,在容器发生形变的话,也可能出现negative eigenvalue 的情况,不过不会出现警告,这是被允许的

5)失稳发生

2 The ratio of deformation speed to wave speed exceeds 1.0000

这个警告是指单元形变速度V(单元最大形变率/特征尺寸)和膨胀波速C

(通过材料本构关系求得)的比例超过1。

解决这个问题的方案有以下几种:

(1)检查单位是否封闭(参数设置有数量级的错误),此错误新手常犯;

(2) 检查网格质量;

(3) 检查加载速度,如果条件允许的话就降低速度,该方法也很有效,但在很多

情况下无法降低速度;

(4) 调整STEP中的TIME SCALING FACTOR;调整STEP中的

MASS SCALING FACTOR;

(5) 加*SECTION CONTROLS,NAME=SC,DISTORTION CONTROL, LENGTH RATION=0.1

或者YES也可以,加在MATERIAL 前面;或加* DIAGNOSTICS, DEFORMATION SPEED CHECK=OFF;

或者加*DIAGNOSTICS, CUTOFF RATIO=RATIO(具体数值),在其他方法修改后还有问题的的情况下使用增加

关键字的方法见https://www.360docs.net/doc/6c16598585.html,/thread-862510-1-1.html(17楼)

3 zero force/ZERO MOMENT问题

THERE IS ZERO MOMENT EVERYWHERE IN THE MODEL BASED ON THE DEFAULT CRITERION. PLEASE CHECK THE VALUE OF THE AVERAGE MOMENT DURING THE CURRENT ITERATION TO VERIFY THAT THE MOMENT IS SMALL ENOUGH TO BE TREATED AS ZERO. IF NOT, PLEASE USE THE SOLUTION CONTROLS TO RESET THE CRITERION FOR ZERO MOMENT.

这个警告是告诉你模型中没有弯矩,没问题的,可以继续计算。

如果提示中出现特征值奇异的时候才是计算有可能出现不收敛的问题。

4 Degree of freedom 4 is not active in this model and can not be restrained

有限元软件计算对于实体步考虑转动自由度,所以你在边界条件中限制了456

的自由度后,软件会忽略的啊.

5 The option *boundary,type=displacement has been used; check status file between steps for warnings on any jumps

prescribed across the steps in displacement values of translational dof. For rotational dof make sure that there are

no such jumps.All jumps in displacements across steps are ignored.

你采用了位移边界条件,但在平动自由度上,可能在不同的分析步骤里面有突变(你可以从sta文件里面查看),

并且应保证转动自由度无突变。通知性质的warning,一般是因为你采用位移加载方式,都出这个。

6 The strain increment has exceeded fifty times the strain to cause first yield at 37

7 points 检查下约束够不够,约束够了就不用管了,这只是通知你,你的模型塑性应变很大,一般没多大问题。

7 123 nodes are used more than once as a slave node in *TIE keyword.One of the *TIE constraints at each of these

nodes have been identified in node set WarNodeOverconTieSlave

定义接触的时候,公共节点重复定义了好几次,这样可能会出现过约束问题(只是可能影响)..

8 There are 2 unconnected regions in the model.

可能是接触面由空隙,最好在接触属性中定义一个容差范围。一般各个parts

之间定义接触,aba都会这样通知用户的,只要接触设置对了,一般没事。

9 Boundary conditions are specified on inactive dof of 124 nodes.

The nodes have been identified in node set WarnNodeBCIactiveDof

边界条件定义的有问题:在124个节点的非自由度上有边界加载

10 The plasticity/creep/connector friction algorithm did not converg 一般是塑性应变太大,单元扭曲导致的。可以先改为弹性模型看看是否收敛;

11 The ratio of the maximum incremental adjustment to the average characteristic

length is 1.82846e-02 at node 10868 instance jiti1 on the surface pair (assembly_jq22,assembly_q22).

可以通过调大预设值消除该提示and检查网格质量。

12 ELEMENT 42 INSTANCE SOIL3-1 IS DISTORTING SO MUCH THAT IT TURNS 应改进单元质量

13 650 nodes are either missing intersection with their respective master surface or outside the adjust zone.

改改tie里的tolarance试试

14 Dependent part instances cannot be edited or assigned mesh attributes

模型树--assembly-打击part 右键--make independent。也可以到模型树part步展开点mesh。

15 The aspet ratio for nnn elements exceeds 100 to 1.

单元划分网格长宽比不合适。如果这些单元在不重要的区域(对结果肯定有些影响,影响大小取决于这三个单元的位置,在模型中的作用等),而且能计算,那就没问题了

16 123 elements are distorted

存在单元扭曲,如果这些单元在不重要的区域(对结果肯定有些影响,

影响大小取决于这三个单元的位置,在模型中的作用等),而且能计算,那就没问题了(同15)

17 ***WARNING: DEGREE OF FREEDOM 1 IS NOT ACTIVE ON NODE 6 - THIS BOUNDARY

CONDITION IS IGNORED

约束了单元没有得自由度对求解没有影响,可以查看下

18 热分析时出现了这样的警告“THERE IS ZERO HEAT FLUX EVERYWHERE

There is zero HEAT FLUX everywhere in the model based on the default criterion. please check the value of the

average HEAT FLUX during the current iteration to verify that the HEAT FLUX is small enough to be treated as zero.

if not, please use the solution controls to reset the criterion for zero HEAT FLUX. 试试:

(1)是不是热源定义的问题,错误信息是说热源量几乎为零。

(2)定义热源的子程序调用命令流应该为*HEAT GENERATION,在材料模块中定义,子程序为HETVAL。

19 The elements in the element set WarnElemSurfaceIntersect-Step1 are involved surface intersections. Refer to the status and message file for further details

检查一下你单元集合的定义以及面的定义,看是否出现了相交或重复定义的情况

20 Boundary conditions are specified on inactive dof of 36 nodes. The nodes have been identified in node set

WarnNodeBCInactiveDof.

21 Integration and section point output variables will not be output for deformable elements that are declared as rigid using the

*rigid body option

这个仅是通知性质的(在interaction步设置为rigid body,不输出应力应变),你在interaction步定义了刚体约束的话,都会出这个警告。

22 For a self contact surface, the facets of the elements in element set WarnElemFacetThickPt63d-Step1 are thicker than 0.6 times

an edge or diagonal length

of the facets. Use the MAXRATIO parameter on *SURFACE DEFINITION to allow automatic rescaling of the contact

thicknesses where necessary for this surface.

Refer to the status file for further details.

23 NO VALID RADIATION OUTPUT REQUESTS HAVE BEEN GENERATED. THIS MAY BE DUE TO EARLIER INPUT ERRORS OR SPECIFICATION

OF A NONEXISTANT CAVITY OR SURFACE NAME

检查一下你的output設定裡是不是有些set或surface沒有設定到

24 123 nodes may have incorrect normal definitions. The nodes have been identified in node set WarnNodeIncorrectNormal。

先用看看WarnNodeIncorrectNormal在哪儿。这个不一定是致命的警告,有时候可以忽略。如果模型不收敛,可以检查下是否有过约束,

在接触上存在边界条件or加载。

ERROR:Too many attamps have been made

Too many attamps have been made....

THE SOLUTION APPEARS TO BE DIVERGING.

CONVERGENCE ISJUDGED UNLIKELY.

TIME INCREMENT REQUIRED IS LESS THAN THE MINIMUM SPECIFIED Analysis Input File Processor exited with an error.

-----------------------------------------------------------------------------------------------------------

这样的信息几乎是无用信息(除了告诉你的模型分析失败以外,没有告诉你任何有用的东西)。宜再查找别的信息来考察。比如:

1 ) Numerical sigularity solver problem. numerical sigularity

when processing node105 instance 表示:数值奇异:刚体位移(欠约束)

2) Zero pivot 表示:过约束

这样的信息(当然不仅仅是这些),才是比较有价值的。

2 对于TIME INCREMENT REQUIRED IS LESS THAN THE MINIMUM SPECIFIED Too many attamps have been made

3 对于“网格扭曲”的警告: excessively distorted elements 前面有提到。

第一步:采用二楼底下的方法用display查看

“ ErrElemExcessDistortion-Step1 ”在模型的哪些部位,做到心中有数。

第二步:检查模型的网格质量: mesh步---verify----Analysis Check选取模型。这种情况,一开始计算即出现“distorted element”的信息。Besides:很多其他问题也会网格扭曲警告。比如,几何模型导入有误需要修补、单元类型选取错误、边界条件有误、材料属性错误、接触设置不合理、子程序错误等。

第三步:即使你的网格划分很好,如果变形过大,也会导致网格扭曲。然后修改网格划分,怒要出现红色,关键区域不要出现黄色。(当然最好是所有的网格都用structure划分,且都没有红色、黄色出现。网格质量就比较好。这种情况,警告信息往往是在计算到一定步骤之后才出现“distorted element”。这种情况建议采用ALE等方式,此不详述,搜索论坛“网格重划”“ALE”等技术。

专业ABAQUS有限元建模经验笔记

基于ABAQUS的有限元分析和应用 第一章绪论 1.有限元分析包括下列步骤: 2.为了将试验数据转换为输入文件,分析者必须清楚在程序中所应用的和由实验人员提供的材料数据的应力和应变的度量。 3.ABAQUS建模需注意以下内容: 4.对于许多包含过程仿真的大变形问题和破坏分析,选择合适的网格描述是非常重要的,需要认识网格畸变的影响,在选择网格时必须牢牢记住不同类型网格描述的优点。 第二章ABAQUS基础 1.一个分析模型至少要包含如下的信息:离散化的几何形体、单元截面属性、材料数据、载荷和边界条件、分析类型和输出要求。 ①离散化的几何形体:模型中所有的单元和节点的集合称为网格。 ②载荷和边界条件: 2.功能模块: (1)Assembly(装配):一个ABAQUS模型只能包含一个装配件。 (2)Interaction(相互作用):相互作用与分析步有关,这意味着用户必须规定相互作用是在哪些分析步中起作用。 (3)Load(载荷):载荷和边界条件与分析步有关,这意味着用户指定载荷和边界条件是在哪些分析步中起作用。 (4)Job(作业):多个模型和运算可以同时被提交并进行监控。 3.量纲系统 ABAQUS没有固定的量纲系统,所有的输入数据必须指定一致性的量纲系统,常用的一致性量纲系统如下:

4.建模要点 (1)创建部件:设定新部件的大致尺寸的原则必须是与最终模型的最大尺寸同一量级。(2)用户应当总是以一定的时间间隔保存模型数据(例如,在每次切换功能模块时)。(3)定义装配: 在模型视区左下角的三向坐标系标出了观察模型的方位。在视区中的第2个三向坐标系标出了坐标原点和整体坐标系的方向(X,Y和Z轴)。 (4)设置分析过程: (5)在模型上施加边界条件和荷载: 用户必须指定载荷和边界条件是在哪个或哪些分析步中起作用。 所有指定在初始步中的力学边界条件必须赋值为零,该条件是在ABAQUS/CAE中自动强加的。 在许多情况下,需要的约束方向并不一定与整体坐标方向对齐,此时用户可定义一个局部坐标系以施加边界条件。 在ABAQUS中,术语载荷通常代表从初始状态开始引起结构响应发生变化的各种因素,包括:集中力、压力、非零边界条件、体力、温度(与材料热膨胀同时定义)。

汇编错误总结

1、test.asm(54):error A2000:Block nesting error、 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一 致。说明:此错误信息通常见于一个段定义起始段名和末尾段 名不一致。修改:检查段定义,使段名前后保持一致。修改: 检查段定义,使段名前后保持一致。 2、test.asm(5):error A2005:Symbol is multidefined:DATA 说明:符号重复定义了。说明:此错误信息提示DATA符号 重复定义了。修改:重新设置。修改:将其中一个符号DATA 重新设置。 3、test.asm(7):error A2009:Symbol not defined:B9H、 说明:行指令出错,查看该指令,说明:此错误信息为 test.asm中第7行指令出错,查看该指令,源操作数为十六 进制数B9H。按规定以字母开始的十六进制数,应在其。按规 定以字母开始的十六进制数,以便汇编程序区分常数和符号。 前面加上数字0以便汇编程序区分常数和符号。另一种出错的 可能原因是程序中使用的符号变量没有定义。能原因是程序中 使用的符号变量没有定义。修改:修改:以0B9H取代B9H; 使用伪指令定义变量。;使用伪指令定义变量。 4、test.asm(11):error A2009:Symbol not defined:NO、 说明:说明:test.asm中第11行指令JLE no-count,符号 中使用了中折线,中,符号中使用了中折线,折线在汇编中是 作为减号,因此,没有定义。折线在汇编中是作为减号,因此,汇编提示标号NO没有定义。注意,汇编语言规定符号中可以 使用下划线。注意,汇编语言规定符号中可以使用下划线。修 改:修改:将no-count改为no_count。。 5、test.asm(28):error A2010:Syntax error、

abaqus有限元分析过程

一、有限单元法的基本原理 有限单元法(The Finite Element Method)简称有限元(FEM),它是利用电子计算机进行的一种数值分析方法。它在工程技术领域中的应用十分广泛,几乎所有的弹塑性结构静力学和动力学问题都可用它求得满意的数值结果。 有限元方法的基本思路是:化整为零,积零为整。即应用有限元法求解任意连续体时,应把连续的求解区域分割成有限个单元,并在每个单元上指定有限个结点,假设一个简单的函数(称插值函数)近似地表示其位移分布规律,再利用弹塑性理论中的变分原理或其他方法,建立单元结点的力和位移之间的力学特性关系,得到一组以结点位移为未知量的代数方程组,从而求解结点的位移分量. 进而利用插值函数确定单元集合体上的场函数。由位移求出应变, 由应变求出应力 二、ABAQUS有限元分析过程 有限元分析过程可以分为以下几个阶段 1.建模阶段: 建模阶段是根据结构实际形状和实际工况条件建立有限元分析的计算模型――有限元模型,从而为有限元数值计算提供必要的输入数据。有限元建模的中心任务是结构离散,即划分网格。但是还是要处理许多与之相关的工作:如结构形式处理、集合模型建立、单元特性定义、单元质量检查、编号顺序以及模型边界条件的定义等。

2.计算阶段:计算阶段的任务是完成有限元方法有关的数值计算。 由于这一步运算量非常大,所以这部分工作由有限元分析软件控制并在计算机上自动完成 3.后处理阶段: 它的任务是对计算输出的结果惊醒必要的处理, 并按一定方式显示或打印出来,以便对结构性能的好坏或设计的合理性进行评估,并作为相应的改进或优化,这是惊醒结构有限元分析的目的所在。 下列的功能模块在ABAQUS/CAE操作整个过程中常常见到,这个表简明地描述了建立模型过程中要调用的每个功能模块。 “Part(部件) 用户在Part模块里生成单个部件,可以直接在ABAQUS/CAE环境下用图形工具生成部件的几何形状,也可以从其它的图形软件输入部件。 Property(特性) 截面(Section)的定义包括了部件特性或部件区域类信息,如区域的相关材料定义和横截面形状信息。在Property模块中,用户生成截面和材料定义,并把它们赋于(Assign)部件。 Assembly(装配件) 所生成的部件存在于自己的坐标系里,独立于模型中的其它部件。用户可使用Assembly模块生成部件的副本(instance),并且在整体坐标里把各部件的副本相互定位,从而生成一个装配件。 一个ABAQUS模型只包含一个装配件。

汇编语言程序设计教学大纲

《汇编语言程序设计》课程教学大纲 二、课程简介 汇编语言是计算机能够提供给用户使用的最快最有效的语言,也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言,因而,对程序的空间和时间要求很高的场合及需要直接控制硬件的应用场合,汇编语言的应用是必不可少三、课程目标 汇编语言课程是计算机专业的一门专业选修课。通过本课程的学习,应使学 生系统地了解计算机组成原理与内部的运行机理,掌握汇编语言程序设计及相关 知识,为学习本专业后继课程和进行与硬件有关的技术工作打下良好基础。通过 上机实验,使学生受到软硬件实验的初步训练,并培养学生分析问题和解决问题 的能力。 四、教学内容及要求 第一章基础知识 1.教学内容 (1) 为什么要用汇编语言编写程序 (2) 进位计数制与不同基数的数之间的转换 (3) 二进制数和十六进制数运算 (4) 计算机中数和字符的表示 (5) 几种基本的逻辑运算 2.基本要求 了解机器指令、代码指令、机器语言、汇编指令、汇编语言、汇编语言源程 序、汇编程序、汇编等概念;掌握进位计数制与不同基数的数之间的转换及

运算;计算机中数和字符的表示;“与”、“或”、“非”、“异或”等几种基本的逻辑运算; 第二章80X86计算机组织 1.教学内容 计算机系统概述、存储器、中央处理机和外部设备。 2.基本要求 理解计算机的硬件和软件系统及其关系。掌握计算机的基本结构及总线;存储器的内容、地址及存储器的分段;中央处理机的组成、80X86系列CPU工作寄存器构成和功能,特别是段寄存器和标志寄存器;外设接口、端口和8086/8088的端口地址范围和访问方法。 第三章80X86的指令系统 1.教学内容(重点内容) IBM PC机的寻址方式、IBM PC机的指令系统。 2.基本要求 熟练掌握IBM PC机寻址方式及物理地址的计算;数据传送、算术、逻辑、串处理、控制转移和处理机控制指令六组中的所有指令的格式、操作、及影响的标志位。了解机器语言的指令组成; 第四章汇编语言程序格式 1.教学内容 汇编程序功能、伪操作、汇编语言程序格式、汇编语言程序的上机过程。 2.基本要求 掌握DEBUG程序和命令及能用DEBUG 程序调试和运行简单小程序;汇编语言上机步骤、汇编程序的功能;数据定义及存储器分配、表达式赋值“EQU”和“=”、段定义、程序开始和结束、对准、基数控制等六类伪操作;汇编语言程序格式中的名字、操作、操作数和注释等项。 第五章循环与分支程序设计 1.教学内容 程序设计的一般步骤和基本结构、循环程序设计和分支程序设计 2.基本要求 掌握汇编语言程序的编制步骤和结构化程序设计的三种基本结构;循环的设计方法和多层循环的设计;分支程序的设计方法,并能编制相应的程序。第六章子程序结构 1.教学内容 子程序的设计方法、嵌套与递归子程序、子程序举例和DOS系统功能调用

高级语言、汇编语言及机器语言的区别

计算机语言具有高级语言和低级语言之分。而高级语言又主要是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。 低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,如目前流行的java,c,c++,C#,pascal,python,lisp,prolog,FoxPro,VC,易语言,中文版的C语言习语言等等,这些语言的语法、命令格式都不相同。 高级语言与计算机的硬件结构及指令系统无关,它有更强的表达能力,可方便地表示数据的运算和程序的控制结构,能更好的描述各种算法,而且容易学习掌握。但高级语言编译生成的程序代码一般比用汇编程序语言设计的程序代码要长,执行的速度也慢。所以汇编语言适合编写一些对速度和代码长度要求高的程序和直接控制硬件的程序。高级语言、汇编语言和机器语言都是用于编写计算机程序的语言。 高级语言程序“看不见”机器的硬件结构,不能用于编写直接访问机器硬件资源的系统软件或设备控制软件。为此,一些高级语言提供了与汇编语言之间的调用接口。用汇编语言编写的程序,可作为高级语言的一个外部过程或函数,利用堆栈来传递参数或参数的地址。 机器语言(machine language)是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指指令系统 它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。机器语言具有灵活、直接执行和速度快等特点。 一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。 用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。 汇编语言(AssemblyLanguage)是面向机器的程序设计语言。在汇编语合中,用助记符(Memoni)代替操作码,用地址符号(Symbol)或标号(Label)代替地址码。这样用符号代替机器语言的二进制码,就把机器语言变成了汇编语言。于是汇编语言亦称为符号语言。使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序,汇编程序是系统软件中语言处理系统软件。汇编程序把汇编语言翻译成机器语言的过程称为汇编.

abaqus 有限元分析(齿轮轴)

Abaqus分析报告 (齿轮轴) 名称:Abaqus齿轮轴 姓名: 班级: 学号: 指导教师:

一、简介 所分析齿轮轴来自一种齿轮泵,通过用abaqus软件对齿轮轴进行有限元分析和优化。齿轮轴装配结构图如图1,分析图1中较长的齿轮轴。 图1.齿轮轴装配结构图 二、模型建立与分析 通过part、property、Assembly、step、Load、Mesh、Job等步骤建立齿轮轴模型,并对其进行分析。 1.part 针对该齿轮轴,拟定使用可变型的3D实体单元,挤压成型方式。 2.材料属性 材料为钢材,弹性模量210Gpa,泊松比0.3。

3.截面属性 截面类型定义为solid,homogeneous。 4.组装 组装时选择dependent方式。 5.建立分析步 本例用通用分析中的静态通用分析(Static,General)。 6.施加边界条件与载荷 对于齿轮轴,因为采用静力学分析,考虑到前端盖、轴套约束,而且根据理论,对受力部分和轴径突变的部分进行重点分析。 边界条件:分别在三个轴径突变处采用固定约束,如图2。 载荷:在Abaqus中约束类型为pressure,载荷类型为均布载荷,分别施加到齿轮接触面和键槽面,根据实际平衡情况,两力所产生的绕轴线的力矩方向相反,大小按比例分配。 均布载荷比计算: 矩形键槽数据: 长度:8mm、宽度:5mm、高度:3mm、键槽所在轴半径:7mm 键槽压力面积:S1 = 8x3=24mm2 平均受力半径:R1=6.5mm 齿轮数据:= 齿轮分度圆半径:R2 =14.7mm、压力角:20°、 单个齿轮受力面积:S2 ≈72mm2 通过理论计算分析,S1xR1xP1=S2xR2xP2,其中,P1为键槽均布载荷

汇编语言出错信息说明

汇编程序出错信息说明 汇编程序出错信息 编 码 提示说明 0Block nesting error 嵌套过程、段、结构、宏指令、IRC、IRP或REPT不是正确结束,如嵌套的外层已终止,而内层还是打开状态。 1Extra characters on line 当一行上已接受了定义指令说明的足够信息,而又出现多余的字符。 2Register already defined汇编内部出现逻辑错误。 3Unknown symbol type 符号语句的类型字段中有些不能识别的东西。 4Redefinition of symbol在第二遍扫视时,连续地定义了一个符号。5Symbol is multi-defined重复定义一个符号。 6Phase error between passes 程序中有模棱两可的指令,以至于在汇编程序的两次扫视中,程序标号的位置在数值上改变了。 7Already had ELSE clause在ELSE从句中试图再定义ELSE语句。 8Not in conditional block 在没有提供条件汇编指令的情况下,指定了ENDIF或ELSE。 9Symbol not defined符号没有定义 10Syntax error语句的语法与任何可识别的语法不匹配11Type illegal in context指定的类型在长度上不可接收 12Should have been group name给出的组名不符合要求 13Must be declared in pass1得到的不是汇编程序所要求的常数值,例如:向前引用的长度 14Symbol type usage illegal PUBLIC符号的使用不合法 15Symbol already different kind 企图定义与以前定义不同的符号 16Symbol is reserved word企图非法使用一个汇编程序的保留字 17Forward reference is illegal向前引用必须是在第一遍扫视中定义过的 18Must be register 希望寄存器作为操作数,但用户提供的是符号而不是寄存器 19Wrong type of register 指定的寄存器类型并不是指令或伪操作所要求的,例如:ASSUME AX 20Must be segment or group希望给出段或组,而不是其它

支架的有限元分析ABAQUS

支架的线性静力学分析实例:建模和分析计算 在此实例中读者将学习ABAQUS/CAE的以下功能。 1) Sketch功能模块:导人CAD二维图形,绘制线段、圆弧和倒角,添加尺寸,修改平面图,输出平面图。 2) Part功能模块:通过拉伸来创建几何部件,通过切割和倒角未定义几何形状。 3) Property功能模块:定义材料和截面属性。 4) Mesh功能模块:布置种子,分割实体和面,选择单元形状、单元类型、网格划分 技术和算法,生成网格,检验网格质量,通过分割来定义承受载荷的面。 5) Assembly功能模块:创建非独立实体。 6) Step功能模块:创建分析步,设置时间增量步和场变量输出结果。 7) Interaction功能模块:定义分布榈合约束(distributing coupling constraint)。 8) Load功能模块:定义幅值,在不同的分析步中分别施加面载荷和随时间变化的集中力,定义边界条件。 9) Job功能模块:创建分析作业,设置分析作业的参数,提交和运行分析作业,监控运行状态。 10) Visualization功能模块:后处理的各种常用功能。 结构静力学分析(static analysis)是有限元法的基本应用领域,适用于求解惯性及阻尼对结构响应不显著的问题。主要用来分析由于稳态外载荷引起的位移,应力和应变等。本章的静力学分析实例按照ABAQUS工程分析的流程对支架进行线性静力学分析,通过实例基本掌握了分析的流程,同时了解接触的定义。 1.问题描述 所示的支架,一端牢固地焊接在一个大型结构上,支架的圆孔中穿过一个相对较软的杆件,圆孔和杆件用螺纹连接。材料的弹性模量E=2100000MPa,泊松比为0.3。

新版汇编语言程序设计习题答案(钱晓捷主编)电子教案

新版汇编语言程序设计习题答案(钱晓捷主 编)

新版汇编语言程序设计习题答案(钱晓捷主编) 第一章汇编语言基础知识 1.1、简述计算机系统的硬件组成及各部分作用 1.2、明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 1.3、什么是汇编语言源程序、汇编程序、目标程序? 1.4、汇编语言与高级语言相比有什么优缺点? 1.5、将下列十六进制数转换为二进制和十进制表示 (1)FFH (2)0H (3)5EH (4)EFH (5)2EH (6)10H (7)1FH (8)ABH 1.6、将下列十进制数转换为BCD码表示 (1)12 (2)24 (3)68 (4)127 (5)128 (6)255 (7)1234 (8)2458 1.7、将下列BCD码转换为十进制数 (1)10010001 (2)10001001 (3)00110110 (4)10010000 (5)00001000 (6)10010111 (7)10000001 (8)00000010 1.8、将下列十进制数分别用8位二进制数的原码、反码和补码表示 (1)0 (2)-127 (3)127 (4)-57 (5)126 (6)-126 (7)-128 (8)68 1.9、完成下列二进制数的运算 (1)1011+1001 (2)1011-1001 (3)1011×1001 (4)10111000÷1001 (5)1011 ∧~1011 (8)1011 ⊕ 1001 1001(6)1011 ∨1001(7) 1.10 数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符? 1.11、计算机中有一个“01100001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符? 1.12、简述Intel 80x86系列微处理器在指令集方面的发展。 1.13、什么是DOS和ROM-BIOS? 1.14、简述PC机最低1MB主存空间的使用情况。 1.15、罗列8086CPU的8个8位和16位通用寄存器,并说明各自的作用。 1.16、什么是标志,它有什么用途?状态标志和控制标志有什么区别?画出标志寄存器FLAGS,说明各个标志的位置和含义。

汇编语言上机操作

汇编语言上机操作 一、建立子文件夹 如:D:\hb\masm 二、复制相关文件 把masm.exe、link.exe、ml.exe三个文件复制到上述文件夹中。 三、进入DOS方式 开始/运行/cmd 当前提示符可能是: C:\documents and settings\administrator> 四、常用DOS操作命令 1、改变当前盘 输入d: 并回车,屏幕显示: D:\> 2、改变当前目录 1)进入下一级目录 D:\>cd hb 回车后,屏幕显示: D:\hb>cd masm 回车后,屏幕显示: E:\hb\masm> 问题:可以一次进入下面二级或多级目录吗? 2)返回上一级目录 D:\hb\masm>cd.. 回车后,屏幕显示: D:\hb\>cd.. 回车后,屏幕显示: D:\> 问题:可以直接返回根目录吗? D:\hb\masm>cd\ 回车后,屏幕显示: D:\> 3、显示当前目录容 D:\>dir /p 分页显示当前目录容 问题:如何显示d:\text中的容? D:\>dir d:\text↙ 4、DOS方式下如何运行程序? DOS方式下的可执行文件(即程序文件)扩展名为.exe或.,运行时只需要在系统提示符下输入文件主名即可。例如,有一个文件名为test.exe,存入在D:\hb\masm 中,运行时,可以这样做: D:\hb\masm>test↙ 五、汇编语言上机过程 1、编辑源程序 运行:edit 回车后,进入EDIT环境,输入完后存盘(file/save)并退出(file/exit)。

2、汇编 D:\hb\masm>masm add5.asm↙ 生成目标程序文件add5.obj。(如果有语法错误,会提示错误所在行号和错误类型)3、连接 D:\hb\masm>link add5↙ 生成可执行文件add5.exe。 六、DEBUG程序调用及汇编语言程序调试方法 调试程序DEBUG是DOS支持的又一种系统软件,主要用于汇编语言程序的调试。汇编和连接过程只能查出源程序的语法错误,不能查出功能上的错误和程序不完善的地方。DEBUG程序为用户提供多种命令,大致有:显示和修改寄存器和存贮单元的容;执行程序中任意一段或一条指令;汇编单条源语句和反汇编机器码指令;查找字符代码;端口的输入和输出;文件装入存和写入磁盘等。用户利用这些命令可以查出任何程序功能上的错误。下面说明DEBUG程序的启动方法和主要命令意义。 (一)DEBUG程序的启动 DEBUG程序有两种启动方法。DEBUG程序是在DOS盘上的一个独立的可执行程序(扩展名为.COM),所以,DEBUG程序的第一种启动方法就是把它看作和一般的可执行程序一样,只要打入DEBUG和回车键,就可以把它装入存。但是这样启动只把DEBUG 程序本身装入存并进入等待DEBUG命令状态,还没有把要调试的程序装入存。第二种启动DEBUG的程序的方法是一次相继装入DEBUG程序和要调试的程序。打入的命令格式如下: DEBUG[d:][path]filename[.ext][parml][parm2] 其中的Filename是要调试程序的文件名,可选项[d:][path]和[.ext]分别是要调试程序的所在盘符、路径和扩展名。可选项[parml]和[parm2]是DEBUG程序为要调试程序准备的参数(一般不用)。 例进入DEBUG程序并装入要调试程序。其操作如下: D:\hb\masm>DEBUG add5.exe (进入DEBUG,并装配add5.exe) 此时屏幕上出现一个短线,这表示可以使用DEBUG命令了。 如果启动DEBUG时没有指定要调试的文件名,则需要用N命令指定要调试的文件,再用L命令将其装入存。操作如下: D:\hb\masm>debug↙ - n add5.exe↙ - l↙ (二)DEBUG命令 在说明每个命令之前,先说明一些共同信息: ■DEBUG命令都是以一个英文字母开头,后面跟一个或多个参数。 ■命令字母和参数可用大写或小写或混合形式。 ■命令字母和参数中,相邻两个十六进制之间必须用逗号或空格分开.其它各部分之间有无空格或逗号都可以。 ■执行任何命令期间都可用Ctrl+Break键方法结束命令的执行。

汇编错误总结

1、test.asm(54): error A2000: Block nesting error 、 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一 致。说明:此错误信息通常见于一个段定义起始段名和末尾段 名不一致。修改:检查段定义,使段名前后保持一致。修改: 检查段定义,使段名前后保持一致。 2、test.asm(5): error A2005: Symbol is multidefined: DATA 说明:符号重复定义了。说明:此错误信息提示 DATA 符号重 复定义了。修改:重新设置。修改:将其中一个符号 DATA 重 新设置。 3、test.asm(7): error A2009: Symbol not defined: B9H 、 说明:行指令出错,查看该指令,说明:此错误信息为 test.asm 中第 7 行指令出错,查看该指令,源操作数为十六进制 数 B9H。按规定以字母开始的十六进制数,应在其。按规定以 字母开始的十六进制数,以便汇编程序区分常数和符号。前面 加上数字 0 以便汇编程序区分常数和符号。另一种出错的可能 原因是程序中使用的符号变量没有定义。能原因是程序中使用 的符号变量没有定义。修改:修改:以 0B9H 取代 B9H;使用 伪指令定义变量。;使用伪指令定义变量。 4、test.asm(11): error A2009: Symbol not defined: NO 、 说明:说明:test.asm 中第 11 行指令 JLE no-count,符号中使 用了中折线,中,符号中使用了中折线,折线在汇编中是作为 减号,因此,没有定义。折线在汇编中是作为减号,因此,汇 编提示标号 NO 没有定义。注意,汇编语言规定符号中可以使 用下划线。注意,汇编语言规定符号中可以使用下划线。修改:修改:将 no-count 改为 no_count。。 5、test.asm(28): error A2010: Syntax error 、

MASM汇编错误信息说明 ASM问题汇总

MASM汇编错误信息说明 test.asm(54):error A2000:Block nesting error 1.1.test.asm(54): 说明:此错误信息通常见于一个段定义起始段名和末尾段名不一致。 修改:检查段定义,使段名前后保持一致。 test.asm(5):error A2005:Symbol is multidefined:DATA 2.2.test.asm(5): 说明:此错误信息提示DATA符号重复定义了。 修改:将其中一个符号DATA重新设置。 test.asm(7):error A2009:Symbol not defined:B9H 3.3.test.asm(7): 说明:此错误信息为test.asm中第7行指令出错,查看该指令,源操作数为十六进制数B9H。按规定以字母开始的十六进制数,应在其前面加上数字0以便汇编程序区分常数和符号。另一种出错的可能原因是程序中使用的符号变量没有定义。 修改:以0B9H取代B9H;使用伪指令定义变量。 test.asm(11):error A2009:Symbol not defined:NO 4.4.test.asm(11): 说明:test.asm中第11行指令JLE no-count,符号中使用了中折线,中折线在汇编中是作减号,因此,汇编提示标号NO没有定义。注意,汇编语言规定符号中可以使用下划线。 修改:将no-count改为no_count。 test.asm(28):error A2010:Syntax error 5.5.test.asm(28): 说明:此错误信息提示源程序中第28行的指令语句的语法与任何可识别的语法不匹配,出错。 修改:按照汇编指令的规定格式重新编写。 6.6.test.asm(2): test.asm(2):error A2018:Operand must be register:DX 说明:指定的寄存器不是指令或伪指令所要求的。如:ASSUME DX:DATA 修改:查看汇编指令的规定格式。

大工19秋《汇编语言程序设计》大作业题目及要求

学习中心: 专业: 年级:年春/秋季 学号: 学生: 题目: 1.谈谈你对本课程学习过程中的心得体会与建议 2.《汇编语言程序设计》课程设计,从以下5个题目中任选其一作答。 《汇编语言程序设计》课程设计 注意:从以下5个题目中任选其一作答。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言 作业提交: 大作业上交时文件名写法为:[姓名奥鹏卡号学习中心](如:戴卫东浙江台州奥鹏学习中心[1]VIP) 以附件word文档形式上交离线作业(附件的大小限制在10M以内),选择已完成的作业(注意命名),点提交即可。如下图所示。

注意事项: 独立完成作业,不准抄袭其他人或者请人代做,如有雷同作业,成绩以零分计! 题目一:进制转换程序 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:比如可设计二进制转化十六进制的算法, 简单介绍该算法的基本思想,100字左右即可。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。 (4)主要函数代码:列出算法的具体代码。 (5)列出算法中使用指令的含义,比如解释MOV指令的 含义,ADD指令的含义,至少撰写十个指令。 总则:只能使用汇编语言进行编制,不能选用C/C++等高级语言! 题目二:冒泡排序算法 要求:(1)撰写一份word文档,里面包括(算法思路、算法程序框图、主要函数代码、使用指令具体含义)章节。 (2)算法思路:简单介绍冒泡排序算法的基本思想,至少 100字。 (3)算法程序框图:绘制流程图或原理图,从算法的开始 到结束的程序框图。

ABAQUS有限元接触分析的基本概念

ABAQUS有限元接触分析的基本概念2009-11-24 00:06:28 作者:jiangnanxue 来源:智造网—助力中国制造业创新—https://www.360docs.net/doc/6c16598585.html, CAE(计算机辅助工程)是一门复杂的工程科学,涉及仿真技术、软件、产品设计和力学等众多领域。世界上几大CAE公司各自以其独到的技术占领着相应的市场。ABAQUS有限元分析软件拥有世界上最大的非线性力学用户群,是国际上公认的最先进的大型通用非线性有限元分析软件之一。它广泛应用于机械制造、石油化工、航空航天、汽车交通、土木工程、国防军工、水利水电、生物医学、电子工程、能源、地矿、造船以及日用家电等工业和科学研究领域。ABAQUS在技术、品质和可靠性等方面具有卓越的声誉,可以对工程中各种复杂的线性和非线性问题进行分析计算。 《ABAQUS有限元分析常见问题解答》以问答的形式,详细介绍了使用ABAQUS建模分析过程中的各种常见问题,并以实例的形式教给读者如何分析问题、查找错误原因和尝试解决办法,帮助读者提高解决问题的能力。 《ABAQUS有限元分析常见问题解答》一书由机械工业出版社出版。 16.1.1 点对面离散与面对面离散 【常见问题16-1】 在ABAQUS/Standard分析中定义接触时,可以选择点对面离散方法(node-to-surface-dis - cre-tization)和面对面离散方法(surface-to-surface discretization),二者有何差别? 『解答』 在点对面离散方法中,从面(slave surface)上的每个节点与该节点在主面(master surface)上的投影点建立接触关系,每个接触条件都包含一个从面节点和它的投影点附近的一组主面节点。 使用点对面离散方法时,从面节点不会穿透(penetrate)主面,但是主面节点可以穿透从面。 面对面离散方法会为整个从面(而不是单个节点)建立接触条件,在接触分析过程中同时考虑主面和从面的形状变化。可能在某些节点上出现穿透现象,但是穿透的程度不会很严重。 在如图16-l和图16-2所示的实例中,比较了两种情况。

单片机汇编语言常见错误分析

单片机汇编语言常见错误分析 一、汇编软件汇编失败原因分析: 这里采用Keil C51 软件包中的宏汇编器A51 作为编绎器,单片机的汇编语言编写时要注意一定的语法,详细介绍可以参考相关参考书,语法错误会造成 汇编失败,常见的汇编错误如下:1. 标号重复:常见于复制、粘贴程序时忘 记修改标号,造成出现多个相同的标号,标号是不允许重复的。2.标点符号 以全角方式输入:汇编程序要求标点符号为半角方式,否则汇编失败。可以 在输入:,;时切换到半角方式,或者在大写状态输入标点符号,这也是很容易 犯而且不容易发觉的错误。3.数值#FFH 前遗漏0:根据要求应该在a~f 前加0,写成#0FFH4.字母O 和数字0 搞混:有时候这两个字看上去完全相同,要注意哦~~5.标号后边遗漏”:”6.标号使用了特殊字符:标号不能用指令 助记符、伪指令、特殊功能寄存器名和8051 在指令系统中用的“#”、“@”等,长 度以2~6 字符为宜,第一字母必须是英文字母。比如:T1、T2、A、B 这些字 符有特定的含义,不允许用于标号。7.AJMP 跳转超过2K 地址:AJMP 属于短跳转命令,有2K 地址范围的限制。8.超过地址范围:JB P3.2,EXIT 跳转超过-128~127 个地址范围。这个是最容易出现的错误!你有可能程序刚才还 能汇编编译成功,你加了一段程序后程序就提示出错了,你可以把JB P3.2,EXIT 转换成JNB P3.2,LD01AJMP EXITLD01: AJMP EXIT……9.字母I 和数字1 混淆:冒失鬼的常见问题。10.创造发明不存在的汇编语言指令:在编写程序程序的过程中可不欢迎这种创新,这种指令汇编程序不支持,芯片也不 认可。11.符号“:”“;”最好用半角书写。 二、程序出错: 1.寄存器重复调用:比如主程序中设定了R4=5,表示主程序循环执行5 次,

单片机编程时常见的十大问题解答

单片机编程时常见的十大问题解答 1.C 语言和汇编语言在单片机编程时各有哪些优缺点?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 C 语言是一种结构化的高级语言。其优点是可读性好,移植容易,是普遍使用的一种计算机语言。缺点是占用资源较多,执行效率没有汇编高。 对于目前普遍使用的RISC 架构的8bit MCU 来说,其内部ROM、RAM、STACK 等资源都有限,如果使用C 语言编写,一条C 语言指令编译后,会变成很多条机器码,很容易出现ROM 空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C 编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什幺动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在单片机开发中,我们还是建议采用汇编语言比较好。 2.C 或汇编语言可以用于单片机,C++能吗?答:在单片机编程中,主要是汇编和C,没有用C++的。 3.搞单片机编程,一定要会C 吗?答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言可能有所差异,所以不易移植。 对于目前普遍使用的RISC 架构的8bit MCU 来说,其内部ROM、RAM、STACK 等资源都有限,如果使用C 语言编写,一条C 语言指令编译后,会变成很多条机器码,很容易出现ROM 空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C 编译器。而汇编语言,一条指令就对应一个机器码,每一步执行什么动作都很清楚,并且程序大小和堆栈调用情况都容易控制,调试起来也比较方便。所以在资源较少单片机开发中,我们还是建议采用汇编语言比较好。 而C 语言是一种编译型程序设计语言,它兼顾了多种高级语言的特点,并具备汇编语言

2013年汇编语言程序设计课程设计

2013年汇编语言程序设计课程设计 一、作业题目 2013年汇编语言程序设计大型作业给出了3道题目,供大家凭自己的兴趣自由选择其中之一完成。这3道作业题目如下: 1.通用进制转换程序 2.两位数加减乘除程序 3.高精度乘法程序 二、交付的文档材料 1.程序系统说明书 内容包括: (1)程序系统总体的功能模块调用图及模块功能说明。 (2)程序系统的详细框图(每个子程序的流程图)。 (3)程序界面图。 (4)程序清单。 2.设计和实现的技术特点、不足和改进的建议 3.课程设计的体会。 4.程序源程序和可执行程序 三、评分说明 独立完成:60分,雷同或抄袭者不及格; 设计技术及技巧使用:25分; 文档质量:10分; 按时完成:5分。 可以自主扩充功能,有创新加分。 四、参考书 1.课本 2.《IBM-PC汇编语言程序设计》清华大学出版社 五、交付时间:第十八周的周五。

题目一通用进制转换程序 一、题目要求 实现不同进制之间的相互转换。(常用进制二、八、十、十六进制) 程序功能: 1.能通过键盘输入任一种进制,有相应的提示信息。 例如please input a Binary data: 2. 输入的数据要有容错检测。 例如:输入的二进制数据为1200,则应该出现错误信息提示。(因为2在二进制中是不允许的 3.输出的数据要有进制选择。 例如:请选择输出数据的进制(0: 二进制,1: 八进制……) 二、重点考察 1.用汇编实现简单的算法。 2.用汇编实现简单的数据结构。 3.可执行程序的参数使用。 4.INT 21H系统功能调用中有关显示与输出的操作 5.综合解决问题的能力。

汇编伪指令和编译出错说明

ASM-51 宏汇编使用手册 A51与ASM51基本相同 ASM-51 宏汇编主要用来开发Inter8051系列单片机,它具有宏处理,数据处理,列表处理和条件处理等多种功能。源程序的编写完全采用 Inter标准助记符和行格式。在编写程序过程中,可借助于文本编辑(Windows的记事本)或文字处理软件Word等编辑,经ASM-51汇编后生成列表输出文件(.LST)和目标代码文件(.HEX)。此目标代码文件(.HEX)可直接用CZS-51或MedWin、Keil、Debug8051进行模拟/调试,或直接用于硬件仿真器上运行。当然,这也是要烧写到单片机ROM中的代码。 1、宏汇编语言的基本语法 1、1 宏汇编的特点 ASM-51宏汇编完全支持Inter助记符的汇编语言,它含有宏语句,英文大小写字母,变量名,标号等不受限制,有二,十,十六进制和串参数类型,有汇编控制指令和多层条件语句,程序逻辑分段,还有模块化程序设计的连接功能,汇编速度快等特点。 1、2 汇编处理过程 (1) 用行编辑EDLIN或文字处理软件WS或全屏幕编辑软件PE等,编辑宏汇编 语言源程序,它的文件扩展名为。ASM。 (2) 用ASM-51宏汇编程序对上述源程序文件进行汇编,产生扩展名为.LST的列表输出文件和扩展名为.HEX的目标代码文件(.HEX)。列表输出文件包含源程序语句所汇编成的代码,以及有关的地址,语句和符号表等。目标代码文件包含源程序语句所汇编成的代码,不包含任何符号信息或助记符。进行模拟/调试,或直接用于硬件仿真器上运行。 1、3 语句 汇编语言可分为两类语句:指令性语句和指示性语句。 (1)指令性语句 这一类语句是指在汇编过程中能生成指令代码的语句(如 MOV ,DEC等)。其格式为: [标号:] [指令助记符] [操作数] [;注释] 其中方括号[ ]中为选择项。下同。 (2)指示性语句

Abaqus有限元分析中的沙漏效应

Abaqus有限元分析中的沙漏效应[转] 2011-09-21 17:34:27| 分类:有限元 | 标签: |字号大中小订阅 1. 沙漏的定义 沙漏hourglassing一般出现在采用缩减积分单元的情况下: 比如一阶四边形缩减积分单元,该单元有四个节点“o”,但只有一个积 分点“*”。而且该积分点位于单元中心位置,此时如果单元受弯或者受剪,则必然会发生变形,如下图a所示。 关于沙漏问题,建议看看abaqus的帮助文档,感觉讲的非常好,由浅入深,把深奥的东西讲的很容易理解。 沙漏的产生是一种数值问题,单元自身存在的一种数值问题,举个例子,对于单积分点线性单元,单元受力变形没有产生应变能--也叫0能量模式,在 这种情况下,单元没有刚度,所以不能抵抗变形,不合理,所以必须避免这种情况的出现,需要加以控制,既然没有刚度,就要施加虚拟的刚度以限制沙漏 模式的扩展---人为加的沙漏刚度就是这么来的。 关于沙漏现象的判别,也就是出现0能模式的方法最简单的是察看单元变 形情况,就像刚才所说的单点积分单元,如果单元变成交替出现的梯形形状, 如果多个这样的单元叠加起来,是不是象我们windows中的沙漏图标呢? ABAQUS中沙漏的控制: *SECTION CONTROLS:指定截面控制 警告:对于沙漏控制,使用大于默认值会产生额外的刚度响应,甚至当值 太大时有时导致不稳定。默认沙漏控制参数下出现沙漏问题表明网格太粗糙, 因此,更好的解决办法是细化网格而不是施加更大的沙漏控制。 该选项用来为减缩积分单元选择非默认的沙漏控制方法,和standard中的修正的四面体或三角形单元或缩放沙漏控制的默认系数;在explicit中,也 为8节点块体单元选择非默认的运动方程:为实体和壳选择二阶方程、为实体 单元激活扭曲控制、缩放线性和二次体积粘度、设置当单元破损时是否删除他们、或为上述完全破损的单元指定一标量退化参数。等 必需参数: NAME:名字 可选参数: DISTORTION CONTROL:只用于explicit分析。=YES激活约束防止负体积 单元出现或其他可压缩材料的过度变形,这对超弹材料是默认的。DISTORTION

相关文档
最新文档