Anda di halaman 1dari 12

PYTHON SCRIPTS FOR ABAQUS

LEARN BY EXAMPLE

Gautam Puri

This document is the Table of Contents for the book. A preview version of the book is available as a separate download from the book website.
Book website: www.abaquspython.com

Contents
1.
A Taste of Scripting 1.1 1.2 1.3 1.4 1.5 Introduction Using a script to define materials To script or not to script.. Running a complete analysis through a script Conclusion 1 1 1 8 8 32 33 33 33 34 35 35 35 37 38 39 40 41 41 41 41 44 46 49 51 59

2.

Running a Script 2.1 2.2 2.3 Introduction How Python fits in Running a script within Abaqus/CAE 2.3.1 Running a script in GUI to execute a single or multiple tasks 2.3.2 Running a script in GUI to execute an entire simulation Running a script from the command line 2.4.1 Run the script from the command line without the GUI 2.4.2 Run the script from the command line with the GUI Running a script from the command line interface (CLI) Conclusion

2.4

2.5 2.6

3.

Python 101 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 Introduction Statements Variables and assignment statements Lists Dictionaries Tuples Classes, Objects and Instances Whats next?

ii Contents

4.

The Basics of Scripting Cantilever Beam Example 4.1 4.2 4.3 Introduction A basic script Breaking down the script 4.3.1 Initialization (import required modules) 4.3.2 Create the model 4.3.3 Create the part 4.3.4 Define the materials 4.3.5 Create solid sections and make section assignments 4.3.6 Create an assembly 4.3.7 Create steps 4.3.8 Create and define field output requests 4.3.9 Create and define history output requests 4.3.10 Apply loads 4.3.11 Apply constraints/boundary conditions 4.3.12 Mesh 4.3.13 Create and run the job 4.3.14 Post processing Whats Next?

60 60 60 64 65 67 68 71 72 74 75 76 77 78 81 83 88 89 90 92 92 92 94 95 97 97 99 100 100 100 101 106

4.4

5.

Python 102 5.1 Introduction 5.1.1 If elif else statements 5.1.2 For loops 5.1.3 range() function 5.1.4 While-loops 5.1.5 break and continue statements Whats Next?

5.2

6.

Replay files, Macros and IDEs 6.1 6.2 6.3 6.4 Introduction Replay Files Example - Compare replay with a well written script Macros

Contents iii 6.5 IDEs and Text Editors 6.5.1 IDLE 6.5.2 Notepad ++ 6.5.3 Abaqus PDE 6.5.4 Other options Whats Next? 109 109 109 110 113 114 117 117 118 124 129 129 130 130 131 132 134 135 135 135 136 137 139 141 141 142 143 145 146 146 147 154

6.6

7.

Static Analysis of a Loaded Truss 7.1 7.2 7.3 7.4 Introduction Procedure in GUI Python Script Examining the Script 7.4.1 Initialization (import required modules) 7.4.2 Create the model 7.4.3 Create the part 7.4.4 Define the materials 7.4.5 Create sections and make section assignments 7.4.6 Create an assembly 7.4.7 Create steps 7.4.8 Create and define field output requests 7.4.9 Create and define history output requests 7.4.10 Apply loads 7.4.11 Apply boundary conditions 7.4.12 Mesh 7.4.13 Create and run the job 7.4.14 Post processing setting the viewport 7.4.15 Plot the deformed state and modify common options 7.4.16 Plot the field outputs Summary

7.5

8.

Explicit Analysis of a Dynamically Loaded Truss 8.1 8.2 8.3 Introduction Procedure in GUI Python Script

iv Contents 8.3.1 Part, material, section and assembly blocks 8.3.2 Creating sets 8.3.3 Creating steps 8.3.4 Create and define history output requests 8.3.5 Apply loads 8.3.6 Boundary conditions, mesh, running the job and initial post processing 8.3.7 XY plots of displacement Summary 160 161 162 163 164 164 165 170 171 171 174 188 199 199 199 199 206 206 207 210 210 211 216 218 218 218 218 220 222 222 223

8.4

9.

