apdl
TRANSCRIPT
-
ANSYS Customization and Automation with APDL
Presented ByComputer Aided Engineering
Associates, Inc.
Copyright 2002 Computer Aided Engineering Associates, Inc. All rights reserved. Use, reproduction, distribution, etc. without the express written consent of Computer Aided Engineering Associates, Inc. is prohibited.
-
Presentation Topics
z Introduction What is APDL? What can you do with APDL? Features of APDL Advantages and Disadvantages of APDL
APDL B iz APDL Basicsz Parametric Modelingz Importing/Exporting data in/out of ANSYS
C t i d d t lbz Customized menus and toolbarsz Storing macrosz Encrypting macros
M lz Macro examplez Consulting examples:
Pin insertion macroStent automation macro
Computer Aided Engineering Associates, Inc. 2Computer Aided Engineering Associates, Inc. 2Copyright 2002Computer Aided Engineering Associates, Inc.
Stent automation macro
-
Introduction: What is APDL?
z APDL = ANSYS Parametric Design Language APDL is a scripting language used to automate and customize tasks in ANSYSp g g g APDL combines ANSYS commands with FORTRAN-like functions APDL is used to do many of the operations done by user-subroutines in other
FE codes
z What can you do with APDL? Create parametric models to quickly evaluate design changes Create macros to automate complex or often-repeated tasks Import and export data to external files Perform scalar, vector, and matrix operations Create simple customized menus and toolbar items
z Features of APDL Macros, if-then-else branching, do-loops, and scalar, vector, and matrix
operations.Macros are APDL routines
Computer Aided Engineering Associates, Inc. 3Computer Aided Engineering Associates, Inc. 3Copyright 2002Computer Aided Engineering Associates, Inc.
Macros are APDL routines Virtually all ANSYS commands can be used in APDL
-
Introduction: APDL Examples
z Automation Create geometry with a new set of dimensions (Parametric Modeling)g y ( g) Calculate the volume of all selected elements Convert structural temperatures to heat transfer temperatures Write all of the max. and min. stress/strain components for the selected p
element set to a file Calculate the maximum difference in stress over a range of load steps Move the selected nodes and elements by offset values Import shell elements, nodes, and thickness values from an external file Create component sets from node or element lists in an external file
z Customization Create simple input and output menus (*ASK, *MSG, Multipro) Create customized toolbar items to perform common tasks
Computer Aided Engineering Associates, Inc. 4Computer Aided Engineering Associates, Inc. 4Copyright 2002Computer Aided Engineering Associates, Inc.
Create customized toolbar items to perform common tasks
-
Introduction: Advantages of APDL
z Price: No extra cost: Included with all ANSYS products
z Rapid Learning Curve:z Rapid Learning Curve: Rapid learning curve, primarily devoted to learning ANSYS commands. Can use the jobname.log file to get the ANSYS command equivalent to your
menu picksmenu picks. Interpreted (not compiled) so effects of modifications are immediately
realizable.
G d D t tiz Good Documentation: APDL Programmers Guide ANSYS Commands Reference
CAEA S i ANSYS C i i d P i (APDL) CAEA Seminar: ANSYS Customization and Programming (APDL)
z Other: Specially compiled version of ANSYS is not required
Computer Aided Engineering Associates, Inc. 5Computer Aided Engineering Associates, Inc. 5Copyright 2002Computer Aided Engineering Associates, Inc.
p y p q
-
Introduction: Disadvantages of APDL
z Limited Customization: Only simple input and message menus can be generatedOnly simple input and message menus can be generated.
z Speed: Can be slow for complex operations on large models. User subroutines are
generally much fastergenerally much faster.
Computer Aided Engineering Associates, Inc. 6Computer Aided Engineering Associates, Inc. 6Copyright 2002Computer Aided Engineering Associates, Inc.
-
Introduction: APDL Basics
z Scalar Parameters Defining scalar parameters: Defining scalar parameters:
parameter = value (example 1: A1 = 12.98) (example 2: B1 = Turbine Blade Analysis)
OR *SET,parameter,value (example: *SET,A1,12.98)
Listing scalar parameters:*STAT d *STAT command
(example: *STAT,A1)
Deleting scalar parameters: parameter = parameter = OR *SET,parameter
Computer Aided Engineering Associates, Inc. 7Computer Aided Engineering Associates, Inc. 7Copyright 2002Computer Aided Engineering Associates, Inc.
-
Introduction: APDL Basics
z Scalar Parameters cont Forced parameter substitution:p
Enclose the parameter name in % signs for substitution in character expressions
E l R lti l i t fil d l th i dExample: Run multiple input files and solve them in order
job=fname
*DO,I,1,5
/input %job%%I% inp ! input = fname1 inp fname2 inp /input,%job%%I%,inp ! input = fname1.inp , fname2.inp ,
/solu
solve
finishfinish
*ENDDO
Computer Aided Engineering Associates, Inc. 8Computer Aided Engineering Associates, Inc. 8Copyright 2002Computer Aided Engineering Associates, Inc.
-
Introduction: APDL Basics
z Array Parameters Defining array parameters: Defining array parameters:
*DIM command (example 1: *DIM,A1,array,10,2,1) (example 2: *DIM,B1,character,6,2)
OR Parameters > Array Parameters > Define/Edit
Listing array parameters: *STAT command
(example: *STAT,A1)
Deleting array parameters: parameter = OR *SET,parameter
Computer Aided Engineering Associates, Inc. 9Computer Aided Engineering Associates, Inc. 9Copyright 2002Computer Aided Engineering Associates, Inc.
-
Introduction: APDL Basics
z Scalar Functions Many standard programming functions are available: Many standard programming functions are available:
A = 4*2, B = 16/4, C = A B, D = A+B, E = A**B
SIN(x), COS(x), TAN(x), ASIN(x), ACOS(x), ATAN(x), ATAN2(y,x)
SINH(x) COSH(x) TANH(x) SINH(x), COSH(x), TANH(x)
SQRT(x), ABS(x), SIGN(x,y)
NINT(x), MOD(x,y)
EXP(x), LOG(x), LOG10(x)
RAND(x,y), GDIS(x,y)
LWCASE(cparm), UPCASE(cparm), VALCHR(cparm)
CHRVAL(parm) (where cparm is a character parameter)
Help on *SET will list all of the functionsHelp on SET will list all of the functions
These functions can be inserted into any numeric field of a command Example: Apply a sinusoidal force to node i
Computer Aided Engineering Associates, Inc. 10Computer Aided Engineering Associates, Inc. 10Copyright 2002Computer Aided Engineering Associates, Inc.
pi = acos(-1)
F, i, FY, fmax*SIN(2*pi*time/tmax)
-
Introduction: APDL Basics
z Array Functions Many Array and Matrix operations are available: Many Array and Matrix operations are available:
Examples
*VFUN performs a function on one array parameter
copy to another array, square root of each entry, etc.copy to another array, square root of each entry, etc.
*VOPER operates on two array parameters
add, multiply, divide, etc. entries in two arrays
*VSCFUN determine the properties of an array parameter
max., mean, standard deviation, etc. of all entries
*MOPER performs matrix operations on two arrays
matrix multiplication, sorting, etc.
Array values can be inserted into any field of a command Example: Define keypoint #4 with an x coordinate equal to the value in
i i 2 5 f h XVAL
Computer Aided Engineering Associates, Inc. 11Computer Aided Engineering Associates, Inc. 11Copyright 2002Computer Aided Engineering Associates, Inc.
position 2,5 of the array XVALK,4,XVAL(2,5),0.,0.
-
Introduction: APDL Basics
z *IF statements Same functionality as IF statements in FORTRAN *IF, *ENDIF,*ELSEIF, and *ELSE commands can be used to perform logical branching
operations Syntax: *IF, VAL1, Oper1, VAL2, AND / OR, VAL3, Oper2, VAL4, THEN
Computer Aided Engineering Associates, Inc. 12Computer Aided Engineering Associates, Inc. 12Copyright 2002Computer Aided Engineering Associates, Inc.
-
Introduction: APDL Basics
z *DO loops Same functionality as *DO loops in FORTRANy p *DO, parameter, ival, fval, inc
Sample Format:
*DO, i, 1, 7, 2
*DO, j, 1, 20
n, (i-1)*20 +j, 0.1*j, i-1
*ENDDOENDDO
*ENDDO
z *DOWHILE loops *DOWHILE, parameter
Loops repeatedl thro gh the ne t *ENDDO command as long as parameter is
Computer Aided Engineering Associates, Inc. 13Computer Aided Engineering Associates, Inc. 13Copyright 2002Computer Aided Engineering Associates, Inc.
Loops repeatedly through the next *ENDDO command as long as parameter is true (greater than zero)
-
Introduction: APDL Basics
z Getting information from the database *GET commands and functions: GET commands and functions:
Can retrieve almost any scalar information needed from the database:
S l f i f ti t i ith th *GET dSample of information you can retrieve with the *GET command:
UX, UY, UZ structural displacement at node N
SX, SY, SZ stresses at node N
maximum node number in the selected set
coordinates of a keypoint
stress at a node
jobname and title
t i l t l t ifi d t tmaterial property value at a specified temperature
time step size in solution
Help, *GET to get a full list of retrievable data
Computer Aided Engineering Associates, Inc. 14Computer Aided Engineering Associates, Inc. 14Copyright 2002Computer Aided Engineering Associates, Inc.
-
Introduction: APDL Basics
z Getting information from the database *VGET functions: VGET functions:
Can read a large amount of database information into vectors:
Sample of information you can retrieve with the *VGET command:Sample of information you can retrieve with the VGET command:
X, Y, Z coordinates of all selected nodes
UX, UY, UZ displacements of all selected nodes
SX, SY, SZ stresses of all selected nodes
Keypoint numbers on all of the selected lines
Surface areas of all of the selected areas
Help, *VGET to get a full list of retrievable dataHelp, VGET to get a full list of retrievable data
Note: *VGET is much faster than looping with *DO
Computer Aided Engineering Associates, Inc. 15Computer Aided Engineering Associates, Inc. 15Copyright 2002Computer Aided Engineering Associates, Inc.
Note: VGET is much faster than looping with DO
-
Introduction: APDL Basics
z Executing Macros and Input Files File > Read input from (input file name) Command Line: /input,filename,ext Utility Menu > Macro > Execute Macro Use a macro command format: filename.mac
z Up to 19 arguments can be passed to a macro
Example: Macro to create a block with a hole:
File: mkblk macFile: mkblk.mac
Sample Call to the macro: mkblk, 2., 3., 2.,1.4
/prep7
block,,arg1,,arg2,,arg3 ! (block,,2,,3,,2)g g g ( )
sphere,arg4 ! (sphere,1.4)
vsbv,1,2
finish
Computer Aided Engineering Associates, Inc. 16Computer Aided Engineering Associates, Inc. 16Copyright 2002Computer Aided Engineering Associates, Inc.
-
Parametric Modeling
z Parametric models can be generated to rapidly determine the effect of a design modification g
Recommended procedure: Create a first pass at a model using parameters for design variables
Copy the jobname log file to another file name to be used as your parametric input Copy the jobname.log file to another file name to be used as your parametric input file.
Modify the design parameters in the input file
Read the input file into ANSYS to solve the new analysis with the design changesRead the input file into ANSYS to solve the new analysis with the design changes
Example: Parametric Plate Model
length = 20
width = 5width 5
thick = 0.25
/prep7
rect,0,length,0,width
Computer Aided Engineering Associates, Inc. 17Computer Aided Engineering Associates, Inc. 17Copyright 2002Computer Aided Engineering Associates, Inc.
r,1,thick
-
Importing/Exporting Data in/out of ANSYS
z Allows data exchange between ANSYS and other codes Import data into ANSYS from an external file using *VREAD, *TREAD p g ,
Export data to an external file from ANSYS using *VWRITE, *MWRITE
Example: Importing data with *VREAD
idim = 5
jdim = 2
*dim,aa,,idim,jdim
*vread aa(1 1) read2 txt KJI 1 jdim idimvread,aa(1,1),read2,txt,,KJI,1,jdim,idim
(2f4.0)
File: read2.txt11 1221 2231 3241 4251 52
Computer Aided Engineering Associates, Inc. 18Computer Aided Engineering Associates, Inc. 18Copyright 2002Computer Aided Engineering Associates, Inc.
51 52
-
Customized Menus and Toolbars
z Allows for simple customized messages and input menus *ASK command: Pop up a simple input menu ASK command: Pop up a simple input menu
Example: *ask, jtitle, job title
*MSG command: Pop up a simple messageExample: *msg, ui, inner, 25, 1.2, 148
Radius ( %C) = %I, Thick = %G, Length = %G
Computer Aided Engineering Associates, Inc. 19Computer Aided Engineering Associates, Inc. 19Copyright 2002Computer Aided Engineering Associates, Inc.
-
Customized Menus and Toolbars cont
z You can create a multiple-prompt menu using the *MULTIPRO Utility This can include a limited amount of text and input fieldsp
Computer Aided Engineering Associates, Inc. 20Computer Aided Engineering Associates, Inc. 20Copyright 2002Computer Aided Engineering Associates, Inc.
-
Customized Menus and Toolbars cont
z Toolbar items can be used to execute macros or commonly used commands
*ABBR, MKPART, ptcreate
PTCREATE.MAC: Macro to create and mesh a bracket
w1 = 3
w2 = 1
/prep7
rect 0 w1 0 1rect,0,w1,0,1
rect,0,w2,0,5
aadd,all
Computer Aided Engineering Associates, Inc. 21Computer Aided Engineering Associates, Inc. 21Copyright 2002Computer Aided Engineering Associates, Inc.
-
Storing macros
z Macros can be stored in a macro directory and accessed with either the ANSYS_MACROLIB environment variable or the /PSEARCH _command.
z Macro files are searched in the following order:1 ANSYS docu directory1. ANSYS docu directory
2. ANSYS_MACROLIB environment variable (if defined)
3. Users home directory or the directory specified with the /PSEARCH command (if d fi d Utilit M > M > M S h P th)defined: Utility Menu > Macro > Macro Search Path)
4. Local working directory
Computer Aided Engineering Associates, Inc. 22Computer Aided Engineering Associates, Inc. 22Copyright 2002Computer Aided Engineering Associates, Inc.
-
Encrypting macros
z Macros can be encrypted and run with an encryption password Use the /ENCRYPT command to assign the password and the encrypted macro Use the /ENCRYPT command to assign the password and the encrypted macro
name
Use the /DECRYPT command to enter the password and run the macro
Example: Encrypt Macro PTCREATE.MAC
/ENCRYPT,pass99,eptcreate,mac
/nopr
Encrypted Macro EPTCREATE.MAC
/DECRYPT,PASSWORD
01 dvg0/PREP7
rect,0,w1,0,1
rect,0,w2,0,5
01_dvg0
02%WIaIl
03y\!maY%i:#Vp
04i#\KU)b?}Zkp
esize,.25
amesh,all
/gopr
0CT9FPdX1/?
0DYHLl@
/DECRYPT
Computer Aided Engineering Associates, Inc. 23Computer Aided Engineering Associates, Inc. 23Copyright 2002Computer Aided Engineering Associates, Inc.
/ENCRYPT/DECRYPT
-
Sample Macro
z Macro SXYZ.mac: Calculates any stress component at any coordinate in the model
Macro Call: SXYZ, 0.19, 0.14, 0 , x
(Calculate the SX Stress at X = 0.19, Y = 0.14, and Z = 0 using averaged nodal stresses)stresses)
Computer Aided Engineering Associates, Inc. 24Computer Aided Engineering Associates, Inc. 24Copyright 2002Computer Aided Engineering Associates, Inc.
-
Sample Macro cont
! Usage: sxyz,X,Y,Z,comp! where: X= x coord. (undef. geom.)! Y d
pdef,S%arg4%,s,%arg4%,avg!
! Y= y coord.! Z= z coord.! comp= stress component! (x,y,z,1,etc. Use eqv as default) /nopr
! Get the result from the first point on the path*get,ar21,path,,item,s%arg4%,pathpt,1!! Print the result
*msg ui arg4 arg1 arg2 arg3 ar21*get,ar20,active,,rout! If user is in /POST1 proceed*if,ar20,eq,31,then! Turn off warning messages/uis,msgpop,3
msg,ui,arg4,arg1,arg2,arg3,ar21The averaged stress S%C at X= %g, Y= %g, Z= %g &%/ is %g
!! Turn warning messages back on/uis msgpop 2
!! Set up the pathpath,path1,2,,! Define two path pointsppath,1,,arg1,arg2,arg3
/uis,msgpop,2!*else!! Print warning message if user is not in /post1
*msg uipp , ,, g , g , gppath,2,,arg1+.0001,arg2+.0001,arg3!! Map the result onto the path*get,artype,parm,arg4,type*if,artype,eq,0,then
*msg,ui*** You need to be in /POST1 to run SXYZ ***
*endif/gopr
Computer Aided Engineering Associates, Inc. 25Computer Aided Engineering Associates, Inc. 25Copyright 2002Computer Aided Engineering Associates, Inc.
,a type,eq,0,t earg4= eqv
*endif
-
APDL Example 1: Pin insertion macroAPDL Example 1: Pin insertion macro
PC Board Pin Insertion MacroPC Board Pin Insertion Macrozz Goal: Optimize pin insertion forcesGoal: Optimize pin insertion forces
Solderless pin illustration from
www.zierick.com
Computer Aided Engineering Associates, Inc. 26Computer Aided Engineering Associates, Inc. 26Copyright 2002Computer Aided Engineering Associates, Inc.
-
Input ParametersInput Parameters
Computer Aided Engineering Associates, Inc. 27Computer Aided Engineering Associates, Inc. 27Copyright 2002Computer Aided Engineering Associates, Inc.
-
Geometric VariationsGeometric Variations
Computer Aided Engineering Associates, Inc. 28Computer Aided Engineering Associates, Inc. 28Copyright 2002Computer Aided Engineering Associates, Inc.
-
Pin Model GenerationPin Model Generation
Pin Model Generation
Computer Aided Engineering Associates, Inc. 29Computer Aided Engineering Associates, Inc. 29Copyright 2002Computer Aided Engineering Associates, Inc.
-
Insertion Force OptimizationInsertion Force Optimization
Computer Aided Engineering Associates, Inc. 30Computer Aided Engineering Associates, Inc. 30Copyright 2002Computer Aided Engineering Associates, Inc.
-
APDL Example 2: Stent automation macroAPDL Example 2: Stent automation macro
Stent Automated Stent Automated Analysis SystemAnalysis Systemy yy y
Computer Aided Engineering Associates, Inc. 31Computer Aided Engineering Associates, Inc. 31Copyright 2002Computer Aided Engineering Associates, Inc.
-
What is a Stent ?
z A balloon expanded stent is a small, latticed, metal scaffold that is introduced into your blood vessel on a balloon catheter. y
z The doctor maneuvers the catheter into the blocked artery and inflates the balloon.
z Inflation causes the stent to expand and press against the vessel wall.z Inflation causes the stent to expand and press against the vessel wall. z Once the balloon has been deflated and withdrawn, the stent stays in
place permanently, holding the blood vessel open and improving blood flow.flow.
Computer Aided Engineering Associates, Inc. 32Computer Aided Engineering Associates, Inc. 32Copyright 2002Computer Aided Engineering Associates, Inc.
-
Stent Finite Element Analysis
z FEA starting point could be a 2-D CAD drawing or model parameters.
Example Parameters:soptp(1,1) = 'outer bend radius'soptp(1 3) = widthsoptp(1,3) = widthsoptp(1,4) = 'axial c-to-c length'soptp(1,5) = 'cir. c-to-c length'!!rro = .00897width = .00378lst = 03577lst = .03577lcirc = .01479
Computer Aided Engineering Associates, Inc. 33Computer Aided Engineering Associates, Inc. 33Copyright 2002Computer Aided Engineering Associates, Inc.
-
Stent Finite Element Analysis
z Sample parameters, including the option for the analysis to email results back to the user!results back to the user!
nrep = 6 ! no. of circum. repeating sectionsarep = 0.25 ! no. of repeating sections modeledisymm = 2 ! 1=no symmetry, 2=symmetrytwall = 0.0055 ! wall thickness (inch)crpid = 0. ! crimped inner diameter of stent (mm)desid = 3.0 ! design expanded inner diameter of stent (mm)g p ( )cdivs = 6 ! line divisions on circum .boundary linesldivs = 4 ! line divisions on long. boundary linesissiz = 6 ! smart sizing parametergsfac = 1 ! global element sizing factorgsfac = 1. ! global element sizing factornumsub = 30 ! starting number of substeps in each LSores = 5 ! frequency of writing resultsmailit = 1 ! e-mail results files: 0=no, 1=yes
Computer Aided Engineering Associates, Inc. 34Computer Aided Engineering Associates, Inc. 34Copyright 2002Computer Aided Engineering Associates, Inc.
-
Automated Geometry Generation
z 3-D ANSYS model developed through extrusion and coordinate transformation automatically in APDL
2D Geometry From Parametric Model
Cylindrical 3D Mesh with target surface
transformation automatically in APDL.
a a et c ode
Flat 3D Mesh
g
Flat 3D Mesh
Computer Aided Engineering Associates, Inc. 35Computer Aided Engineering Associates, Inc. 35Copyright 2002Computer Aided Engineering Associates, Inc.
-
3-D Stent Expansion
Computer Aided Engineering Associates, Inc. 36Computer Aided Engineering Associates, Inc. 36Copyright 2002Computer Aided Engineering Associates, Inc.
3D Expansion Analysis Results
-
Automated Postprocessing
! Animation Generation & Automated Postprocessing!i2dan = 1 ! 0=no 2d animation, 1=create 2d animationi3dan = 0 ! 0=no 3d animation, 1=create 3d animation!flstep = 1 ! first load step to animatep pllstep = 3 ! last load step to animatemrep = 1 ! no. of rows of stent to animatenskip = 1 ! results step increment to animatesmin = 0. ! min. plastic strain on contoursmin 0. ! min. plastic strain on contoursmax = 0.35 ! max. plastic strain on contourcontfact = 1.0 ! contour multiplication factorcdist = 0.75 ! contour viewing distanceforl = 1 ! 0=fit to initial state 1=fit to final stateforl = 1 ! 0=fit to initial state, 1=fit to final stateilgd = 1 ! 0=legend off, 1=legend oniball = 1 ! 0=balloon off, 1=balloon onijpg = 3 ! 0=none, 1=geom jpeg, 2=final jpeg, 3=bothidb3 0 ! 0 db 1 db 2 fi l db 3 b th
Computer Aided Engineering Associates, Inc. 37Computer Aided Engineering Associates, Inc. 37Copyright 2002Computer Aided Engineering Associates, Inc.
idb3 = 0 ! 0=no db, 1=geom db, 2=final db, 3=both
-
Results for a Simple Stent Geometry
Deployed Device
Computer Aided Engineering Associates, Inc. 38Computer Aided Engineering Associates, Inc. 38Copyright 2002Computer Aided Engineering Associates, Inc.
Deployed Device
-
Computer Aided Engineering Associates, Inc. 39Computer Aided Engineering Associates, Inc. 39Copyright 2002Computer Aided Engineering Associates, Inc.