⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 abaqus to matlab software.htm

📁 ABAQUS is a general purpose finite element analysis program which is widely used to analyses mechani
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0049)http://www.mech.gla.ac.uk/~annette/ch10/ch10.html -->
<HTML VERSION="2.0"><HEAD><TITLE>Abaqus to Matlab software</TITLE>
<META content="text/html; charset=gb2312" http-equiv=Content-Type>
<META content="MSHTML 5.00.2920.0" name=GENERATOR></HEAD>
<BODY bgColor=#ffffcc text=#000080><!-- WEBMAGIC VERSION NUMBER="2.0.1" --><!-- WEBMAGIC TRANSLATION NAME="ServerRoot" SRC="/var/www/htdocs/" DST="/" --><!-- WEBMAGIC TRANSLATION NAME="ProjectRoot" SRC="./" DST="" -->
<CENTER>
<P align=center><FONT size=7>ABAQUS TO MATLAB SOFTWARE</FONT></P></CENTER>
<P><FONT size=3><A href="http://www.hks.com/">ABAQUS</A> is a general purpose 
finite element analysis program which is widely used to analyses mechanical, 
structure and civil engineering problems. Abaqus has some special feature for 
analysing fracture mechanics problems, and therefore it is a main tools for the 
FE-analysis in the <A href="http://www.mech.gla.ac.uk/Fracture">Fracture Group 
at the Mechanical Engineering at Glasgow Universtity</A>. The software which can 
transfer data from Abaqus into a Matlab readable environment has been developed 
as a part of a research program in <A 
href="http://www.mech.gla.ac.uk/~annette/pub.html#Thesis">Constraint Estimation 
in Fracture Mechanics</A>. This research program was funded by a grant from the 
Defence Research Agency through Prof. J. Sumpter.</FONT></P>
<P><FONT size=3>The results of finite element analyses can be written to a *.FIL 
file in compressed ASCII format. The advantage of ASCII format is the ease with 
which data can be transferred between computer systems without having to 
translate the data. </FONT></P>
<P><FONT size=3>A range of computer programs has beenwritten to convert 
numerical results from the FIL file into a file which could be read by <A 
href="http://www.mathworks.com/">Matlab</A>. Matlab is a tool for numerical 
computation and visualisation. Using programs written within Matlab the results 
obtained from the finite element analysis could be processed into relevant 
fracture parameters which could not be obtained directly from ABAQUS. Another 
advantage of using Matlab is that the results could easily be displayed 
graphically. Post processing of the finite element analysis results have been 
divided into 3 steps. The programs have been included on a DOS format floppy 
disc at the back of this thesis. The Matlab programs were written and run on 
Matlab version 4.2a for UNIX workstations. </FONT></P>
<P><B><FONT size=3>Step 1</FONT></B><FONT size=3>: The program "abamat" is 
written using UNIX shell commands. It is a package using Make with a Makefile, 
and a lex program. The lex program removes the line breaks from the FIL file to 
create a continuous data stream readable by Matlab. The Makefile applies the lex 
program and makes the old FIL file into a new FIL file with a continuous data 
stream. </FONT></P>
<P><B><FONT size=3>Step 2</FONT></B><FONT size=3>: is the main program written 
and executed in a language implemented in Matlab. This main program is called 
"<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/ABAQUStoMatlab.html">ABAQUStoMatlab</A>". 
In this step the <A 
href="http://www.mech.gla.ac.uk/~annette/FE-links.html">FEA</A> results are read 
into Matlab and saved in a Matlab format. </FONT></P>
<P><B><FONT size=3>Step 3</FONT></B><FONT size=3>: is another Matlab program 
written and executed within Matlab. The programs use the result from the FEA now 
in a Matlab format, to calculate the relevant fracture mechanics parameters. 
This program is called </FONT><FONT size=4>"constraint". </FONT></P>
<HR>

