university of illinois at urbana-champaign college...

23
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).

Upload: duongtu

Post on 26-Mar-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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).

Page 2: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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 ..

Page 3: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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!

Page 4: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 5: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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].

Page 6: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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).

Page 7: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 8: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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).

Page 9: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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).

Page 10: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 11: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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

Page 12: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 13: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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:

Page 14: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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?).

Page 15: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 16: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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

Page 17: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 18: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 19: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 20: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 21: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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.

Page 22: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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

Page 23: UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College …paulino.ce.gatech.edu/.../2014/Projects/LinuxPatranAbaqusTutorial.pdf · Document version 0.2.1 (02/03/13) UNIVERSITY OF ILLINOIS

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