UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN

UNIVERSITY OF ILLINOIS AT URBANA-CHAMPAIGN College of Engineering CEE570/CSE551 — Finite Element Methods (in Solid and Structural Mechanics) Spring Se...
Author: Elisabeth Wells
26 downloads 2 Views 2MB Size
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 Unixlike. 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 B: Mac OSX Terminal (can found under Applications/Utilities/Terminal).

Document version 0.2.1 (02/03/13)

Figure A: Konsole and Terminal under the "System Tools" menu.

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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 [[email protected] ~]$ pwd /home/tzegard2 [[email protected] ~]$ 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. [[email protected] ~]$ mkdir MyFolder [[email protected] ~]$ cd myfolder -bash: cd: myfolder: No such file or directory [[email protected] 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. [[email protected] ~]$ cd MyFolder [[email protected] MyFolder]$ ls [[email protected] 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. [[email protected] MyFolder]$ touch file1.txt [[email protected] MyFolder]$ ls file1.txt [[email protected] MyFolder]$ touch .file2.txt [[email protected] MyFolder]$ ls file1.txt [[email protected] MyFolder]$ ls -a . .. file1.txt .file2.txt [[email protected] 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. [[email protected] MyFolder]$ pwd /home/tzegard2/MyFolder [[email protected] MyFolder]$ cd .. 2

CEE570/CSE551 [[email protected] /home/tzegard2 [[email protected] rmdir: failed to [[email protected] We need to empty the command rm.

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

~]$ pwd ~]$ rmdir MyFolder/ remove `MyFolder/': Directory not empty ~]$ directory before deleting it. Files (and directories) can be deleted with the remove

[[email protected] ~]$ cd MyFolder/ [[email protected] MyFolder]$ rm file1.txt .file2.txt [[email protected] MyFolder]$ cd .. [[email protected] ~]$ rmdir MyFolder/ [[email protected] ~]$ Optionally, we could delete the directory and everything inside it by calling a recursive delete (the –r option). [[email protected] ~]$ mkdir MyFolder [[email protected] ~]$ cd MyFolder/ [[email protected] MyFolder]$ touch file1.txt photo1.jpg doc1.pdf [[email protected] MyFolder]$ ls doc1.pdf file1.txt photo1.jpg [[email protected] MyFolder]$ cd .. [[email protected] ~]$ rm -r MyFolder/ [[email protected] ~]$ 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. [[email protected] ~]$ mkdir MyFolder1 [[email protected] ~]$ cd MyFolder1/ [[email protected] MyFolder1]$ touch data1.out photo1.jpg [[email protected] MyFolder1]$ ls data1.out photo1.jpg [[email protected] MyFolder1]$ cp photo1.jpg photo2.jpg [[email protected] MyFolder1]$ ls data1.out photo1.jpg photo2.jpg [[email protected] MyFolder1]$ mv data1.out info3.log [[email protected] MyFolder1]$ ls info3.log photo1.jpg photo2.jpg [[email protected] MyFolder1]$ cd .. [[email protected] ~]$ cp MyFolder1 MyFolder2 cp: omitting directory `MyFolder1' [[email protected] ~]$ cp -r MyFolder1 MyFolder2 [[email protected] ~]$ rm -r MyFolder1 [[email protected] ~]$ rm -r MyFolder2 [[email protected] ~]$ 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! 3

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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 2: Problem's half-domain (thanks to symmetry).

Properties (plane stress):

Figure 1: Domain and boundary conditions for the Problem.

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.

4

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

Table 1: Key points to generate the problem's geometry.

X 0.0 1.0 1.75 3.0 1.0 3.0

Y 0.0 0.0 0.0 0.0 1.5 1.5

X 0.0 1.0 1.75 3.0 2.0

Y 0.2 0.2 0.3 0.2 1.5

X 0.0 1.0 2.1 3.0 2.3

Y 0.5 0.5 0.8333 0.8333 1.5

Figure 5: The element in the corner shares angle with the subdivision.

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. [[email protected] ~]$ mkdir Tutorial [[email protected] ~]$ cd Tutorial/ [[email protected] 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].

5

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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.

3.4.

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.

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

6

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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 14: Curve breaking menu using "Parametric" split. Figure 13: Model with all the segments created.

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

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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

8

CEE570/CSE551

3.7.

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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 〉 on the field “Translations ”. Leaving a blank in the X direction means fixity on Y and Z: Input 〈 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).

9

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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. 〉 on the field Repeat the process for the top edges with fixXY as the identifier on “New Set Name”, and 〈 “Translations ”. 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.

10

CEE570/CSE551

3.8.

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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 23: Sketch with number of elements per edge.

Figure 22: Element menu ready to create uniform seeds along an 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 11

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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: 13

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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.

15

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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. [[email protected] 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) [[email protected] Tutorial]$ abaqus –j linkbar [[email protected] 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: [[email protected] 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: [[email protected] Tutorial]$ abaqus -j linkbar 16

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

[[email protected] 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: [[email protected] 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 [[email protected] 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 [[email protected] 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. . 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. . 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 [[email protected] 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. 17

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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.

Figure 34: Print Control menu for "Postscript

Default" printer. 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. 18

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

In addition, there are a few file converters you can use from the Terminal. Their name is self-explanatory: [[email protected] Tutorial]$ epstopdf file.eps [[email protected] 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.

19

CEE570/CSE551

5.4.

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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). Figure 38: Target Entities menu.

Figure 40: Von Mises stress plot along the path specified in Figure 37.

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. 20 Figure 39: Select results menu.

CEE570/CSE551

5.5.

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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.

21

CEE570/CSE551

5.6.

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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 R and T [ ] for the center, with [ ] and [ 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 Figure 46: Geometry menu for creating a my case (your node numbering will likely be different). cylindrical coordinate system 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)

22

CEE570/CSE551

Getting started with Linux-Patran-Abaqus

Tomás Zegard (2013)

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

23

Suggest Documents