UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College...
Transcript of UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College...
Document version 0.2.1 (02/03/13)
UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN
College of Engineering
CEE570/CSE551 — Finite Element Methods (in Solid and Structural Mechanics)
Spring Semester 2013
GETTING STARTED WITH LINUX-PATRAN-ABAQUS
Tomás Zegard
1. Intro to Linux If you are familiar with Linux, you can skip to the Patran-Abaqus section.
Linux belongs to a family of systems often called *NIX or Unix-
like. Some other notable members in this family include BSD,
Solaris, QNX (Blackberry), Mac OSX and iOS (yes! You can get a
shell on an iPhone too with some effort). Linux is the name of
the kernel (engine powering everything) of the operating
system, and together will all the additional software make what
is called a “distribution” (same applies to BSDs and others). EWS
currently uses the “Scientific Linux” distribution (other notable
ones include Ubuntu, Suse and Fedora).
The shell is the most powerful thing on a *NIX system. It allows
you to directly input commands, often more flexible and
powerful than anything you could do using the graphical user
interface.
The shell may be accessed on the graphical environment using a
variety of software. The common names are: xterm, Terminal,
Konsole and gnome-terminal. The EWS workstations have two
versions of it; Konsole and gnome-terminal, simply labeled
Terminal (see Figure ). You can practice on Mac OSX too being
careful not to break anything (see Figure ).
Figure A: Konsole and Terminal under the "System Tools" menu.
Figure B: Mac OSX Terminal (can found under Applications/Utilities/Terminal).
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
2
2. The *NIX Shell Make sure you have a terminal open before you begin. Note that the command prompt displays my username
“tzegard2” and the name of the machine I am logged on “linux7”. Finally a “~” indicates that I am in my home
folder.
First let’s see where exactly we are with the print working directory command pwd
[tzegard2@linux7 ~]$ pwd
/home/tzegard2
[tzegard2@linux7 ~]$
This means I am in my home directory located at: home→tzegard2
Let’s create a folder with the make directory command mkdir and access it with the change directory
command cd. Note that most Linux commands are abbreviated versions of their names.
[tzegard2@linux7 ~]$ mkdir MyFolder
[tzegard2@linux7 ~]$ cd myfolder
-bash: cd: myfolder: No such file or directory
[tzegard2@linux7 MyFolder]$
*NIX systems are case sensitive (unlike Windows): hello≠Hello≠HELLO≠HeLLo
Try again, but this time typing it correctly. We can then see the list of files within this directory with the list
command ls. Note: The [TAB] key is auto-completion, so we can save a lot of typing if we type “cd My” and hit
[TAB]. The auto-completion will suggest “cd MyFolder”. Use auto-completion often to make your life easier.
[tzegard2@linux7 ~]$ cd MyFolder
[tzegard2@linux7 MyFolder]$ ls
[tzegard2@linux7 MyFolder]$
The folder is empty as expected.
We can create empty files using the command touch. Note: In *NIX systems, a file or directory is hidden if the
name begins with a dot. To list hidden files we must add the option –a.
[tzegard2@linux7 MyFolder]$ touch file1.txt
[tzegard2@linux7 MyFolder]$ ls
file1.txt
[tzegard2@linux7 MyFolder]$ touch .file2.txt
[tzegard2@linux7 MyFolder]$ ls
file1.txt
[tzegard2@linux7 MyFolder]$ ls -a
. .. file1.txt .file2.txt
[tzegard2@linux7 MyFolder]$
There is a hidden “directory” named “..” which is the link back. In other words, accessing the “..” directory
results in going back one directory level.
Going back to our home directory, we will delete everything using the remove directory command rmdir.
[tzegard2@linux7 MyFolder]$ pwd
/home/tzegard2/MyFolder
[tzegard2@linux7 MyFolder]$ cd ..
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
3
[tzegard2@linux7 ~]$ pwd
/home/tzegard2
[tzegard2@linux7 ~]$ rmdir MyFolder/
rmdir: failed to remove `MyFolder/': Directory not empty
[tzegard2@linux7 ~]$
We need to empty the directory before deleting it. Files (and directories) can be deleted with the remove
command rm.
[tzegard2@linux7 ~]$ cd MyFolder/
[tzegard2@linux7 MyFolder]$ rm file1.txt .file2.txt
[tzegard2@linux7 MyFolder]$ cd ..
[tzegard2@linux7 ~]$ rmdir MyFolder/
[tzegard2@linux7 ~]$
Optionally, we could delete the directory and everything inside it by calling a recursive delete (the –r option).
[tzegard2@linux7 ~]$ mkdir MyFolder
[tzegard2@linux7 ~]$ cd MyFolder/
[tzegard2@linux7 MyFolder]$ touch file1.txt photo1.jpg doc1.pdf
[tzegard2@linux7 MyFolder]$ ls
doc1.pdf file1.txt photo1.jpg
[tzegard2@linux7 MyFolder]$ cd ..
[tzegard2@linux7 ~]$ rm -r MyFolder/
[tzegard2@linux7 ~]$
Note: There is no Recycle Bin or Trash. Once a file or folder is deleted, there is no way to recover it.
The commands to copy and move (or rename) are cp and mv respectively. To copy a directory with all its
contents, a recursive option must be supplied.
[tzegard2@linux7 ~]$ mkdir MyFolder1
[tzegard2@linux7 ~]$ cd MyFolder1/
[tzegard2@linux7 MyFolder1]$ touch data1.out photo1.jpg
[tzegard2@linux7 MyFolder1]$ ls
data1.out photo1.jpg
[tzegard2@linux7 MyFolder1]$ cp photo1.jpg photo2.jpg
[tzegard2@linux7 MyFolder1]$ ls
data1.out photo1.jpg photo2.jpg
[tzegard2@linux7 MyFolder1]$ mv data1.out info3.log
[tzegard2@linux7 MyFolder1]$ ls
info3.log photo1.jpg photo2.jpg
[tzegard2@linux7 MyFolder1]$ cd ..
[tzegard2@linux7 ~]$ cp MyFolder1 MyFolder2
cp: omitting directory `MyFolder1'
[tzegard2@linux7 ~]$ cp -r MyFolder1 MyFolder2
[tzegard2@linux7 ~]$ rm -r MyFolder1
[tzegard2@linux7 ~]$ rm -r MyFolder2
[tzegard2@linux7 ~]$
Just copying the folder did not work. The recursive flag -r was needed to copy the folder and its contents. Note:
Moving a file to another with a different name is the same as rename.
As a final note: Remember that the terminal is very powerful, but also has no “undo” functionality. Deleting,
moving, overwriting files will be permanent!
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
4
3. Preprocessing with Patran This section will guide you through an example, and explain the thought process behind the decisions made
highlighting some of the best practices.
3.1. Problem Statement and Preparation
We are required to analyze the problem in Figure 1 using FEM. Because the problem is symmetric, only half is
required (applying appropriate boundary conditions) as in Figure 2.
Figure 1: Domain and boundary conditions for the Problem.
Figure 2: Problem's half-domain (thanks to symmetry).
Properties (plane stress):
In order to mesh the domain, we must subdivide it into (ideally) quadrilateral sections. It is highly recommended
to sketch your idea before jumping into Patran; this will save you time and tears.
My plan for the division is sketched in Figure 3. Then the dimensions calculated and the coordinates obtained (as
depicted in Figure 4).
Figure 3: Domain sketch with partitions.
Figure 4: Domain sketch with coordinates and angles.
The aspect ratio of these domain subdivisions is very important. This because the corner elements will have the
same angle as the subdivision regardless of the meshing algorithm used (Figure 5). In other words: If the
subdivision has a good aspect ratio, the elements within it will also be good (hence the importance of sketching).
Finally, the extracted key points that will aid us in creating the Patran model and are summarized in Table 1.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
5
Figure 5: The element in the corner shares
angle with the subdivision.
Table 1: Key points to generate the problem's geometry.
X Y X Y X Y
0.0 0.0 0.0 0.2 0.0 0.5
1.0 0.0 1.0 0.2 1.0 0.5
1.75 0.0 1.75 0.3 2.1 0.8333
3.0 0.0 3.0 0.2 3.0 0.8333
1.0 1.5 2.0 1.5 2.3 1.5
3.0 1.5
3.2. Welcome to Patran
You can find Patran 2010.2.3 under the menu “EWS Software” similarly to the Terminal in Figure .
Patran has a Menu bar like most software. Directly below it are the sections or modules (Figure 6). In this guide
we will work our way through most of these sections.
On the top left, there are several buttons and the heartbeat (Figure 7). The heartbeat indicates if Patran is busy
or not: green is idle, blue is lightly loaded and red means Patran is under heavy load. Two buttons in that section
are of interest:
Refresh Graphics: When creating your model (especially when modifying or deleting things), things
might not display (or display even when they are supposed to be deleted). Patran “forgot” to
erase/draw them: Refresh graphics causes Patran to re-draw everything.
Undo: This is self-explanatory. Beware though that Patran is known for behaving unexpectedly when
attempting to use this functionality (especially true for older versions of Patran).
Figure 6: Menu bar and the software's sections or modules.
Figure 7: Top right information and quick access buttons.
3.3. Creating the Database
Create a new folder using the terminal to put all of our files. As expected, this folder is empty. Keep this
Terminal window open, we will be using it throughout the exercise.
[tzegard2@linux7 ~]$ mkdir Tutorial
[tzegard2@linux7 ~]$ cd Tutorial/
[tzegard2@linux7 Tutorial]$ ls
To create a new project, go to the File/New under the Menu bar. Enter the newly created “Tutorial” folder, and
write a name for the project under “New Database Name”. Click [OK].
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
6
The “New Model Preferences” window should popup (Figure 8). Important: Make sure the “Analysis Code” is
ABAQUS and the “Analysis Type” is Structural. Patran allows this to be changed afterwards, but often results in
some catastrophe (especially with older versions of Patran).
You should know see the viewport and the Picking Filter menu (Figure 9). Important: The Picking Filter menu
defines what you are able to select. Example: If the picking menu has “Edge” selected, no matter how hard we
try, we will never be able to select a point by clicking on it.
Figure 8: New Model Preferences
window.
Figure 9: Picking filter
menu example (content is dynamic).
Figure 10: Geometry menu ready
to create points.
Figure 11: Geometry menu for
creating segments between points.
3.4. Inserting Points
Click on the “Geometry” section (Figure 6), and the section’s menu will appear to the right of the viewport. By
default, the menu should be ready to create points:
Action: Create
Object: Point
Method: XYZ
Input the coordinates in the “Point Coordinates List” and click apply to create a point (Figure 10), adding a zero
for the Z coordinate. Repeat for all points in Table 1. If you make a mistake, you could change the “Action” from
Create to Delete and remove the mistake (you could also use the Undo button).
Adjust the viewport to see all the points by clicking on Viewing/Fit View on the Menu bar (optionally you could
use the rotations-translations-zoom buttons under the Menu bar and adjust the view manually).
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
7
The points are represented in the viewport by exactly one pixel. This makes them hard to see. Changing the
viewport’s background color to black often highlights them. Go to Viewport/Modify under the Menu bar and the
“Viewport Modify” menu will appear to the right of the viewport. Click on the color icon under “Attributes” to
select a new color and click [APPLY] to change the color. Click [CANCEL] to close the “Viewport Modify” window.
3.5. Creating the Curves (Segments)
Under the same “Geometry” menu, change the settings to:
Action: Create
Object: Curve
Method: Point
If the option “Auto Execute” is selected, then for every 2 points clicked the command will auto-execute (Figure
11). If not, manually hit [APPLY] after selecting two points. Create all the segments between points except for
those involving the round segment or mid-points of it. The model should now look like Figure 12.
Figure 12: Model after creating straight segments between points.
Figure 13: Model with all the segments created.
Figure 14: Curve breaking menu using "Parametric" split.
To create the curved segment, change the settings to:
Action: Create
Object: Curve
Method: 2D Arc2Point
Select the point at [ ] as the center point and [ ] and [ ] as the starting and ending points.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
8
The curve now needs to be split into three equal segments. To achieve this, change the settings to:
Action: Edit
Object: Curve
Method: Break
Change the “Option” to Parametric, and input a “Break Point” of 0.333 (use the arrow keys in the keyboard for
fine control), and click on the arch to split it (Figure 14). When asked, delete the original. Repeat the process
again using a “Break Point” of 0.5 on the larger segment. This leaves the arch divided into 3 equal pieces.
Change the menu settings back to:
Action: Create
Object: Curve
Method: Point
Add the missing segments to complete the model. The model should now look like Figure 13. Note: The
procedure presented here is one of many. You are encouraged to explore other ways to achieve the same result.
3.6. Creating the Surfaces
Change the menu settings to:
Action: Create
Object: Surface
Type: Edge
Note that in “Option” you could select 3 edge (instead of 4
edge), creating a triangular subdivision (Figure 15). This is
not recommended because triangular surfaces are hard to
mesh using quadrangular elements, and Patran is known to
have some issues with them (again, especially true for older
versions of Patran).
Select the four bounding edges of a section in order. This
will create a surface in that area. Hovering over the surface
shows the newly created surface by highlighting it (Figure
16). Repeat for all surfaces.
Figure 16: Model with a surface highlighted.
Figure 15: Geometry menu for creating surfaces using
"edges" (segments).
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
9
3.7. Defining the Boundary Conditions
Click on the “Loads/BCs” section (Figure 6) and the Load/Boundary Conditions menu will appear. Change the
menu settings to:
Action: Create
Object: Displacement
Type: Nodal
Note: Fixed boundary conditions are equivalent to specifying a displacement equal to zero.
Starting with the roller, type rollY in “New Set Name” (this is only an identifier for our records) as in Figure 17.
Next, click on the “Input Data…” button, and the “Input Data” menu will appear (Figure 18). We want to specify
fixity on Y and Z: Input ⟨ ⟩ on the field “Translations <T1 T2 T3>”. Leaving a blank in the X direction means
that it is free; zeros in the other directions indicate fixed. Click [OK]. Note: We are not specifying rotations
because we are not using elements with rotational degrees of freedom (shells, beams, etc).
Figure 17: Loads/Boundary Conditions
menu.
Figure 18: Boundary Conditions "Input Data"
menu, with values specified for a roller.
Figure 19: Defining the BCs application
region (your curve numbers may differ).
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
10
Click on “Select Application Region…” to specify where this BC is applied. The “Select Application Region” menu
appears (Figure 19). Note that the “Select:” field is specified as Geometry: This is a very important feature of
this framework. If you noticed, we skipped the “Elements” section and went directly to Loads and Boundary
Conditions. Boundary Conditions (and loads) can be specified on the FEM mesh, or better, on the geometry. If a
boundary condition is specified at an edge of the geometry, then once the domain gets meshed, all nodes or
element edges that fall within that geometry edge will automatically get that property! This allows for easy
remeshing and modification of the FEM mesh without having to re-apply the boundary conditions. If you want
to apply a boundary condition (or load) directly on the FEM mesh, then you should mesh first and then change
the “Select:” field to FEM in this menu.
Click each bottom edge at a time and hit [ADD] to include it in the “Application Region” list. Once all three edges
have been added, click [OK] and then [APPLY]. Small arrow heads in the Y and Z direction with the label 23
should appear along the bottom edge (on the vertices only), indicating that the displacements along the 2nd and
3rd dimension (Y and Z) have been specified.
Repeat the process for the top edges with fixXY as the identifier on “New Set Name”, and ⟨ ⟩ on the field
“Translations <T1 T2 T3>”. Small arrowheads in all directions with 123 should appear on the top edge.
To create the distributed load, change the settings to:
Action: Create
Object: Pressure
Type: Uniform
Type pullX as the identifier in “New Set Name” and change the
“Target Element Type” to 2D. Click on “Input Data…” and the
pressure Input Menu appears (Figure 20). Type -3 in the “Edge
Pressure (2D-Solids)” field and click [OK]. Click on “Select
Application Region…” and repeat the same procedure as before
with the left edges and click [APPLY].
At this stage, your model should look like the one in Figure 21.
Figure 21: Model after all BCs have been applied.
Figure 20: Input Data menu for a Pressure load
on a 2D element.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
11
3.8. Meshing the Domain
The meshing works by defining the nodes along the edges of our surfaces (mesh seeds), and then choosing an
algorithm to mesh the interior.
Click on the “Elements” section (Figure 6), and the menu for this section should appear to the right. Change the
settings to:
Action: Create
Object: Mesh Seed
Type: Uniform
Type 2 in the “Number =” field (Figure 22)., and click on the lower vertical edge of the left end. Repeat for the
bottom vertical edges to the right. Change the number of elements in the field, and repeat until all edges are
seeded following the diagram on Figure 23. You model should now look like the one in Figure 24.
Figure 22: Element menu ready to create uniform seeds
along an edge.
Figure 23: Sketch with number of elements per edge.
Figure 24: Model with all edges seeded.
Note: You are encouraged to explore the options under “Type:” other than Uniform. This will be helpful in
making graded meshes. The elements should have a good aspect ratio, and thus the seeds should be somewhat
equally spaced on the edges. Nice meshes typically have equal number of seeds at opposite sides of the surface.
The model is now ready to be meshed. Change the settings to:
Action: Create
Object: Mesh
Type: Surface
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
12
Note that we are creating Quad elements, using the Isomesh algorithm and the Topology is set to Quad4
elements (Q4). Note: Better results may be achieved with the Paver algorithm for the case of complex shapes.
You should nonetheless avoid over-utilizing this algorithm. The mesh generated by Paver is rarely structured,
but the easiness of it tempts the user to over-utilize this algorithm.
Figure 25: Model with surfaces meshed.
Select a surface and click [APPLY] to mesh it. Optionally, you could select the entire model and click [APPLY] only
once. You model should now look like Figure 25.
3.9. Fixing and Optimizing the Mesh
The meshing algorithm meshes each surface separately. Edges between two adjacent surfaces will have
overlapping nodes at the interface. These nodes are independent and distinct: both surfaces are not connected
(Figure 26).
Figure 26: Two adjacent surfaces to be
meshed.
Figure 27: Meshing algorithm meshes them
separately.
Figure 28: Resulting mesh with overlapping
(unconnected) nodes in the interface.
Change the settings to:
Action: Equivalence
Object: All
Method: Tolerance Cube
This allows us to fuse the overlapping nodes by searching the nodes that are some small distance from each
other. The distance is specified in the “Equivalencing Tolerance” field, and by default is set to 0.005 (Figure 29).
Click on [Preview] before clicking [APPLY] to see what nodes are going to be fused. Note: There is a field “Nodes
to be excluded”. This is useful for if you want to leave a slit within your continuum.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
13
The stiffness matrix generated from the problem will likely have a big bandwidth. We can re-number the nodes
and thus make the solution of easier for the solver. Change the settings to:
Action: Optimize
Object: Nodes
Method: Cuthill-McKee
The menu should look like Figure 30. Click [APPLY], and a table with the values before and after the optimization
will appear. Click [OK] to dismiss. Note: Explore the other optimization methods available and the options for
“Minimization Criterion” on your own.
Finally, we need to verify that all elements are numbered counter-clockwise. Change the settings to:
Action: Verify
Object: Element
Test: Normals
Select Draw Normal Vectors in the “Display Control” (Figure 31), and hit [APPLY].
Figure 29: Element menu ready to run
node equivalence.
Figure 30: Element menu for optimizing
the node numbering.
Figure 31: Element menu with settings
ready to fix the element normals with a guiding element.
To better view the normals, click on the “Iso 3 View” below the Menu and Section bars:
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
14
Some elements will point on the positive Z direction (correct). Click on the “Test Control” icon, and the text will
change from Display Only to Reverse Elements. A new field asking for a guiding element will appear; click on an
element with a correct (positive) normal and then click [APPLY]. All normals should point in the positive Z
direction as in Figure 32. Note: If there is no guiding element, you can reverse one (or all) elements changing the
menu to Modify-Element-Reverse.
Figure 32: Model with positive (correct) normals.
Return to the standard Front View: .
Congratulations! If you got this far, you have completed the hardest part in this tutorial.
3.10. Defining the Materials Click on the “Materials” section (Figure 6), and the menu for this section should appear to the right. Type metal
under “Material Name” and click on “Input Properties…”. On the Input Properties menu, type 200 under “Elastic
Modulus” and 0.3 under “Poisson’s Modulus”. Click [OK], and then [APPLY] to create the material. This new
material should appear now under “Existing Materials”.
3.11. Applying the Materials
Click on the “Properties” section (Figure 6), and the menu for this section should appear to the right. Change the
menu settings to:
Action: Create
Object: 2D
Test: 2D Solid
By default the “Type” will be Shell instead. The field under “Property Set Name” is an identifier of the property
application. Type metalapply under the “Property Set Name”. Change the “Options” from Plane Strain to Plane
Stress.
Click on “Input Properties” and the Input Properties menu will appear. Select metal from the “Materials” list in
the bottom. The “Material Name” should now read m:metal. Type 1 into the “Thickness” field and click [OK].
Click on “Select Application Region…”. Select the entire domain, click [ADD], then [OK] and finally [APPLY].
3.12. Defining the Load Cases Another nice feature of this framework is that it allows for various load and boundary condition scenarios to be
analyzed in the same file. If for example you would like to know what would happen if you remove a pin
support, just create a new Load Case and don’t include that boundary condition in the list (remember the
boundary condition identifiers from Section 3.7?).
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
15
Click on the “Load Case” section (Figure 6), and the menu for this section should appear to the right. There is
already a Default load case. Let’s double check that all of our boundary conditions are applied in this load case
by clicking Default under “Existing Load Cases”, and then click on “Input Data…”. The list on top shows all
available boundary conditions, and the table below shows the ones assigned to this load case. Make sure all
three boundary conditions are in the table, and click [OK]. Click on [APPLY] and [YES] if asked whether to
overwrite the Load Case.
3.13. Creating the ABAQUS Input File
Click on the “Analysis” section (Figure 6), and the menu for this section should appear to the right. Change the
menu settings to:
Action: Analyze
Object: Entire Model
Method: Analysis Deck
By default the “Method” will be Full Run instead. Under the field “Job Name” type a name that will be used to
create the files: I wrote linkbar.
Figure 33: Output Request menu, modifying the Default Static Step to output stresses (S) and strains (E) directly at the Nodes.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
16
Click on “Optional Controls” and the Optional Controls menu will appear. Change the “Results File Type” to FIL
and ODB, and click [APPLY]. Note: We must request the FIL output. Recent versions of ABAQUS output ODB files
that Patran cannot read back.
Click on “Step Creation” and the Step Create menu will appear. Click on Default Static Step under “Available Job
Steps” to select it, and then click on “Output Requests”. In the Output Requests menu change the “Form Type”
to Advanced (Figure 33). Under “Output Requests” select S (stands for stress), and change the “Element
Position” from Integration Pts to Nodes. Repeat for E under “Output Requests” and click [OK], then [APPLY] and
[YES] if asked whether to overwrite. Note: Patran can post-process to get these quantities in the nodes too, but
in some assignments you might need to get these directly from Abaqus.
Click [APPLY] and Patran will create the Abaqus Input File. Using the Terminal we can see if the file was
successfully created.
[tzegard2@linux7 Tutorial]$ ls *.inp
linkbar.inp
4. Running ABAQUS It can be very interesting to see what the INP file looks like. To do so, we can open it with any text editor. A few
options are presented here, and should be typed onto the Terminal.
gedit linkbar.inp
gvim linkbar.inp
nano linkbar.inp
To solve the problem, in a Terminal call ABAQUS with the job file linkbar (without the .inp ending)
[tzegard2@linux7 Tutorial]$ abaqus –j linkbar
[tzegard2@linux7 Tutorial]$
Abaqus will execute the job in the background.
Note: If this throws an error, that means you need to “install” Abaqus on your account. In the Terminal type:
[tzegard2@linux7 Tutorial]$ module load abaqus
Optional: Another method for running abaqus is to simply type abaqus. Abaqus then runs interactively and
asks for the input filename.
identifier : linkbar
Abaqus may take anything between a few seconds to days depending on the problem. The problem in this guide
should take less than 10 seconds. You can check if the abaqus process is running by listing the running processes
using the ps command (the additional option aux instructs to list all running processes, even the ones that do
not belong to us). The list of processes is usually big, and for easiness a pipe (or filter) called grep to filter
output with the word linkbar in them:
[tzegard2@linux7 Tutorial]$ abaqus -j linkbar
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
17
[tzegard2@linux7 Tutorial]$ ps aux |grep linkbar
tzegard2 31559 49.0 0.0 298472 51020 ? Ss 10:54 0:00
/software/abaqus-6.10-1/6.10-1/Python/Obj/Python.exe -u linkbar.com
tzegard2 31561 0.0 0.0 51520 5300 ? S 10:54 0:00
/software/abaqus-6.10-1/6.10-1/exec/eliT_DriverLM.exe -job linkbar -indir
tzegard2 31566 0.0 0.0 317124 63688 ? Rl 10:54 0:00
/software/abaqus-6.10-1/6.10-1/exec/pre.exe -standard -academic TEACHING
tzegard2 31568 0.0 0.0 103244 856 pts/17 S+ 10:54 0:00
grep linkbar
It is fun to note that grep is even able to find himself as a running process in the list.
Several output files produced by Abaqus. You are encouraged to explore them:
[tzegard2@linux7 Tutorial]$ ls linkbar*
linkbar.com linkbar.db linkbar.fil linkbar.jbr linkbar.msg
linkbar.prt linkbar.sta linkbar.dat linkbar.db.jou linkbar.inp
linkbar.log linkbar.odb linkbar.sim
[tzegard2@linux7 Tutorial]$
We will review a few of these, but it is very important to note that the *.fil file was created.
The cat command will output the contents of a file directly on the Terminal (don’t try to do this with a large
file). An interesting file we can look into this way is the *.log file
[tzegard2@linux7 Tutorial]$ cat linkbar.log
Abaqus JOB linkbar
Abaqus 6.10-1
Begin Analysis Input File Processor
Tue 05 Feb 2013 11:06:23 AM CST
Run pre.exe
Abaqus License Manager checked out the following licenses:
Abaqus/Standard checked out 5 tokens.
<155 out of 160 licenses remain available>.
Tue 05 Feb 2013 11:06:25 AM CST
End Analysis Input File Processor
Begin Abaqus/Standard Analysis
Tue 05 Feb 2013 11:06:25 AM CST
Run standard.exe
Abaqus License Manager checked out the following licenses:
Abaqus/Standard checked out 5 tokens.
<155 out of 160 licenses remain available>.
Tue 05 Feb 2013 11:06:27 AM CST
End Abaqus/Standard Analysis
Begin Extrapolator
Tue 05 Feb 2013 11:06:27 AM CST
Run Extrapolator.exe
Tue 05 Feb 2013 11:06:28 AM CST
End Extrapolator
Abaqus JOB linkbar COMPLETED
[tzegard2@linux7 Tutorial]$
The file linkbar.dat contains the job summary, error messages, results and other comments in a very
organized and readable format. You may also want to check linkbar.sta and linkbar.msg.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
18
5. Postprocessing with Patran Making sure that ABAQUS ran correctly and found no problems in our files, and the output *.fil file was
created, we are ready to view the results.
5.1. Reading the Results File
Click on the “Analysis” section (Figure 6), and the menu for this section should appear to the right. Change the
menu settings to:
Action: Read Results
Object: Result Entities
Method: Translate
Click then on “Select Results File…” and choose the *.fil file. Click [OK] and then [APPLY].
5.2. Viewing the Results
Click on the “Results” section (Figure 6), and the menu for this section should appear to the right. The different
load cases can be selected (we only have the Default load case in this case), and results from each one of them
can be plotted.
To encourage exploring this section, there will be no guidance on this section on purpose. Advice: The deformed
plot should only be used to illustrate the deformed shape. Plotting stresses on the deformed configuration for
example only adds confusion to the plot.
5.3. Creating a Figure Output
There are a few different methods you could use once you have a
plot that you would like to include in your report. The resulting file
will be a PostScript *.ps file, or an Encapsulated PostScript *.eps
file. In Linux these files can be opened by a variety of software. If
you would like to edit and export these files to other formats, one
option is Adobe Illustrator, and another possibility is GSview.
To create an image output, click on File/Print on the Menu Bar
(Figure 6). Select “Postscript Default” as the printer and click on
“Options”. The Print Control menu will appear (Figure 34). Change
the “Format” to Color if you want to output in colors, “Background”
to White and “Lines & Text” to Actual. Depending on whether you
would like a PS or EPS file, select “Print to File” or “Create EPS File”.
Type in a filename in the textbox and click [OK]. Finally click [APPLY]
to generate the output.
Note1: On the “Fringe Attributes” section of the Results menu,
you can change the “Style” from “Smooth/Discrete” to “Continuous” to get smooth colors in your plot.
Note2: On the “Fringe Attributes” section, click on “Spectrum” to change the coloring scheme. If you include
color images in your report and you print in Black/White, make sure the Figures are clear and readable.
Figure 34: Print Control menu for "Postscript
Default" printer.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
19
In addition, there are a few file converters you can use from the Terminal. Their name is self-explanatory:
[tzegard2@linux7 Tutorial]$ epstopdf file.eps
[tzegard2@linux7 Tutorial]$ ps2pdf file.ps
The following plots (Figure 35) ware created using these instructions and is here available as an example. Images
were fine-tuned using Adobe Illustrator.
Figure 35: Displacement magnitude plot.
Figure 36: Von Mises stress plot.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
20
5.4. Plotting a Field Quantity along a Path
Assume you want to plot the Von Mises stress along the path specified in Figure
37. Note that this path is composed of 4 segments (Figure 3).
Figure 37: Path along which we want to plot displacement magnitude.
Go to the Results section, and change the settings to:
Action: Create
Object: Graph
Method: Y vs X
Click on the Target Entities icon . as in Figure 38; make sure the Addtl.
Display Control: is set to Curves. Click on the Select Path Curves field, and select
all the curves around the path in order (hold down the shift key to select
multiple curves). Click [APPLY] and the plot should appear.
Click on the Select Results icon , and choose the plot data. Make sure the
field X: is set to Path Length (Figure 39). Click [APPLY] (Figure 40).
Note: The plot smoothness can be adjusted with the Points Per Segment field
in the menu of Figure 38; increasing the sample points per curve.
Figure 38: Target Entities menu.
Figure 39: Select results menu.
Figure 40: Von Mises stress plot along the path specified in Figure 37.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
21
5.5. Querying Values at Specific Points
In the Results menu, change the settings to
Action: Create
Object: Cursor
Method: Scalar
Select the result you would like to query under “Select Cursor Result” (Figure
41), and click [APPLY]. The “Cursor Data” table should appear. For this
example, we desire to obtain the displacement magnitude for the points
indicated in Figure 41.
Figure 42: Sketch of the points we want to know the displacement magnitude
Click on the nodes corresponding to those locations. This will make the
quantity appear in the plot (Figure 44) and also in the table (Figure 43).
Figure 41: Results menu settings to query results on the plot.
Figure 44: Displacement plot with the cursor quantities shown.
Figure 43: Cursor Data table with the queried values.
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
22
5.6. Plotting a Field Quantity along a Circle
Assume you want to plot the Von Mises stress along the path specified in
Figure 45. A cylindrical coordinate axis needs to be defined at the center
of the circle. Note that is defined by the coordinate system’s axes. The
direction where is defined by the R axis (1st axis); with the T axis
(2nd axis) pointing towards .
Figure 45: Sketch illustrating the cylindrical coordinate system at the center of the hole
To create a cylindrical R-T-Z axis, Go to the Geometry section, and change
the settings to:
Action: Create
Object: Coord
Method: Axis
Make sure that the “Method” is Axis, and change the “Type” to
Cylindrical (Figure 46).
The menu now requires an “Origin”, a point in the R axis (Axis 1), and on
the T axis (Axis 2). Following the coordinates in Figure 4, these would be
[ ] for the center, with [ ] and [ ] for the R and T
axis respectively (note that any points in the axes would work just as
well). Alternatively, instead of typing the nodal coordinates, you could
just click on the nodes that define the geometry: Nodes 5, 13 and 11 in
my case (your node numbering will likely be different).
Take note of the Coord ID List number in the Geometry menu before you
create the coordinate axis (important). The numbering should begin at 1,
and continue as you create coordinate axis. In Figure 46 it reads 2 because I just finished creating a coordinate
axis numbered 1, and the menu is ready to create a new one numbered 2.
Your model with the newly created coordinate axis should look like that of Figure 47.
Figure 47: Model with the standard coordinate axis XYZ, and the new cylindrical coordinate axis RTZ (Von Mises plot)
Figure 46: Geometry menu for creating a cylindrical coordinate system
CEE570/CSE551 Getting started with Linux-Patran-Abaqus Tomás Zegard (2013)
23
Go to the Results section and change the settings to:
Action: Create
Object: Graph
Method: Y vs X
Choose the field quantity you would like to plot, and X: to Coordinate.
Input the coordinate axis in the field Select Coordinate Axis; in my case
Coord 1.2 (Figure 48). This stands for coordinate axis 1 (the newly created
cylindrical one) and direction 2 (the tangential direction).
Click on the Target Entities icon . as in Figure 49; change the Target
Entity to Path and make sure the Addtl. Display Control is set to Curves.
Click on the Select Path Curves field, and select all the curves around the
hole in order (hold down the shift key to select multiple curves). Click
[APPLY] and the plot should appear.
In this example, I increased the number of Points Per Segment to 8 to get
a smooth plot as depicted in Figure 50.
Figure 48: Results menu for plotting an X-Y plot in a cylindrical coordinate axis
Figure 49: Results menu specifying the curves around a hole to plot
Figure 50: Von Mises plot around a hole using a cylindrical coordinate system