<P></P>
<CENTER>
<H1 align=center>Program: "ABAQUS to Matlab"</H1></CENTER>
<P><FONT size=3>The main feature when transferring FEA data from ABAQUS to 
Matlab is the way the FIL file is built up. For further information see the <A 
href="http://www.mech.gla.ac.uk/~annette/ch10/ch10.html#abaqus_M">Abaqus 
Manual</A> v.5.3 section 7.1.1 </FONT></P>
<P><FONT size=3>The FIL file is built on the principle that all words are of the 
same length, whether they contain integers, floating point numbers, or character 
strings. The results are written as a sequence of records.</FONT></P>
<P><FONT size=3>This shows how each record is built up</FONT></P>
<P></P>
<CENTER>
<P align=center><FONT size=4><IMG height=136 
src="Abaqus to Matlab software.files/table1.xbm" width=456 
SGI_FULLPATH="/tmp_mnt/home/mech7/annette/web-docs/ch10/table1.xbm" 
SGI_SETHEIGHT SGI_SETWIDTH></FONT></P></CENTER>
<P><FONT size=3>At the beginning of each record is the number of items in the 
record. With a knowledge of the number of items in a record, the program can 
identify the end of a record and then stop reading this particular record. The 
second item in a record is a label, and the rest of the record is data - either 
node/element numbers or results (e.g. stress or strain). </FONT></P>
<P><FONT size=3>The record label identifies the type of data, for example when 
the program reads the label 1901, ABAQUStoMatlab recognises the label as a 
record containing nodal definitionWhen the label is recognised by the program 
the data are read into the Matlab file and can be used for calculations. The 
program recognises 18 different labels:</FONT></P>
<CENTER>
<P align=center><FONT size=3><IMG height=436 
src="Abaqus to Matlab software.files/table2.xbm" width=506 
SGI_FULLPATH="/tmp_mnt/home/mech7/annette/web-docs/ch10/table2.xbm" 
SGI_SETHEIGHT SGI_SETWIDTH>. </FONT></P></CENTER>
<P><FONT size=3>If the label is not recognised the program skips to the end of 
the record and reads the next record. The beginning of each record is indicated 
by a *, followed by the character D, A or I indicating the type of data. Each 
floating point number in a result file record begins with the character D, 
followed by the number in double precision. Each character string begins with 
the character A, followed by eight characters. Each integer begins with the 
character I, followed by a two digit integer giving the number of decimal digits 
in the integer, followed by the integer itself.</FONT></P>
<P><FONT size=3>This is an example of a record </FONT></P>
<P><FONT size=3><IMG height=301 src="Abaqus to Matlab software.files/exrec.xbm" 
width=611 SGI_FULLPATH="/tmp_mnt/home/mech7/annette/web-docs/ch10/exrec.xbm" 
SGI_SETHEIGHT SGI_SETWIDTH></FONT></P>
<P><FONT size=3>The program "ABAQUStoMatlab" is built up of a series of 
subroutines. </FONT></P>
<P><FONT size=3></FONT></P>
<UL>
  <LI><FONT size=3><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html#file_reader">file_reader</A><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html"> 
  </A></FONT>
  <UL>
    <LI><FONT size=3>From the file name, the type of geometry (SECT, SECB, CCP 
    or DEC) is known as well as the strain hardening rate, and the crack length. 
    For example a single edge cracked bar in tension, <B>n</B>=13 and a/W=0.4 
    would be called <I>SEC0413</I>. If the analysis is a modified boundary layer 
    formulation the file is named MBLF. </FONT></LI></UL>
  <LI><FONT size=3><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html#read_header">read_header</A> 
  </FONT>
  <UL>
    <LI><FONT size=3>Reads the number of items and the label. The label is a 
    number which identifies the type of record (stress, strain etc.) 
  </FONT></LI></UL>
  <LI><FONT size=3><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html#read_integer">read_integer</A> 
  </FONT>
  <UL>
    <LI><FONT size=3>Reads an integer from the input stream. </FONT></LI></UL>
  <LI><FONT size=3><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html#read_text">read_text</A> 
  </FONT>
  <UL>
    <LI><FONT size=3>Reads a text string from the input. </FONT></LI></UL>
  <LI><FONT size=3><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html#read_float">read_float</A> 
  </FONT>
  <UL>
    <LI><FONT size=3>Reads a floating number from the input. </FONT></LI></UL>
  <LI><FONT size=3><A 
  href="http://www.mech.gla.ac.uk/~annette/ch10/program/mainfun.html#skip_to_end">skip_to_end</A> 
  </FONT>
  <UL>
    <LI><FONT size=3>Skip to the end of the record. </FONT><PRE><FONT size=3>The variables obtained from the FEA analysis and read into Matlab are shown below</FONT>
<FONT size=3>index 1,2 and 3 correspond to directions 1,2 and 3.</FONT>
<FONT size=3></FONT>
</PRE></LI></UL></LI></UL>%************************************************************************** 
% 1 stress11 : First stress component % 2 stress22 : Second stress component % 3 
stress33 : Third stress component % 4 stress12 : Shear stress component % 5 miss 
: Mises stress % 6 tres : Tresca stress % 7 hydr : Hydrostatic pressure % 8 
princ1 : First principal stress % 9 princ2 : Second principal stress % 10 princ3 
: Third Principal stress % 11 inv3 : Third invariant % 12 strain11 : First total 
strain component % 13 strain22 : Second total strain component % 14 strain33 : 
Third total strain component % 15 strain12 : Fourth total strain component % 16 
pstrain11 : First plastic strain component % 17 pstrain22 : Second plastic 
strain component % 18 pstrain33 : Third plastic strain component % 19 pstrain12 
: Fourth plastic strain component % 20 pequst : Equvalent plastic strain % 21 
reac_set1 : First component of reaction force % 22 reac_set2 : Second component 
fo reaction force % 23 Tese : Total elastic strain energy % 24 Tew : Total 
external work % 25 Tpd : Total plastic dissipation % 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% <PRE></PRE>
<HR>

