Module 2 Array Parameters 2. Array Parameters Training Manual • They can be 1-D, 2-D, or 3-D. – 1-D: m rows x 1 column – 2-D: m rows x n columns – 3-D: m rows x n columns x k planes 17.1 -47.6 AA = -5.2 25.0 107.9 5x1 array BB = 814 17 1057 -47 1033 -52 7141 25 622 107 386 704 348 -66 111 5x3 array CC = mxnx3 array INTRODUCTION TO ANSYS 6.0 - Part 2 • Array Parameters are parameters that can take on multiple values. October 30, 2001 Inventory #001571 2-2 ...Array Parameters Training Manual • Topics covered: A. Types of Array Parameters B. How to Define C. Retrieving Database Information D. Array Operations E. Workshop INTRODUCTION TO ANSYS 6.0 - Part 2 • In this chapter, we will discuss how to define array parameters and how to perform operations among them. October 30, 2001 Inventory #001571 2-3 Array Parameters A. Types of Array Parameters Training Manual – Array – Table – Character • Type array is a standard 1-D, 2-D, or 3-D matrix of numeric values, such as BB shown here. – BB(2,3) = 704 – BB(3,1) = 1033 – etc. BB = 814 1057 1033 7141 622 17 -47 -52 25 107 386 704 348 -66 111 5x3 array INTRODUCTION TO ANSYS 6.0 - Part 2 • There are three types of array parameters: October 30, 2001 Inventory #001571 2-4 Array Parameters ...Types of Array Parameters – Requires the “zeroth” row, column, and plane to be filled with numbers. – Useful to define time-dependent loads and other similar functions. – Primary variables include X, Y, Z, temperature, velocity, pressure and time. – For example, the table array FORCE could represent a force-vs-time function, with the zeroth column representing time values. • FORCE(0.4) = 279.9996 • FORCE(6.5) = 560.0 • FORCE(8.9) = 119.25 • etc. INTRODUCTION TO ANSYS 6.0 - Part 2 • Type table is similar to array, except that its row, column, and plane indices can be real numbers, allowing you to interpolate values. Training Manual October 30, 2001 Inventory #001571 2-5 Array Parameters ...Types of Array Parameters Training Manual – Useful for storing file names, DOF labels, etc. – Each string can have up to eight characters. JOB1 JOB2 jobs = JOB3 JOB4 JOB5 UX UY dofs = UZ ROTY ROTZ INTRODUCTION TO ANSYS 6.0 - Part 2 • A character array is a 1-D, 2-D, or 3-D matrix of alphanumeric strings. October 30, 2001 Inventory #001571 2-6 Array Parameters B. How to Define 1. Specify name, type and dimension. – Utility Menu > Parameters > Array Parameters > Define/Edit > Add – or *DIM command. Example: *dim,aa,array,4 ! 4x1x1 array *dim,force,table,5 ! 5x1x1 table *dim,bb,array,5,3 ! 5x3x1 array *dim,dofs,char,6 ! 6x1x1 character array – parameter name can not exceed 32 characters INTRODUCTION TO ANSYS 6.0 - Part 2 Two steps to define an array parameter: Training Manual October 30, 2001 Inventory #001571 2-7 Array Parameters ...How to Define – Utility Menu > Parameters > Array Parameters > Define/Edit > Edit – Or *VEDIT command – Or “=”command. Example: bb(1,1)=11,21,31,41,51 bb(1,2)=12,22,32,42,52 bb(1,3)=13,23,33,43,53 INTRODUCTION TO ANSYS 6.0 - Part 2 2. Fill in the array values. Training Manual October 30, 2001 Inventory #001571 2-8 Array Parameters ...How to Define – For example: force(1,1)=0,560,560,238.5,0 force(1,0)=1E-6,0.8,7.2,8.5,9.3 force(0,1)=0 INTRODUCTION TO ANSYS 6.0 - Part 2 • For table type arrays, you must fill in values for the zeroth locations. Otherwise, their values will default to the “tiny” number 7.8886E-31. Training Manual October 30, 2001 Inventory #001571 2-9 Array Parameters ...How to Define – Use the “=”command to type in the values, then use *STAT to list them. – Each string must be enclosed in single quotes. – Example: dofs(1) = ‘ux’, ‘uy’, ‘uz’, ‘rotx’, ‘roty’, ‘rotz’ *stat,dofs INTRODUCTION TO ANSYS 6.0 - Part 2 • For character arrays, there is no graphical way to fill in the strings. Training Manual October 30, 2001 Inventory #001571 2-10 Array Parameters ...How to Define – Predefined functions in *VFILL command (Utility Menu > Parameters > Array Parameters > Fill) • ramp function • random function • etc. – Read data from a file: • *VREAD for arrays • *TREAD for tables • Or Utility Menu > Parameters > Read from File – Retrieve data from the database (discussed next). INTRODUCTION TO ANSYS 6.0 - Part 2 • There are many other ways to fill arrays: Training Manual October 30, 2001 Inventory #001571 2-11 Array Parameters C. Retrieving Database Information Training Manual – Or Utility Menu > Parameters > Get Array Data • First dimension the array, then retrieve the data. • Example: *dim,dispval,array,20,3 ! 20x3 array *vget,dispval(1,1),node,1,u,x ! UX of nodes 1-20 in column 1 *vget,dispval(1,2),node,1,u,y ! UY in column 2 *vget,dispval(1,3),node,1,u,z ! UZ in column 3 INTRODUCTION TO ANSYS 6.0 - Part 2 • Just as *GET retrieves scalar data from the database, you can use *VGET to retrieve array information. October 30, 2001 Inventory #001571 2-12 Array Parameters …Retrieving Database Information Training Manual – nodal and keypoint coordinates (in the active CSYS) – attributes of elements, volumes, areas, etc. – select status of entities (1 if selected, 0 if not selected) – nodal stresses, strains, thermal gradients, thermal flux, etc. – element table data – and so on… INTRODUCTION TO ANSYS 6.0 - Part 2 • Other types of array information you can retrieve: October 30, 2001 Inventory #001571 2-13 Array Parameters D. Array Operations Training Manual – Utility Menu > Parameters > Array Operations – Or *VFUN, *VOPER, *VSCFUN, *VWRITE, etc. INTRODUCTION TO ANSYS 6.0 - Part 2 • Once you have defined array parameters, you can perform a variety of operations among them. October 30, 2001 Inventory #001571 2-14 Array Parameters ...Array Operations *VFUN operates on a single array parameter. – *vfun,b(1),sin,a(1) will result in b(j)=sin(a(j)) – Other operations include: • natural log, common log, exponential • Square root, sort, copy • Conversion from local to global coordinates and vice-versa • Tangent and normal vectors to a path • etc. INTRODUCTION TO ANSYS 6.0 - Part 2 • Training Manual October 30, 2001 Inventory #001571 2-15 Array Parameters ...Array Operations *VOPER operates on two array parameters. – *voper,c(1),a(1),sub,b(1) will result in c(k)=a(k)-b(k) – Other operations include: • addition, subtraction, multiplication, division • min, max, logical operations • derivatives, integrals • dot and cross products INTRODUCTION TO ANSYS 6.0 - Part 2 • Training Manual October 30, 2001 Inventory #001571 2-16 Array Parameters ...Array Operations *VSCFUN determines properties of an array parameter. – *vscfun,maxval,max,a(1) will result in a scalar parameter maxval = max(a(i)) – Other operations include: • sum of all the elements of an array • statistical quantities such as mean, median, standard deviation, variance and rms • min/max, index location of min/max • index locations of first and last non-zero entry INTRODUCTION TO ANSYS 6.0 - Part 2 • Training Manual October 30, 2001 Inventory #001571 2-17 Array Parameters ...Array Operations *VWRITE writes data to a file in a formatted sequence. – Utility Menu > Parameters > Array Parameters > Write to File – Example: *cfopen,wing,dat *vwrite (/,3x,’Node Number’,4x,’Temperature’,/) *vwrite,nnum(1),tval(1) (5x,f6.0,6x,e14.8) *cfclose will create a file called wing.dat with the nnum and tval arrays written in specified format. INTRODUCTION TO ANSYS 6.0 - Part 2 • Training Manual October 30, 2001 Inventory #001571 2-18 Array Parameters ...Array Operations Training Manual • Please refer to your APDL Programmer’s Guide for details. INTRODUCTION TO ANSYS 6.0 - Part 2 • There are many, many more array operations available. October 30, 2001 Inventory #001571 2-19 Array Parameters E. Workshop Training Manual W1. Axisymmetric Wheel INTRODUCTION TO ANSYS 6.0 - Part 2 • Refer to your Workshop Supplement for instructions on: October 30, 2001 Inventory #001571 2-20