E DOCUMENTATION AND USER INSTRUCTIONS OF PROGRAM `PREP' Appendix E contains the documentation for the program PREP developed in Chapter 2. It gives some information about the general features of the programs. It also presents detailed input instructions and the specimen input data les. E-1 E-2 E. Documentation and user instructions of program PREP E. Documentation and User Instructions of Program PREP E.1 Program Documentation E.1.1 Overview of the Program PREP is the preprocessor that can be used for the programs for linear elastic stress and dynamic analysis and shape optimization of shells of revolution and also prismatic shells of rectangular and curved planform which are supported on diaphragms at two opposite edges with the other two edges arbitrarily restrained. It contains: (a) a shape modelling tool using cubic splines, (b) an automatic mesh generation program, (c) bandwidth and frontwidth minimization algorithm, and (d) a plotting program which is written in Fortran 77. However, except the plotting module, all other modules of the PREP program is already implemented in SANOPT-S and SANOPT-F analysis and optimization programs. E.1.2 Block Structure and Main Routines A modular approach is adopted, in that separate subroutines are employed to perform the various operation required in curve tting and plotting. Each module in turn is composed of one or more subroutines relevant only to its own needs and, in some cases, of subroutines which are common to several modules. Control of the modules is held by the main or master segment. The main segment of the program structure for PREP is given in Figure E.1. Only the important subroutines are shown. The modules are described in relation to their general functions as follows: 1. FIMA handles the le management. This subroutine open and close the necessary data les. 2. PREDAT handles input data dening the geometry, boundary conditions, material properties and plotting control parameters. 3. PREPAR calculates the control points for every cubic B-spline segment in turn and computes the end tangents. 4. PREGEN this subroutine generates the nodes along the cubic B-spline curves according to the spacing specied by the background grid. In other words, it generates meshes. 5. PRECOR is called when there is a need to carry out geometric corrections in convergence studies. E.1 Program documentation E-3 FIMA PREDAT PREPAR PREGEN PRECOR MINCON PREPOS PREFIX PREP PRELOA PREINT PREPLO PLOGEO PLOGEL PLOMES PLOMEL PLOFIL FIMA Fig. E.1. Main block diagram of program PREP. 6. BANDWM perform a simultaneous frontwidth and prole minimization prior to the use of the equation solver (such as, Gaussian elimination, frontal solver or prole solver). 7. PREPOS updates some variables after renumbering (frontwidth and prole minimisation) has been completed 8. PREFIX nds the nodes of the newly generated mesh which have got some boundary conditions and assigns the according values to them. 9. PRELOA automatically updates the loading data (forces and moments at the nodes) for the new generated nodes. 10. PREINT interpolates the parameters in the array paras at the t-values for the generated nodes using a natural cubic B-spline representation. 11. PREPLO set up the plotting parameters. E-4 E. Documentation and user instructions of program PREP 12. PLOGEO plots the geometry of the structure. 13. PLOGEL plots the loaded geometry of the structure. 14. PLOMES plots the generated mesh with the xed nodes and the loads with point loads marked. 15. PLOMEL plots the loaded mesh. 16. PREFIL outputs the data into a le which can be read by the analysis program. furthermore, it creates an additional output le which is necessary for a remeshing procedure. E.1.3 File Structures Program PREP uses the following les for input and output: unit 5 (from keyboard) reads name of the les and some plotting control parameters. unit 6 (print screen) some basic data of preprocessing. unit 10 reads the control parameters, background mesh, key points coordinates, segment data, boundary condition, loading data and material properties. unit 11 contains the results of preprocessor. The output le can be used as input data le for analysis program. It contains analysis control data, element connectivity, nodal point coordinates, boundary conditions, loading and material properties. E.1.4 Main Dimensions and Limitations of the Program The program at present can handle 10000 element/strip, 10 dierent material properties, 10000 points, 100 geometry key points points, 20 segment and 10 interpolation parameters. E.2 Input Instructions E.2.1 Main Structure of Input Data In the following section user instructions for preparing the input data are presented for program PREP. E.2 Input instructions E-5 Data set 1: Title of problem | Three record (a80) cols. variable name 1-80 title description Title of the problem Data set 2: Parameters for preprocessor and analysis | One record (*) cols. variable name description nnode Number of nodes in each element or strip nsegg Number of segments in the structure npoig Number of key points in the structure nnbog Number of boundary conditions nnlog Number of load points at which concentrated load is applied nmats Number of material sets ngaus Number of Gauss point (see user hints) ngrav Gravity loading control parameter = 0, no gravity load to be considered = 1, gravity loading to be considered nrota analysis parameter (currently undened variable) npara Number of parameters to be interpolated = 1, free vibration and buckling analysis = 2, static analysis ncorr Geometry correction switch = 0, no correction required = 1, correction required npoco Number of key points expressed in polar coordinates Data set 3: Background mesh parameters title data | One record (a80) cols. variable name 1-80 text description Title of the geometry control data E-6 E. Documentation and user instructions of program PREP Data set 4: Background mesh parameters data Total of nsegg records First record | One record for each segment. (*) : cols. variable name jsegb nnseb(jsegb) description Segment number Number of points in each segment Second record | One record for each segment key points. (*) : However, denition of the rst and last key points is also suÆcient. lnogb Point number in each segment coobt h-coordinate of the segment delta Mesh density Data set 5: Title of geometry denition | One record (a80) cols. variable name 1-80 title description Title of the geometry Data set 6a: Geometry denition One record for each key point. Total of npoig records (*). Omit this record, if npolr 6= 0 cols. variable name jpoin description Key point number coorg(jpoin,1) x1 -coordinate of key point coorg(jpoin,2) x2 -coordinate of key point Data set 6b: Geometry denition One record for each key point. Total of npoig records (*) Omit this record, if npolr = 0 cols. variable name jpoin lpoco(jpoin) description Key point number Key point coordinate identication = 0, global Cartesian coordinates system, < 0, local coordinate system, > 0, local polar coordiante system coorg(jpoin,1) x1 -coordinate of key point coorg(jpoin,2) x2 -coordinate of key point E.2 Input instructions E-7 Data set 7: Coordinates of origin (polar coord.) points Omit this record, if npolr = 0; one record for each point expressed in polar coordinates. Total of npolr records (*) cols. variable name jpoco description Key point number polco(jpoco,1) Value of x1 -coordinate of origin polco(jpoco,2) Value of x2 -coordinate of origin Data set 8: Segment data Four sets of records for each segment. Total of nsegg records. First record set (*) : cols. variable name jsegg description Segment number nnseg(jsegg) Number of key points in each segment maseg(jsegg) Material set number of each segment Second record set (*): (repeated) for each key point of segment cols. variable name lnodg description Key point number paras(isegg,innse,1) Thickness value at key point innse (see user hints) paras(isegg,innse,2) Pressure value at key point innse (see user hints) Third record set (*) : end tangents cols. variable name description icotg(1) Tangent indicator for cubic spline at start of segment icotg(2) Tangent indicator for cubic spline at end of segment = 0, natural spline condition, = 1, horizontal tangent specied, = 2, vertical tangent specied, = 3, inclined tangent specied E-8 E. Documentation and user instructions of program PREP Fourth record set : correction parameters (*) If the segment is straight line or no correction for this particular segment. cols. variable name lcorr(isegg) description Segment correlation identication number = 0, no correction required = 1, put all points on a straight line Fourth record set: correction parameters (*) If the segment is circular. cols. variable name lcorr(isegg) description Segment correlation identication number = 2, put all points on a circular segment corrf(isegg,1) Coordinate of origin: x-coordinate corrf(isegg,2) Coordinate of origin: y -coordinate corrf(isegg,3) Radius of circular segment Fourth record set: correction parameters (*) If the segment is elliptic. cols. variable name lcorr(isegg) description Segment correlation identication number = 3, put all points on a ellipse segment corrf(isegg,1) Coordinate of origin: x-coordinate corrf(isegg,2) Coordinate of origin: x-coordinate corrf(isegg,3) Radius of end circle a corrf(isegg,4) Distance between origins b Data set 9: Fixity condition title | One record (a80) cols. variable name 1-80 text description Fixity condition title E.2 Input instructions E-9 Data set 10: Fixity condition data One record for each restrained point. Total of nnbog records (*) cols. variable name nboug(iboun) description Key point number at which boundary condition is specied ifixg(1) Constraint on u-displacement, =0, no constraint =1, constraint ifixg(2) Constraint on v -displacement ifixg(3) Constraint on w-displacement prfig(1) Value of u-displacement prfig(2) Value of v -displacement prfig(3) Value of w-displacement Data set 11: Loading title | One record (a80) cols. variable name 1-80 text description Load title Data set 12: Loading data One record for each point load. Total of nnlog records (*) cols. variable name nloag(iload) description Key point number at which load is applied rloag(1) Value of load in x-direction rloag(2) Value of load in y -direction rloag(3) Value of load in x-direction Data set 13: Material properties title | One record (a80) cols. variable name 1-80 text description Title of the material type Data set 14: Material properties data One record for each dierent material. Total of nmats records (*) cols. variable name jmats description Material set number props(jmats, 1) Elastic modulus E props(jmats, 2) Poisson's ratio props(jmats, 3) Material density E-10 E. Documentation and user instructions of program PREP E.2.2 User Hints The purpose of user hints is to guide the user in the preparation of the data. In the following some comments are made about various parts of the input le. In the data sets (*) indicates that free format is used for inputting the data. ngaus is an analysis parameter and equal to 1, 2 and 3 for linear, quadratic and cubic FEs and FSs respectively. The variable npolr species the number of polar coordinate systems, the values of which are read in data set 1.2; the rst integer species key point. Then centre of polar coordinate system is specied in the appropriate cartesian coordinate system. The variable ncorr is a ag for geometric correction. If set to 1, geometric correction is used and the FE nodes are moved onto their exact location. Furthermore, the program reads the kind of correction to be carried out for each segment. The values are 0 for no correction, 1 for a straight line, 2 for a circle and e for a ellipse. npara species the number of parameters for each nodal point which would be read in data set 1.8. The parameters will be interpolated from the background mesh to the generated FE/FS nodes. For instance, for the free vibration analysis, the parameter interpolated was the cross-sectional thickness of structure. As mentioned in Chapter 2, the thickness values along the shell segment are interpolated using the thickness values at some or all the key points. If any key point is to be excluded from the interpolation process then an identication character is used which in the present case is '-' (see section on specimen input data). Segments are dened by a sequence of geometry or key points (data set 1.5). The end conditions of segments (icotg(1) and icotg(2)) inuence the shape of the geometry (see Chapter 2). The values which can be specied are 0 for natural end condition, 1 for horizontal alignment, 2 for vertical alignment, 3 for alignment between rst two or last two key points of a segment. The two values are for the start and the end of a segment. As can be seen from data set 1.10 | boundary conditions are associated with the geometric model and are later on transferred to the FE/FS model after mesh generation has been completed. E.3 Specimen input data les E-11 E.3 Specimen Input Data File In this section input and output graphic les are provided for a numerical example presented in the book. This information will be of assistance to readers who wish to run the program contained in the book on their own computer. For clarity of the manual, presentation is limited to one example. Also the PREP output result le is not provided for the same reason. E.3.1 Cylinder with Hemispherical Bottom under Internal Pressure Problem denition: Cylinder with hemisperical bottom under internal pressure is presented as an example. The geometry of cylindrical tank is dened using 5 key points and 2 segments. The key points are dened in Cartesian coordinate system. In other words, the polar coordinate system is not used. The rst segment is a hemispherical bottom which is modelled using 4 key points. The geometry correction is applied. First segment dened as circular segment and second segment is a straight line. For circular segment origin of the polar coordinate system (0:0; 0:0) and radius of the circle 1000.0 unit. For the straight segment, correction factor is 1 which is suÆcient information for denition. Two parameters are interpolated from key points to nodal points. These parameters are applied distributed load, and thickness of the elements respectively. In the rst circular segment uniform distributed load and in the second straight segment linearly distributed load applied. The rst segment is variable thickness whereas second segment is uniform thickness segment. Typical output postscript graphs of the program is shown in Figures E.2-E.5. A typical input le for PREP is displaced in Table E.1. Table E.1. The input data le for cylinder with hemispherical bottom under internal pressure. Data set Cylinder with hemisperical bottom under internal pressure. 1 Control Data: node segg poig nbog nlog mats gaus grav rota para corr poco 4 2 5 2 0 1 3 0 0 2 1 0 2 Backgroundmesh: 3 1 4 4 1 0.00000000 50.0000 2 1.00000000 50.0000 3 2.00000000 50.0000 4 3.00000000 50.0000 2 2 4 0.00000000 25.0000 E-12 E. Documentation and user instructions of program PREP 5 1.00000000 50.0000 Definition of Geometry: 1 0.0000000000 1000.0000000000 2 230.6158651000 973.0448719000 3 448.7991854000 893.6326377000 4 642.7876097000 766.0443100000 5 642.7876097000 1693.4444430000 1 4 1 1 0.92740000 10.75000000 2 16.36063840 3 21.29032286 4 0.92740000 21.46846000 1 3 2 0.0000000000 0.0000000000 1000.0000000000 2 2 1 4 0.92740000 21.46846000 5 0.00000000 21.46846000 2 2 1 Fixity Conditions: 1 1 0.0000 0 0.0000 1 0.0000 4 0 0.0000 1 0.0000 0 0.0000 Applied Nodal Point Loads: Material Property: 1 210000.00 0.3000 1000.000 9.8100 0.007850 5 6 8 9 10 11 13 14 E.3 Specimen input data les E-13 5 1 2 3 4 The output postscript le for cylinder with hemispherical bottom under internal pressure. Fig. E.2. The output postscript le for cylinder with hemispherical bottom under internal pressure. Fig. E.3. E-14 E. Documentation and user instructions of program PREP The output postscript le for cylinder with hemispherical bottom under internal pressure. Fig. E.4. The output postscript le for cylinder with hemispherical bottom under internal pressure. Fig. E.5.
© Copyright 2025 Paperzz