<CENTER>
<H1 align=center>Program: Constraint<A name=SECTION00122000000000000000> 
</A></H1></CENTER>
<P><FONT size=3>The<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/constraint.html"> 
constraint </A>program is a series of sub-programs each of which is used to 
determine different parameters. Within this program there are various routines 
for filtering nodes in the ligament, matching with the coordinates and 
calculating the radius from the coordinates. The more important functions will 
be described in detail. </FONT></P>
<P><FONT size=3>In fracture mechanics the stresses for different levels of 
deformation are often compared at a non dimensional distance from the crack tip, 
the most common distance at which the stress level are compared is 2 crack tip 
opening away from the crack tip. This is a dynamic distance moving away from the 
crack tip as the deformation level increases. . The program for calculating the 
stresses at a constant distance is called "<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/Snd_dis.m">Snd_dis</A>": 
(<B> S</B>tress <B>n</B>on <B>d</B>imensionalised with the yield stress for a 
specific <B>dis</B>tance ) and uses a linear interpolation method for 
calculating the stress at the required distance. </FONT></P>
<P><FONT size=3>The stress intensity factor K_I can be calculated from the 
applied load.</FONT></P>
<P><FONT size=3>The form functions, or the K calibration, depend on the mode of 
loading as well as the crack length; the form functions are given in <A 
href="http://www.mech.gla.ac.uk/~annette/ch10/ch10.html#TadParIrw73">Tada, Paris 
and Irwin (1973</A> </FONT></P>
<P><FONT size=3>The total value of the <B>J</B> integral was obtained directly 
from ABAQUS, <B>J</B> is then divided into two terms - a elastic part calculated 
from the stress intensity factor and a plastic part calculated as the difference 
between the total value of the J-integral and and an elastic part.. The program 
used to calculate <B>K</B> and<B> J</B> is called "<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/JK_calc.m">JK_calc</A>". 
</FONT></P>
<P><FONT size=3>The <B>T</B> stress is calculated in a program called "<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/T_stress.m">T_stress</A>". 
<B>T</B> is calculates from the applied load, the stress intensity factor form 
function (<B>K</B>-calibration) and the biaxiality parameter. <B>T</B> is 
defined through a bi-axiality parameter where the bi-axiality parameters are 
given by (<A href="http://www.mech.gla.ac.uk/~annette/ch10/ch10.html#Sham">Sham 
1991</A>).</FONT></P>
<P><B><FONT size=3>Q</FONT></B><FONT size=3> and were calculated from a program 
called "<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/Q_stress.m">Q_stress</A>". 
<B>Q</B> was calculated as the difference between the stresses at a distance 
from the crack tip and the small scale yielding field at the same distance. was 
determined from <B>T</B> and the boundary layer formulation. Another fracture 
parameter calculated in this function is the hoop stress at a constant distance 
non dimensionalised by the stress in the modified boundary layer formulation for 
the same distance from the crack tip. </FONT></P>
<P><FONT size=3>Results are often presented in terms of the applied load non 
dimensionalised by the limit load. Limit loads have been determined numerically 
from non hardening plane strain solutions for the single edge geometries and for 
the double edge cracked bars. For the centre cracked panels the limit loads were 
obtained analytically from expressions given by <A 
href="http://www.mech.gla.ac.uk/~annette/ch10/ch10.html#Miller">Miller 
(1987)</A>. The limit load for each geometry whether they are calculated 
analytically or obtained from numerical solutions are determined in a program 
named "<A 
href="http://www.mech.gla.ac.uk/~annette/ch10/program/limit_load.m">limit_load</A>". 
</FONT></P><FONT size=3>
<HR>
</FONT>
<H2><FONT size=3>Reference </FONT></H2>
<P><FONT size=3><A name=abaqus_M>Abaqus Manual </A>(1992), Hibbitt, Karlsson and 
Sorensen, Providence, Rhode Island, Abaqus version 5.3</FONT></P>
<P><FONT size=3><A name=Miller>Miller, A.G</A>. (1987) " Review of limit loads 
of structures containing defects", Nuclear Electric Report 
TPRD/B/0093/N82</FONT></P>
<P><FONT size=3><A name=TadParIrw73>Tada, H. Paris,P.C and Irwin, G.R</A> (1973) 
"The stress analysis of cracks handbook", The Research Corporation, Hellertown, 
Pennsylvania.</FONT></P>
<P><FONT size=3><A name=Sham>Sham</A>, T.L (1991) "The Determination of the 
Elastic T-term using Higher Orders Weight Funtions", International Journal of 
Fracture. Vol 48 page 81-102.</FONT></P>
<P><FONT size=3></FONT></P>
<ADDRESS><I><FONT size=3><A href="http://www.mech.gla.ac.uk/~annette">Annette 
Karstensen </FONT></I><FONT size=3></A><BR><I>Fri May 10 15:03:42 BST 1996</I> 
</FONT></ADDRESS></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -