📄 abaqus to matlab software.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 + -