I DOCUMENTATION AND USER INSTRUCTIONS OF PROGRAM `VISOR' Appendix I contains a brief documentation, user instructions and specimen input and output data le for program VISOR developed in Chapter 11. I-1 I-2 I. Documentation and user instructions of program VISOR I. Documentation and User Instructions of Program TRAM I.1 Program Documentation I.1.1 Overview of the Program This section describes VISOR which is a program for the free vibration analysis of solids of revolution and their sectors in order to make all of the subroutines in VISOR modular in form a type of dynamic dimensioning has been used. Dimensions are xed in the main routine and all necessary information is transmitted between routines by the use of arguments. This approach has the advantage that the maximum dimensions can be updated in a very simple manner. Only the parameter statements in the main segment, which sets the maximum dimension sizes, need modication. I.1.2 Main Routines Program VISOR consists of a master segment and four main subroutines. The subroutines are now briey described: 1. MASTER is the main segment which controls the calling of all the other subroutines. 2. FIMA handles the le management. This subroutine open and close the necessary data les, 3. INSOR which reads in most of the input data, 4. STISOR which evaluates the stiness and mass matrices for solids of revolution and their sectors, 5. BERKEL which is an eigenvalue solver, and 6. OUTSOR which outputs the results. Program VISOR is written in a modular form so that users can easily implement their own modules for eigenvalue solution and for output. Thus, BERKEL and OUTSOR are not compulsory routines in the program. They are routines which illustrate the implementation of the eigenvalue solver, described and coded by Bathe [1], which employs a subspace iteration method with Strum sequence checks. Next the function of the main segment and major subroutines will be described. Main segment: which controls the calling of the major routines is now described. I.1 Program documentation I-3 1. Initialise variables in data statements. 2. Call INSOR to read in most of the data. 3. Loop over each harmonic. 3.1 Call STISOR to evaluate K and M. 3.2 Call BERKEL to nd eigenvalues. 3.3 Call OUTSOR to print the results. Subroutine INSOR: The main function of INSOR is to read most of the input data. The basic structure of INSOR is of the following form. 1. 2. 3. 4. 5. 6. 7. Read and write problem title. Read and write control data. Read and write element connections and property set numbers. Initialise array coord. Read and write nodal coordinates. Read and write xity conditions. Read and write element properties. Subroutine STISOR: The main function of STISOR is to evaluate stiness and mass matrices for SOR elements and SOR sectors. Subroutine STISOR has the following structure. 1. Rewind les 1 and 7 ready for writing K and M. 2. Set up Gauss sampling data. 3. Loop over each element. 3.1 Put nodal coordinates in local array. 3.2 Set up element D matrix. 3.3 Extract element density and included angle. 3.4 Initialise K and M arrays. 3.5 Evaluate stiness and mass matrix. 3.6 Make K and M symmetric. 3.7 Write K and M to les 1 and 7 respectively. Subroutine BERKEL: is the interface routine for the eigenvalue solver. It prepares all necessary data for subspace iteration coded in subroutine SSPACE. BERKEL call subroutine COLHT to calculate column heights and subroutine ADDRES to calculate addresses of diagonal elements in a banded matrix whose column heights are known. From les 1 and 7 BERKEL reads and writes I-4 I. Documentation and user instructions of program VISOR in vector form strip stiness and mass matrices, then calls ADDBAN to assemble the upper triangular part of those strip matrices into the compacted global matrices. BERKEL reads two indicators for subspace iteration as input data: ifss | indicator for Strum sequence check and ifpr | indicator for printing during iteration. Note: The subroutines COLHT, ADDRES , ADDBAN and SSPACE are fully described and listed in reference [1]. To match subroutine BERKEL with subroutine OUTSOR it is necessary to make some modications in SSPACE and they are: Input DATA statement | data iout1/4/ Substitute iout with iout1 in the following lines: spce0269 and spce0292 Subroutine OUTSOR: simply prints out eigenvalues, modes and error norms after reading from le 4. If printing during iteration is required (ifpr=1) then corresponding results are stored in le 3. I.2 Input Instructions I.2.1 Glossary of Variable Names alpha coord(mpoin,2) dense estif(27,27) emass(27,27) ifpre(mvfix,ndofn) iharm lnods(melem,9) matno(melem) melem mevab mmats mpoin mvfix ndofn nevab nelem included angle for nite prism analysis r- and y- coordinates of nodes density element stiness matrix for a given harmonic element mass matrix xity code matrix, 0 = free, 1 = xed counter for harmonic terms element nodal connectivities material set numbers for each element maximum number of elements = 27, maximum number of element variables maximum number of material sets maximum number of nodal points maximum number of restrained nodes = 3, number of degrees of freedom per node = 27, number of degrees of freedom per element number of element I.2 Input instructions nharm nmats nmode nnode nofix(mvfix) npoin ntype poiss props(mmats) young number of harmonic terms to be used number of dierent material properties number of eigenvalues required = 9, number of nodes per element nodes with at least one prescribed variable number of nodes indicator for analysis type = 0, for axisymmetry = 1, for asymmetry = 2, for prism Poisson's ratio properties for each material set. Young's modulus I-5 I-6 I. Documentation and user instructions of program VISOR I.2.2 Main Structure of Input Data In the following section user instructions for preparing the input data are presented. Data set 1: Title of problem cols. variable name 1-80 title | One record (20a4) description Title of the problem Data set 2: Problem parameters | One record (9i5) cols. variable name description 1-5 npoin number of nodes 6-10 nelem number of elements 11-15 nvfix number of prescribed nodes 16-20 ntype analysis type indicator = 0 for axisymmetric analysis = 1 for asymmetric analysis = 2 for nite prism analysis 21-25 nmats number of dierent materials 26-30 nprop number of material properties (3 or 4) 31-35 ngaus number of Gauss points (3) 36-40 nharm number of harmonics 41-45 nmode number of eigenmodes per harmonic Data set 3: Nodal connections cols. variable name 1-5 numel 6-10 matno(numel) | nelem records (11i5) description element number material number for the element 11-15 lnods(numel,1) global number of node 1. .. .. .. .. .. . 51-55 lnods(numel,9) global number of node 9 I.2 Input instructions Data set 4: Nodal Coordinates cols. variable name 1-10 ipoin 6-15 I-7 | npoin records (i5,2f10.5) description number of node coord(ipoin,1) r- coordinate of node 16-25 coord(ipoin,2) y- coordinate of node Data set 5: Fixed Values cols. variable name 1-5 nofix(ivfix) | nvfix records (i5,2x,3i1) description number of xed node 8 ifpre(ivfix,1) indicator for constraint in u 9 ifpre(ivfix,2) indicator for constraint in v 10 ifpre(ivfix,3) indicator for constraint in w indicator = 1 constrained, = 0 free Note: nvfix= 0 implies that for the prism analysis, the sector is simply supported at both ends. Also a constraint in a degree of freedom implies that the displacement associated with that degree of freedom is zero along the nodal line between the sector boundary planes. Other nonzero constraints are not allowed in this program Data set 6: Material properties data One record for each dierent material. Total of nmats records (i5,5f10.5) cols. variable name 1-5 numat description Material set number 6-15 props(numat, 1) Elastic modulus E 16-25 props(numat, 2) Poisson's ratio 26-35 props(numat, 3) Material density 36-45 props(numat,4) included angle in prism analysis Data set 7: Sturm sequence indicators | One record (2i5) cols. variable name description 1-5 ifss indicator for Sturm sequence check = 0, no check = 1, check applied 6-10 ifpr indicator for printing during iteration = 0, no printing = 1, printing I-8 I. Documentation and user instructions of program VISOR I.3 Specimen Input Data File In this section input data le are provided for some of numerical examples presented in the text. This information will be of assistance to readers who wish to run the program contained in the book on their own computer. I.3.1 Simply Supported Circular Plate Problem denition: In the rst example, the axisymmetric and asymmetric modes of vibration of a simply supported circular plate of thickness-to-radius ratio of h=a = 0:1 (shown in Figure I.1) are evaluated using VISOR. The frequency parameters 2n;s = !ns a2 (h=D)1=2 for nodal diameters n = 0; 1; 2; 3 and concentric circles s = 0; 1; 2; 3 are obtained from VISOR using 5 SOR elements. Note that is the mass density per unit volume and D is the exural rigidity of the plate expressed as D = Eh3 =12(1 2 ) where E is the elastic modulus and is Poisson's ratio. y; v h B C D A r; u a Simply supported circular plate: h=a = 0:1; boundary conditions A C (u = w = 0); B (w = 0); C (u = v = w = 0); D(w = 0). Fig. I.1. ! A typical input le for V ISOR is displaced in Table I.1. Table I.1. The input data le for simply supported circular plate. simply supported circular plate 33 5 13 1 1 3 3 1 1 1 2 3 6 9 2 1 7 8 9 12 15 3 1 13 14 15 18 21 4 1 19 20 21 24 27 5 1 25 26 27 30 33 1 0.0 0.1 2 0.0 0.05 3 0.0 0.0 asymmetric 3 3 8 7 14 13 20 19 26 25 32 31 data set - h/a = 0.1 1 2 4 5 3 10 11 16 17 22 23 28 29 4 I.3 Specimen input data le 4 5 6 7 9 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 2 5 8 11 14 17 20 23 26 29 31 32 33 1 1 101 101 101 101 101 101 101 101 101 101 001 111 001 1 0.1 0.1 0.1 0.2 0.2 0.2 0.3 0.3 0.3 0.4 0.4 0.4 0.5 0.5 0.5 0.6 0.6 0.6 0.7 0.7 0.7 0.8 0.8 0.8 0.9 0.9 0.9 1.0 1.0 1.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 0.1 0.05 0.0 1.0 0.3 I-9 5 1.0 6 7 I-10 I. Documentation and user instructions of program VISOR 1 1 1 1 1 1 1 1 I.3.2 Simply Supported Square Plate Problem denition: This example demonstrates the use of VISOR for the nite prism analysis of a sector of a solid revolution with simple support conditions on the radial plane boundaries. By using a very large average radius R and the special choice of included angle so that R = a it is possible to simulate quite accurately the behaviour of structures with rectangular planforms. Simple supports ( Simple supports v = w = 0) ( Simple supports v = w = 0) ( u = w = 0) R Fig. I.2. Simply supported square plate analysed using a curved nite prism method: a = R = 1:0; = 0:0001; R = 10; 000:0. To illustrate this artice, the square simply supported plate shown in Figure I.2 is analysed using VISOR. An radius average of R = 10; 000:0 is assumed and an included angle of = 0:0001 is used to represent a plate of span a = R = 1:0. By specifying NTYPE = 2 in the input for VISOR, the nite prism approach is adopted. A typical input le for V ISOR is displaced in Table I.2. Table I.2. The input data le for simply supported square plate. square plate by finite prism method h/a = 0.1 33 5 15 2 1 4 3 3 3 1 1 1 2 3 6 9 8 7 4 2 1 7 8 9 12 15 14 13 10 data set 1 2 5 3 11 References 3 4 5 1 3 7 9 13 15 19 21 25 27 31 33 1 2 3 5 8 11 14 17 20 23 26 29 31 32 33 1 1 1 1 1 1 1 1 1 13 19 25 999.5 999.5 999.7 999.7 999.9 999.9 1000.1 1000.1 1000.3 1000.3 1000.5 1000.5 001 111 001 101 101 101 101 101 101 101 101 101 001 111 001 10920.0 1 1 1 1 1 14 20 26 15 21 27 0.1 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.1 0.0 0.3 18 24 30 21 27 33 20 26 32 19 25 31 16 22 28 17 23 29 I-11 4 5 10.0 0.001 6 7 References [1] Bathe, K.J., Finite element procedures in engineering analysis, Prentice{Hall, Englewood Clis, New Jersey, 1982.
© Copyright 2025 Paperzz