Analysis of a Frame of I-Beams 9.1 9.2 9.3 9.4 Introduction Procedure in GUI Python Script Examining the Script 9.4.1 Initialization (import required modules) 9.4.2 Create the model 9.4.3 Create the part 9.4.4 Define the materials 9.4.5 Create profiles 9.4.6 Create sections and make section assignments 9.4.7 Assign section orientations 9.4.8 Create an assembly 9.4.9 Create connectors using wire features 9.4.10 Use constraint equations for two nodes 9.4.11 Create steps 9.4.12 Create and define field output requests 9.4.13 Create and define history output requests 9.4.14 Apply loads 9.4.15 Apply boundary conditions 9.4.16 Mesh 9.4.17 Create and run the job Summary

9.5

Contents v

10.

Bending of a Planar Shell (Plate) 10.1 10.2 10.3 10.4 Introduction Procedure in GUI Python Script Examining the Script 10.4.1 Initialization (import required modules) 10.4.2 Create the model 10.4.3 Create the part 10.4.4 Define the materials 10.4.5 Create solid sections and make section assignments 10.4.6 Create an assembly 10.4.7 Create steps 10.4.8 Create and define field output requests 10.4.9 Create and define history output requests 10.4.10 Apply boundary conditions 10.4.11 Partition part to create vertices 10.4.12 Apply loads 10.4.13 Mesh 10.4.14 Create and run the job 10.4.15 Display deformed state with contours 10.4.16 Write Field Output Report Summary

224 224 226 233 239 239 239 239 240 240 242 242 243 243 244 245 248 248 250 250 251 252 253

10.5

11.

Heat Transfer Analysis 11.1 11.2 11.3 11.4

Introduction 253 Procedure in GUI 255 Python Script 261 Examining the Script 266 11.4.1 Initialization, creation of the model, part, materials, sections and assembly 266 11.4.2 Create a datum plane and partition the part 266 11.4.3 Create steps 268 11.4.4 Apply constraints/boundary conditions 268 11.4.5 Apply loads 269

vi Contents 11.4.6 Create interactions 11.4.7 Mesh 11.4.8 Create and run the job 11.4.9 Post Processing Summary 270 273 275 275 278 279 279 281 291 300 300 300 301 302 303 304 309 310 310 310 312 312 313 314 316 317 318 318 318 319 319 319

11.5

12.

Contact Analysis (Contact Pairs Method) 12.1 12.2 12.3 12.4 Introduction Procedure in GUI Python Script Examining the Script 12.4.1 Initialization (import required modules) 12.4.2 Create the model 12.4.3 Create the part 12.4.4 Define the materials 12.4.5 Create solid sections and make section assignments 12.4.6 Create an assembly 12.4.7 Create steps 12.4.8 Create and define field output requests 12.4.9 Create and define history output requests 12.4.10 Apply boundary conditions 12.4.11 Apply loads 12.4.12 Create Surfaces 12.4.13 Create Interaction Properties 12.4.14 Create Interactions 12.4.15 Mesh 12.4.16 Create and run the job 12.4.17 Post Processing - Display deformed state Summary Whats Next?

12.5 12.6

13.

Optimization Determine the Maximum Plate Bending Loads 13.1 13.2 Introduction Methodology

Contents vii 13.3 13.4 Python Script 321 Examining the Script 329 13.4.1 Model, Part, Material, Section, Assembly, Step, Field Output Request, Boundary Condition, Partition and Mesh creation. 329 13.4.2 Initialization 329 13.4.3 Modify and run the analysis at each iteration 330 13.4.4 Print a table of the results 338 13.4.5 Read the report file to determine where the maximum stress was exceeded 341 13.4.6 Light up elements in the viewport where max stress is exceeded 345 13.4.7 Print messages to the message area 347 Summary 348 349 349 350 351 363 363 366 366 367 368 368 369 370 371 371 373 375 376 377 378 379

13.5

14.

Parameterization, Prompt Boxes and XY Plots 14.1 14.2 14.3 14.4 Introduction Methodology Python Script Examining the Script 14.4.1 Accept inputs 14.4.2 Create the model 14.4.3 Create part 14.4.4 Create a section 14.4.5 Create sets 14.4.6 Request and use load magnitude 14.4.7 Boundary conditions 14.4.8 Initial post processing 14.4.9 Combined XY plot 14.4.10 Chart Options 14.4.11 Axis Options 14.4.12 Title Options 14.4.13 Chart Legend Options 14.4.14 XY Curve Options 14.4.15 Print the plot to an image Summary

14.5

viii Contents

15.

