210 likes | 354 Vues
Module 2. Array Parameters. 2. Array Parameters. Array Parameters are parameters that can take on multiple values. 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 -5.2 25.0 107.9. 814 17 386
E N D
Module 2 Array Parameters
2. Array Parameters • Array Parameters are parameters that can take on multiple values. • 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 -5.2 25.0 107.9 814 17 386 1057 -47 704 1033 -52 348 7141 25 -66 622 107 111 AA = BB = CC = 5x1 array 5x3 array mxnx3 array October 30, 2001 Inventory #001571 2-2
...Array Parameters • In this chapter, we will discuss how to define array parameters and how to perform operations among them. • Topics covered: A. Types of Array Parameters B. How to Define C. Retrieving Database Information D. Array Operations E. Workshop October 30, 2001 Inventory #001571 2-3
814 17 386 1057 -47 704 1033 -52 348 7141 25 -66 622 107 111 BB = 5x3 array Array ParametersA. Types of Array Parameters • There are three types of array parameters: • 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. October 30, 2001 Inventory #001571 2-4
Array Parameters...Types of Array Parameters • Type table is similar to array, except that its row, column, and plane indices can be real numbers, allowing you to interpolate values. • 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. October 30, 2001 Inventory #001571 2-5
Array Parameters...Types of Array Parameters • A character array is a 1-D, 2-D, or 3-D matrix of alphanumeric strings. • Useful for storing file names, DOF labels, etc. • Each string can have up to eight characters. JOB1 JOB2 JOB3 JOB4 JOB5 UX UY UZ ROTY ROTZ jobs = dofs = October 30, 2001 Inventory #001571 2-6
Array ParametersB. How to Define Two steps to define an array parameter: 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 October 30, 2001 Inventory #001571 2-7
Array Parameters...How to Define 2. Fill in the array values. • 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 October 30, 2001 Inventory #001571 2-8
Array Parameters...How to Define • 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. • 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 October 30, 2001 Inventory #001571 2-9
Array Parameters...How to Define • For character arrays, there is no graphical way to fill in the strings. • 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 October 30, 2001 Inventory #001571 2-10
Array Parameters...How to Define • There are many other ways to fill arrays: • 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). October 30, 2001 Inventory #001571 2-11
Array ParametersC. Retrieving Database Information • Just as *GET retrieves scalar data from the database, you can use *VGET to retrieve array information. • 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 October 30, 2001 Inventory #001571 2-12
Array Parameters…Retrieving Database Information • Other types of array information you can retrieve: • 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… October 30, 2001 Inventory #001571 2-13
Array ParametersD. Array Operations • Once you have defined array parameters, you can perform a variety of operations among them. • Utility Menu > Parameters > Array Operations • Or *VFUN, *VOPER, *VSCFUN, *VWRITE, etc. 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. 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 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 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. October 30, 2001 Inventory #001571 2-18
Array Parameters...Array Operations • There are many, many more array operations available. • Please refer to your APDL Programmer’s Guide for details. October 30, 2001 Inventory #001571 2-19
Array ParametersE. Workshop • Refer to your Workshop Supplement for instructions on: W1. Axisymmetric Wheel October 30, 2001 Inventory #001571 2-20