Optimization of a Parameterized Sandwich Structure 15.1 15.2 15.3 15.4 Introduction Procedure in GUI Python Script Examining the Script 15.4.1 Accept inputs 15.4.2 Variable initialization and preliminary calculations 15.4.3 Create the model 15.4.4 Create the parts, material, section and assembly 15.4.5 Identify faces and sets 15.4.6 Assemble parts 15.4.7 Create steps, boundary conditions and loads 15.4.8 Surfaces and Tie constraints 15.4.9 Mesh and Run Job 15.4.10 XY Reports 15.4.11 Read from report 15.4.12 Write to output file Summary

380 380 382 392 405 405 407 408 408 409 410 411 412 413 413 415 416 417 418

15.5

16.

Explore an Output Database 16.1 16.2 16.3 16.4 16.5

Introduction 418 Methodology 419 Before we begin Odb Object Model 420 How to run the script 423 Python Script 423 16.5.1 Initialization 429 16.5.2 Mathematical operations on field data 429 16.5.3 Access information about part, nodes, elements, stresses, displacements 433 16.5.4 Display history output information for static truss analysis 441 16.5.5 Display history output information for dynamic explicit truss analysis 444 16.5.6 Extract material and section definitions 447 16.5.7 Extract material and section definitions 449

Contents ix 16.6 16.7 16.8 Object Model Interrogation More object model interrogation techniques Summary 450 454 457 459 459 460 460 467 467 475 486 492 492 493 500 507 509 510 510 510 511 516 517 519 520 520 524 527 527 527

17.

Combine Frames of two Output Databases and Create an Animation 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 Introduction Methodology Procedure in GUI How to run the script Python Script to simulate plastic plate bending Python Script to simulate elastic springback Python Script to combine the output databases Examining the Script 17.8.1 Class Definition. 17.8.2 Read data from output databases 17.8.3 Create a new output database 17.8.4 Create the animation using the new output database Summary

17.9

18.

Monitor an Analysis Job and Send an Email when Complete 18.1 18.2 18.3 18.4 Introduction Methodology Python Script Examining the Script 18.4.1 Job submission and message callback 18.4.2 Define the callback function 18.4.3 Define a function to handle post processing 18.4.4 Define the email function Summary

18.5

19.

A Really Simple GUI (RSG) for the Sandwich Structure Study 19.1 19.2 Introduction Methodology

x Contents 19.3 19.4 19.5 19.6 Getting Started with RSG Create an RSG for Sandwich Structure Analysis Python Script to respond to the GUI dialog inputs Examining the Script 19.6.1 Function definition 19.6.2 Material variable assignments 19.6.3 Create the materials 19.6.4 Create the sections 19.6.5 To write (or not write) XY report and print displacement Summary 528 535 552 566 566 566 567 568 569 569 570 570 571 571 573 575 576 576 579 587 593 602 607 615 619 623 625 626 626 630 631 631

19.7

20.

Create a Custom GUI Application Template 20.1 20.2 20.3 20.4 20.5 20.6 Introduction What is the Abaqus GUI Toolkit Components of a GUI Application GUI and Kernel Processes Methodology Python Script 20.6.1 Application Startup Script 20.6.2 Main Window 20.6.3 Modified Canvas Toolset (modified Viewport menu) 20.6.4 Custom Persistant toolset 20.6.5 Adding some functionality with a main program 20.6.6 Custom Module 20.6.7 Form Mode 20.6.8 Modal Dialog box 20.6.9 Modeless Dialog box Summary

20.7

21.

Custom GUI Application for Beam Frame Analysis 21.1 21.2 21.3 21.4 Introduction Layout Managers and Widgets Transitions and Process Updates Exploring the scripts

Contents xi 21.4.1 Beam Application Kernel Script 21.4.2 Beam Application Startup Script 21.4.3 Beam Application Main Window 21.4.4 Custom Persistant toolset 21.4.5 Custom Beam Module 21.4.6 Step 1 Dialog Form and Dialog Box 21.4.7 Step 2 Dialog Form and Dialog Box 21.4.8 Step 3 Procedure and Dialog Box 21.4.9 Step 4 Form and Dialog Box Summary 631 655 656 657 666 671 688 701 709 716 717 Introduction Methodology Learn by Example 22.3.1 Kernel Plug-in Example 22.3.2 GUI Plug-in Example Summary 717 717 718 718 720 724

21.5

22.

Plug-ins 22.1 22.2 22.3

22.4

Anda mungkin juga menyukai