Docstoc

Toolkit

Document Sample
Toolkit Powered By Docstoc
					                                ASAS™
                            Database Toolkit

                                       Version 12




ANSYS, Inc.
Southpointe
275 Technology Drive
Canonsburg, PA 15317
ansysinfo@ansys.com
http://www.ansys.com
(T) 724-746-3304
(F) 724-514-9494




                 © Copyright 2009. Century Dynamics Limited. All Rights Reserved.
                         Century Dynamics is a subsidiary of ANSYS, Inc.
                    Unauthorised use, distribution or duplication is prohibited.

                            ANSYS, Inc. is certified to ISO 9001:2008
                                           Revision Information
The information in this guide applies to all ANSYS, Inc. products released on or after this date, until superseded
   by a newer version of this guide. This guide replaces individual product installation guides from previous
                                                    releases.

                               Copyright and Trademark Information
      © 2009 SAS IP, Inc. All rights reserved. Unauthorized use, distribution or duplication is prohibited.

   ANSYS, ANSYS Workbench, AUTODYN, CFX, FLUENT and any and all ANSYS, Inc. brand, product,
  service and feature names, logos and slogans are registered trademarks or trademarks of ANSYS, Inc. or its
  subsidiaries located in the United States or other countries. ICEM CFD is a trademark used by ANSYS, Inc.
    under license. All other brand, product, service and feature names or trademarks are the property of their
                                                respective owners.

                                             Disclaimer Notice
    THIS ANSYS SOFTWARE PRODUCT AND PROGRAM DOCUMENTATION INCLUDE TRADE
    SECRETS AND ARE CONFIDENTIAL AND PROPRIETARY PRODUCTS OF ANSYS, INC., ITS
SUBSIDIARIES, OR LICENSORS. The software products and documentation are furnished by ANSYS, Inc.,
   its subsidiaries, or affiliates under a software license agreement that contains provisions concerning non-
    disclosure, copying, length and nature of use, compliance with exporting laws, warranties, disclaimers,
 limitations of liability, and remedies, and other provisions. The software products and documentation may be
used, disclosed, transferred, or copied only in accordance with the terms and conditions of that software license
                                                      agreement.

                                   ANSYS, Inc. is certified to ISO 9001:2008

                                         U.S. Government Rights
 For U.S. Government users, except as specifically granted by the ANSYS, Inc. software license agreement, the
 use, duplication, or disclosure by the United States Government is subject to restrictions stated in the ANSYS,
                    Inc. software license agreement and FAR 12.212 (for non-DOD licenses).

                                          Third-Party Software
 The products described in this document contain the following licensed software that requires reproduction of
                                           the following notices.

Formula One is a trademark of Visual Components, Inc.
The product contains Formula One from Visual Components, Inc. Copyright 1994-1995. All rights reserved.

    See the legal information in the product help files for the complete Legal Notice for ANSYS proprietary
  software and third-party software. If you are unable to access the Legal Notice, please contact ANSYS, Inc.

                                             Published in the U.S.A.




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.
                          TOOLKIT User Manual
                              Update Sheet for Version 12
                                               April 2009




Modifications:

The following modifications have been incorporated:

Section           Page(s)      Update/Addition        Explanation

All               All          Update                 Renumber pages to be section-specific
1                 7            Update                 Add database write facility
2                 8            Update                 Update title to reflect section for read routines
Table 1           9            Update                 Correct typo error for adb$inital
                               Addition               Add new routines adb$BeamLength, adb$elaxes
                  11           Addition               Add new routines to get integer and text results
2                 All          Addition               Add new routines adb$BeamLength, adb$elaxes
2.50-55           23-26        Addition               Add new routines to get integer and text results
3                 All          Addition               New chapter for database write facility
4                 All          Update                 Old Chapter 3
5                 All          Update                 Old Chapter 4
                                                      Add new error messages
6                 All          Update                 Old Chapter 5
                                                      Add new error messages




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.
ASAS Database Toolkit                                                                                                                                     Contents

                                                                      CONTENTS
1.     Introduction ................................................................................................................................................. 1-1

2.     Toolkit User Routines for Reading from Database ...................................................................................... 2-1
     2.1.     Return beam element length................................................................................................................. 2-5
     2.2.     Close database for given structure ....................................................................................................... 2-5
     2.3.     Return element local axes at an element node...................................................................................... 2-5
     2.4.     Return forces/stresses for an element for a given load case ................................................................. 2-5
     2.5.     Return user element numbers ............................................................................................................... 2-5
     2.6.     Return element geometry information.................................................................................................. 2-6
     2.7.     Return the group an element is in......................................................................................................... 2-6
     2.8.     Return list of elements in a group ........................................................................................................ 2-6
     2.9.     Return element material information ................................................................................................... 2-6
     2.10.      Return element name ....................................................................................................................... 2-6
     2.11.      Return list of element nodes............................................................................................................. 2-7
     2.12.      Return element force/stress types for a given element ..................................................................... 2-7
     2.13.      Return the error message associated with ierr .................................................................................. 2-7
     2.14.      Return list of structure/components ................................................................................................. 2-7
     2.15.      Return the number of groups............................................................................................................ 2-7
     2.16.      Routine to initialise ASAS™ common blocks etc .......................................................................... 2-8
     2.17.      Return the job type ........................................................................................................................... 2-8
     2.18.      Return the list of user load case numbers ......................................................................................... 2-8
     2.19.      Return title for a given load case ..................................................................................................... 2-8
     2.20.      Set monitoring flags for memory and files ....................................................................................... 2-9
     2.21.      Return maximum number of freedoms on a node ............................................................................ 2-9
     2.22.      Return maximum number of stresses on an element ........................................................................ 2-9
     2.23.      Return coordinates for a specified node ........................................................................................... 2-9
     2.24.      Return displacements at a node for a given load case ...................................................................... 2-9
     2.25.      Return array of displacements at specified load cases ................................................................... 2-10
     2.26.      Return freedom types for a given node .......................................................................................... 2-10
     2.27.      Return reactions at a node for a given load case ............................................................................ 2-10
     2.28.      Return array of reactions at specified load cases ........................................................................... 2-10
     2.29.      Return number of elements in model ............................................................................................. 2-11
     2.30.      Return status for a freedom at a node and skew number ................................................................ 2-11
     2.31.      Return list of groups....................................................................................................................... 2-11
     2.32.      Return number of load cases for model ......................................................................................... 2-11
     2.33.      Return the user node numbers ........................................................................................................ 2-11
     2.34.      Return number of skews for model ................................................................................................ 2-12
     2.35.      Return number of structural nodes for model ................................................................................ 2-12
     2.36.      Open project file and initialise ....................................................................................................... 2-12
     2.37.      Return transformation matrix for given skew number.................................................................... 2-12
     2.38.      Return analysis units ...................................................................................................................... 2-12
     2.39.      Return number of result sets .......................................................................................................... 2-13
     2.40.      Return maximum number of result types in a result set ................................................................. 2-13
     2.41.      Return maximum number of result components in a result type .................................................... 2-13
     2.42.      Return maximum length of integer results ..................................................................................... 2-13
     2.43.      Return maximum length of real results .......................................................................................... 2-13
     2.44.      Return list of result sets and sub-sets in the results database ......................................................... 2-14
     2.45.      Return title for a given result set .................................................................................................... 2-14
     2.46.      Return time for a given result set ................................................................................................... 2-14
     2.47.      Return list of result types for a given result set .............................................................................. 2-14
     2.48.      Return attribute of a given result type ............................................................................................ 2-15
     2.49.      Return equation results at a node for a given result set .................................................................. 2-15
     2.50.      Return element text results for an element for a given result set .................................................... 2-16
     2.51.      Return element integer results for an element for a given result set ............................................... 2-16
     2.52.      Return element real results for an element for a given result set .................................................... 2-17
     2.53.      Return nodal results at a node for a given result set ....................................................................... 2-17
     2.54.      Return global results for a given result set ..................................................................................... 2-18
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                                                            i
ASAS Database Toolkit                                                                                                                                    Contents

     2.55.        Return all results of any result type for a given result set .............................................................. 2-19
3.     Toolkit User Routines for Writing to Database ........................................................................................... 3-1
     3.1.     Routine to initialise ASAS™ common blocks etc .............................................................................. 3-4
     3.2.     Open a project file ............................................................................................................................... 3-4
     3.3.     Initialise model geometry creation ....................................................................................................... 3-4
     3.4.     Set up analysis units ............................................................................................................................. 3-4
     3.5.     Add information of a node ................................................................................................................... 3-5
     3.6.     Add information of an element ............................................................................................................ 3-5
     3.7.     Add information of a material .............................................................................................................. 3-6
     3.8.     Add information of a geometric property ............................................................................................ 3-6
     3.9.     Write model geometry database ........................................................................................................... 3-6
     3.10.       Initialise results creation .................................................................................................................. 3-6
     3.11.       Add a load case ................................................................................................................................ 3-6
     3.12.       Add a result set ................................................................................................................................ 3-7
     3.13.       Add equation results ........................................................................................................................ 3-7
     3.14.       Add element results.......................................................................................................................... 3-7
     3.15.       Add nodal results ............................................................................................................................. 3-8
     3.16.       Add global results ............................................................................................................................ 3-8
     3.17.       Add general results .......................................................................................................................... 3-9
     3.18.       Add distributed loads ....................................................................................................................... 3-9
     3.19.       Add body forces ............................................................................................................................. 3-10
     3.20.       Add angular accelerations .............................................................................................................. 3-10
     3.21.       Finalise a result set ......................................................................................................................... 3-10
     3.22.       Finalise results creation.................................................................................................................. 3-10
     3.23.       Close project and tidy up database................................................................................................. 3-10
4.     Method of Preparing a Program to Extract Structural Information .............................................................. 4-1

5.     Error Messages ............................................................................................................................................ 5-1

6.     Inconsistencies ............................................................................................................................................. 6-1




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                                                            ii
ASAS Database Toolkit                                                                                   Program Writing



1.       Introduction

         The ASAS™ Database consists of a number of direct access binary files storing information of one or more
         substructures, structures or sets of results. To assist users who may wish to extract information from a
         database and process and format that information for their own purposes, a library of routines, in the form of a
         toolkit, has been compiled. These routines carry out tasks such as opening a project, extracting element data,
         extracting element or nodal results etc. The routines can also be used to create an ASAS Database.

         This document describes the FORTRAN subroutines that have been written for the Toolkit.

         The Toolkit is supplied as a DLL for use on the PC. Two files are supplied. The file toolkit.lib should be
         linked with the user’s application code. The file toolkit.dll should then be located in a directory that is on the
         PATH. Currently this facility has only been tested for use in Intel® Visual Fortran.




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                1-1
ASAS Database Toolkit                                                                                   Program Writing




2.       Toolkit User Routines for Reading from Database

         The following routines are available to obtain basic system information from the backing files following an
         ASAS™ run. They also obtain information regarding the nodes and elements.

         The user must supply the information to identify the particular requirement, e.g. node number or element
         number etc, and where appropriate an array to receive results.

         Where a routine returns a single value, then this will be attempted. Where a routine returns an array of values
         (e.g. displacements), then it will check that there is sufficient space to store those values. If there is not, then
         the array will be filled as far as possible and an error code set. In order to check for the array space, the array
         length argument should be set equal to the available array size on input to the routine and this will become the
         true length of the array on exit.

         The string STRUCT must contain the name of the structure or the full path to the component. In the latter
         case, the path names may be separated by spaces or commas. The name of the structure or component can be
         changed as often as required. The program will detect any change and obtain the information for the new
         structure or component.

         The variable IERR will be returned indicating the status of the operation.

         0 indicates satisfactory completion
         >0         indicates an error due to data or incomplete ASAS analysis
         > 1000     indicates a severe error that would not normally be due to data
         <0         indicates that the array space provided was not large enough. The value returned is the negative of
                    the size of the buffer that was being read

         In the following sections, the toolkit subroutines are listed in alphabetical order for easy reference. Table 1
         groups the subroutines by function to enable the user to see what facilities are provided.




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                  2-1
ASAS Database Toolkit                                                                                   Program Writing



 SUBROUTINE                                          DESCRIPTION

 Subroutines associated with General
 Administration

 adb$inital                                          Routine to initialise ASAS™ common blocks etc
 adb$opnprj                                          Open project
 adb$clsprj                                          Close project
 adb$getmdl                                          Return list of structure/components
 adb$jobtyp                                          Return the job type
 adb$units                                           Return analysis units


 Subroutines associated with Node
 Information

 adb$mxfrnd                                          Return maximum number of freedoms on a node
 adb$ndcoor                                          Return coordinates for a specified node
 adb$ndftyp                                          Return freedom types for a given node
 adb$nfstat                                          Return status for a freedom at a node and skew number
 adb$nodlst                                          Return the user node numbers
 adb$nsnode                                          Return number of structural nodes for model
 adb$nskews                                          Return number of skews for model
 adb$skewtr                                          Return transformation matrix for given skew number


 Subroutines associated with Element
 Information

 adb$BeamLength                                      Return beam element length
 adb$elaxes                                          Return local axes at an element node
 adb$elelst                                          Return user element numbers
 adb$elgeom                                          Return element geometry information
 adb$elgrou                                          Return the group an element is in
 adb$elgrp                                           Return list of elements in a group
 adb$elmate                                          Return element material information
 adb$elname                                          Return element name
 adb$elnode                                          Return list of element nodes
 adb$grplst                                          Return the number of groups
 adb$nelem                                           Return number of elements in model
 adb$ngroup                                          Return list of groups


                                                                  Table 1




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-2
ASAS Database Toolkit                                                                                     Program Writing



 SUBROUTINE                                          DESCRIPTION

 Subroutines associated with Load
 case Information

 adb$lodlst                                          Return the list of user load case numbers
 adb$lodtit                                          Return title for a given load case
 adb$nloads                                          Return number of load cases for model


 Subroutines associated with Nodal
 Results

 adb$nddisp                                          Return displacements at a node for a given load case
 adb$nddispls                                        Return array of displacements at specified load cases
 adb$ndreac                                          Return reactions at a node for a given load case
 adb$ndreacls                                        Return array of reactions at specified load cases


 Subroutines associated with Element
 Results

 adb$elefor                                          Return forces/stresses for an element for a given load case
 adb$mxstel                                          Return maximum number of stresses on an element
 adb$elstyp                                          Return element force/stress types for a given element


 Miscellaneous Subroutines

 adb$errmsg                                          Return the error message associated with IERR
 adb$monitor                                         Set monitoring flags for memory and files


                                                           Table 1 continued




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                2-3
ASAS Database Toolkit                                                                                   Program Writing



 SUBROUTINE                                          DESCRIPTION

 Subroutines associated with Results
 on the Results Database

 adb$rsnumset                                        Return number of result sets in the database
 adb$rsmxntyp                                        Return maximum number of result types in a result set
 adb$rsmxncmp                                        Return maximum number of result components in a result type
 adb$rsmxleni                                        Return maximum length of integer results
 adb$rsmxlenr                                        Return maximum length of real results
 adb$rssetlst                                        Return lists of user load case and mode numbers in database
 adb$rssettit                                        Return title for a given load case
 adb$rssettim                                        Return time (or eigenvalue) for a given load case
 adb$rstyplst                                        Return list of result types in a load case
 adb$rstypatt                                        Return the attribute of a result type
 adb$rsequatn                                        Return the equation real results for a given load case
 adb$rselemc                                         Return the element character results for a given load case
 adb$rselemi                                         Return the element integer results for a given load case
 adb$rselemr                                         Return the element real results for a given load case
 adb$rsnodal                                         Return the nodal real results for a given load case
 adb$rsglobal                                        Return the global real results for a given load case
 adb$rsgeneral                                       Return all results of any type for a given load case


                                                           Table 1 continued




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-4
ASAS Database Toolkit                                                                                   Program Writing


     2.1.             Return beam element length

                      subroutine adb$BeamLength(struct,iel,blen,ierr)
                      integer*4 iel,ierr
                      character*60 struct
                      double precision blen
                               struct     - name of structure or path for component
                               iel        - user element number
                               blen       - beam element length
                               ierr       - error flag

     2.2.             Close database for given structure

                      subroutine adb$clsprj(ierr)
                      integer*4 ierr
                               ierr      - error flag

     2.3.             Return element local axes at an element node

                      subroutine adb$elaxes(struct,iel,nodloc,elaxes,ierr)
                      integer*4 iel,nodloc,ierr
                      character*60 struct
                      double precision elaxes(3,3)
                               struct      - name of structure or path for component
                               iel         - user element number
                               nodloc      - local node number on element
                               elaxes      - element local axes
                               ierr        - error flag

     2.4.             Return forces/stresses for an element for a given load case

                      subroutine adb$elefor(struct,iel,lcase,stress,nstr,ierr)
                      integer*4 iel,lcase,nstr,ierr
                      character*60 struct
                      double precision stress(nstr)
                               struct      - name of structure or path for component
                               iel         - user element number
                               lcase       - user load case number
                               stress      - array to receive forces/stresses
                               nstr        - number of stresses returned
                               ierr        - error flag

     2.5.             Return user element numbers

                      subroutine adb$elelst(struct,ielist,nelist,ierr)
                      integer*4 ielist(nelist),nelist,ierr
                      character*60 struct
                               struct       - name of structure or path for component
                               ielist       - list of user element numbers
                               nelist       - number of elements
                               ierr         - error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-5
ASAS Database Toolkit                                                                                   Program Writing


     2.6.             Return element geometry information

                      subroutine adb$elgeom(struct,iel,elgeom,nelgom,ierr)
                      integer*4 iel,nelgom,ierr
                      character*60 struct
                      double precision elgeom(nelgom)
                               struct     - name of structure or path for component
                               iel        - user element number
                               elgeom     - element geometry information
                               nelgom     - length of element geometry information
                               ierr       - error flag

     2.7.             Return the group an element is in

                      subroutine adb$elgrou(struct,iel,nelg,ierr)
                      integer*4 iel,nelg,ierr
                      character*60 struct
                               struct       - name of structure or path for component
                               iel          - user element number
                               nelg         - group element is in
                               ierr         - error flag

     2.8.             Return list of elements in a group

                      subroutine adb$elgrp(struct,igrp,ielgrp,nelgrp,ierr)
                      integer*4 igrp,ielgrp(nelgrp),nelgrp,ierr
                      character*60 struct
                               struct      - name of structure or path for component
                               igrp        - group number
                               ielgrp      - list of elements
                               nelgrp      - number of elements in group
                               ierr        - error flag

     2.9.             Return element material information

                      subroutine adb$elmate(struct,iel,elmate,nelmat,ierr)
                      integer*4 iel,nelmat,ierr
                      character*60 struct
                      double precision elmate(nelmate)
                               struct      - name of structure or path for component
                               iel         - user element number
                               elmate      - element material information
                               nelmat      - length of element material information
                               ierr        - error flag

     2.10.            Return element name

                      subroutine adb$elname(struct,iel,elname,ierr)
                      integer*4 iel,ierr
                      character*60 struct
                      character*4 elname
                               struct     - name of structure or path for component
                               iel        - user element number
                               elname     - element name
                               ierr       - error flag
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-6
ASAS Database Toolkit                                                                                   Program Writing


     2.11.            Return list of element nodes

                      subroutine adb$elnode(struct,iel,ielnod,nelnod,ierr)
                      integer*4 iel,ielnod(nelnod),nelnod,ierr
                      character*60 struct
                               struct      - name of structure or path for component
                               iel         - user element number
                               ielnod      - list of element nodes
                               nelnod      - number of nodes on element
                               ierr        - error flag

     2.12.            Return element force/stress types for a given element

                      subroutine adb$elstyp(struct,iel,strtyp,nstrtp,ierr)
                      integer*4 iel,nstrtp,ierr
                      character*60 struct
                      character*12 strtyp(nstrtp)
                               struct       - name of structure or path for component
                               iel          - user element number
                               strtyp       - list of force/stress types
                               nstrtp       - number of force/stress types
                               ierr         - error flag

     2.13.            Return the error message associated with ierr

                      subroutine adb$errmsg(ierr,messag)
                      integer*4 ierr
                      character*75 messag
                               ierr      - error flag
                               messag    - the error message text associated with ierr

     2.14.            Return list of structure/components

                      subroutine adb$getmdl(mdlist,nmlist,ierr)
                      integer*4 nmlist,ierr
                      character*4 mdlist(nmlist)
                               mdlist       - list of structure/component names
                               nmlist       - number of structure/component names
                               ierr         - error flag

     2.15.            Return the number of groups

                      subroutine adb$grplst(struct,igroup,ngroup,ierr)
                      integer*4 igroup(ngroup),ierr
                      character*60 struct
                               struct     - name of structure or path for component
                               igroup     - list of groups
                               ngroup     - number of groups
                               ierr       - error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-7
ASAS Database Toolkit                                                                                   Program Writing


     2.16.            Routine to initialise ASAS™ common blocks etc

                      subroutine adb$inital(ierr)
                      integer*4 ierr
                               ierr       - error flag

     2.17.            Return the job type

                      subroutine adb$jobtyp(struct,jobtp,ierr)
                      integer*4 jobtp,ierr
                      character*60 struct
                               struct      - name of structure or path for component
                               jobtp       - number representing job type.
                                             Common values are:
                                              1 - Linear statics
                                              2 - Component creation
                                              3 - Dynamic components
                                              4 - Stress recovery
                                              5 - Steady state heat
                                              6 - Splinter
                                              7 - Dynamics
                                              8 - Response
                                              9 - Post processing
                               ierr        - error flag

     2.18.            Return the list of user load case numbers

                      subroutine adb$lodlst(struct,lodlst,nlodls,ierr)
                      integer*4 lodlst(nlodls),nlodls,ierr
                      character*60 struct
                               struct      - name of structure or path for component
                               lodlst      - list of user load case numbers
                               nlodls      - number of load cases
                               ierr        - error flag

     2.19.            Return title for a given load case

                      subroutine adb$lodtit(struct,lcnum,lodtit,ierr)
                      integer*4 lcnum,ierr
                      character*60 struct
                      character*40 lodtit
                               struct      - name of structure or path for component
                               lcnum       - user load case number
                               lodtit      - load case title
                               ierr        - error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-8
ASAS Database Toolkit                                                                                   Program Writing


     2.20.            Set monitoring flags for memory and files

                      subroutine adb$monitor(struct,file,level,ierr)
                      integer*4 ierr
                      character*60 struct
                      character*6 file
                      character*5 level
                               struct     - name of structure or path for component
                               file       - file name or memory
                               level      - level of monitoring, brief/full/read/write/clear
                               ierr       - error flag

     2.21.            Return maximum number of freedoms on a node

                      subroutine adb$mxfrnd(struct,mxfrnd,ierr)
                      integer*4 mxfrnd,ierr
                      character*60 struct
                               struct     - name of structure or path for component
                               mxfrnd     - maximum number of freedoms on a node
                               ierr       - error flag

     2.22.            Return maximum number of stresses on an element

                      subroutine adb$mxstel(struct,mxstel,ierr)
                      integer*4 mxstel,ierr
                      character*60 struct
                               struct      - name of structure or path for component
                               mxstel      - maximum number of stresses on an element
                               ierr        - error flag

     2.23.            Return coordinates for a specified node

                      subroutine adb$ndcoor(struct,node,coords,ncords,ierr)
                      integer*4 node,ncords,ierr
                      character*60 struct
                      double precision coords(ncords)
                               struct     - name of structure or path for component
                               node       - user node number
                               coords     - coordinates of node
                               ncords     - number of coordinates
                               ierr       - error flag

     2.24.            Return displacements at a node for a given load case

                      subroutine adb$nddisp(struct,node,lcase,disp,ldisp,ierr)
                      integer*4 node,lcase,ldisp,ierr
                      character*60 struct
                      double precision disp(ldisp)
                               struct     - name of structure or path for component
                               node       - user node number
                               lcase      - user load case number
                               disp       - array of displacements
                               ldisp      - number of displacements
                               ierr       - error flag

Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-9
ASAS Database Toolkit                                                                                   Program Writing

     2.25.            Return array of displacements at specified load cases

                      subroutine adb$nddispls(struct,node,lcase,nlcase,disp,nmfrnd,ierr)
                      integer*4 node,lcase(nlcase),nmfrnd,lcase,ierr
                      character*60 struct
                      double precision disp(nmfrnd,nlcase)
                               struct     - name of structure or path for component
                               node       - user node number
                               lcase      - list of load cases for which displacements required
                               nlcase     - number of load cases
                               disp       - table of displacements returned (nmfrnd x nlcase)
                               nmfrnd     - number of freedoms at a node
                               ierr       - error flag

     2.26.            Return freedom types for a given node

                      subroutine adb$ndftyp(struct,node,fretyp,nfrtyp,ierr)
                      integer*4 node,nfrtyp,ierr
                      character*60 struct
                      character*3 fretyp(nfrtyp)
                               struct     - name of structure or path for component
                               node       - user node number
                               fretyp     - list of freedom types
                               nfrtyp     - number of freedom types
                               ierr       - error flag

     2.27.            Return reactions at a node for a given load case

                      subroutine adb$ndreac(struct,node,lcase,reac,lreac,ierr)
                      integer*4 node,lcase,lreac,ierr
                      character*60 struct
                      double precision reac(lreac)
                               struct     - name of structure or path for component
                               node       - user node number
                               lcase      - user load case number
                               reac       - array of reactions
                               lreac      - number of reactions
                               ierr       - error flag

     2.28.            Return array of reactions at specified load cases

                      subroutine adb$ndreacls(struct,node,lcase,nlcase,reac,nmfrnd,ierr)
                      double precision reac(nmfrnd,nlcase)
                      integer*4 lcase(nlcase),node,nlcase,nmfrnd,ierr
                      character struct*60
                               struct     - name of structure or path for component
                               node       - user node number
                               lcase      - list of load cases for which reactions required
                               nlcase     - number of load cases
                               reac       - table of reactions returned (nmfrnd x nlcase)
                               nmfrnd     - number of freedoms at a node
                               ierr       - error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-10
ASAS Database Toolkit                                                                                   Program Writing


     2.29.            Return number of elements in model

                      subroutine adb$nelem(struct,nelem,ierr)
                      integer*4 nelem,ierr
                      character*60 struct
                               struct      - name of structure or path for component
                               nelem       - number of elements in structure or component
                               ierr        - error flag

     2.30.            Return status for a freedom at a node and skew number

                      subroutine adb$nfstat(struct,node,fretyp,status,iskew,ierr)
                      integer*4 node,iskew,ierr
                      character*60 struct
                      character*3 fretyp
                      character*1 status
                               struct     - name of structure or path for component
                               node       - user node number
                               fretyp     - freedom name
                               status     - status of freedom
                                                    s - suppressed freedom
                                                    d - displaced freedom
                                                    m - master freedom
                                                    c - constrained freedom
                                                    l   - link freedom
                               iskew      - skew number
                               ierr       - error flag

     2.31.            Return list of groups

                      subroutine adb$ngroup(struct,ngroup,ierr)
                      integer*4 ngroup,ierr
                      character*60 struct
                               struct     - name of structure or path for component
                               ngroup     - number of groups
                               ierr       - error flag

     2.32.            Return number of load cases for model

                      subroutine adb$nloads(struct,nlc,ierr)
                      integer*4 nlc,ierr
                      character*60 struct
                               struct     - name of structure or path for component
                               nlc        - number of load cases for model
                               ierr       - error flag

     2.33.            Return the user node numbers

                      subroutine adb$nodlst(struct,nodlst,nnodls,ierr)
                      integer*4 nodlst(nnodls),nnodls,ierr
                      character*60 struct
                               struct     - name of structure or path for component
                               nodlst     - list of node numbers
                               nnodls     - number of node numbers
                               ierr       - error flag
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-11
ASAS Database Toolkit                                                                                   Program Writing


     2.34.            Return number of skews for model

                      subroutine adb$nskews(struct,nskews,ierr)
                      integer*4 nskews,ierr
                      character struct*60
                               struct     - name of structure or path for component
                               nskews     - number of structural skews for model
                               ierr       - error flag

     2.35.            Return number of structural nodes for model

                      subroutine adb$nsnode(struct,nmndst,ierr)
                      integer*4 nmndst,ierr
                      character*60 struct
                               struct     - name of structure or path for component
                               nmndst     - number of structural nodes for model
                               ierr       - error flag

     2.36.            Open project file and initialise

                      subroutine adb$opnprj(proj,ierr)
                      integer*4 ierr
                      character*4 proj
                               proj     - project name
                               ierr     - error flag

     2.37.            Return transformation matrix for given skew number

                      subroutine adb$skewtr(struct,iskew,tran,nodes,ierr)
                      integer*4 iskew,nodes(3),ierr
                      character*60 struct
                      double precision tran(3,3)
                               struct     - name of structure or path for component
                               iskew      - skew number (returned -ve if nodes for skew)
                               tran       - transformation matrix
                               nodes      - three nodes forming skew system
                               ierr       - error flag

     2.38.            Return analysis units

                      subroutine adb$units(struct,units,nunits,ierr)
                      integer*4 nunits,ierr
                      character*60 struct
                      character*12 units(nunits)
                               struct       - name of structure or path for component
                               units        - list of analysis units
                               nunits       - number of analysis units
                               ierr         - error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-12
ASAS Database Toolkit                                                                                   Program Writing


     2.39.            Return number of result sets

                      subroutine adb$rsnumset(struct,numset,ierr)
                      integer*4 numset,ierr
                      character*60 struct
                               struct       (in) name of structure or path for component
                               numset       (out) number of result sets
                               ierr         (out) error flag

     2.40.            Return maximum number of result types in a result set

                      subroutine adb$rsmxntyp(struct,mxntyp,ierr)
                      integer*4 mxntyp,ierr
                      character*60 struct
                               struct       (in) name of structure or path for component
                               mxntyp       (out) maximum number of result types in a set
                               ierr         (out) error flag

     2.41.            Return maximum number of result components in a result type

                      subroutine adb$rsmxncmp(struct,mxncmp,ierr)
                      integer*4 mxncmp,ierr
                      character*60 struct
                               struct       (in) name of structure or path for component
                               mxncmp       (out) maximum number of result components
                               ierr         (out) error flag

     2.42.            Return maximum length of integer results

                      subroutine adb$rsmxleni(struct,mxleni,ierr)
                      integer*4 mxleni,ierr
                      character*60 struct
                               struct       (in) name of structure or path for component
                               mxleni       (out) maximum length of integer results
                               ierr         (out) error flag

     2.43.            Return maximum length of real results

                      subroutine adb$rsmxlenr(struct,mxlenr,ierr)
                      integer*4 mxlenr,ierr
                      character*60 struct
                               struct       (in) name of structure or path for component
                               mxlenr       (out) maximum length of real results
                               ierr         (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-13
ASAS Database Toolkit                                                                                   Program Writing


     2.44.            Return list of result sets and sub-sets in the results database

                      subroutine adb$rssetlst(struct,istlst,isblst,nsets,ierr)
                      integer*4 nsets,ierr
                      integer*4 istlst(nsets),isblst(nsets)
                      character*60 struct
                               struct           (in) name of structure or path for component
                               istlst           (out) list of user load set (case) numbers
                               isblst           (out) list of sub-set (mode) numbers
                               nsets            (i/o) length of array space (in)
                                                      number of result sets (out)
                               ierr             (out) error flag

     2.45.            Return title for a given result set

                      subroutine adb$rssettit(struct,iset,isub,settit,ierr)
                      integer*4 iset,isub,ierr
                      character*40 settit
                      character*60 struct
                               struct          (in) name of structure or path for component
                               iset            (in) user load set (case) number
                               isub            (in) sub-set (mode) number
                               settit          (out) title of result set
                               ierr            (out) error flag

     2.46.            Return time for a given result set

                      subroutine adb$rssettim(struct,iset,isub,time,ierr)
                      integer*4 iset,isub,ierr
                      double precision time
                      character*60 struct
                               struct          (in) name of structure or path for component
                               iset            (in) user load set (case) number
                               isub            (in) sub-set (mode) number
                               time            (out) time (or eigenvalue) of result set
                               ierr            (out) error flag

     2.47.            Return list of result types for a given result set

                      subroutine adb$rstyplst(struct,iset,isub,typlst,ntypes,ierr)
                      integer*4 iset,isub,ntypes,ierr
                      character*20 typlst(ntypes)
                      character*60 struct
                               struct         (in) name of structure or path for component
                               iset           (in) user load set (case) number
                               isub           (in) sub-set (mode) number
                               typlst         (out) list of result types in result set
                               ntypes         (i/o) length of array space (in)
                                                     number of result types (out)
                               ierr           (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-14
ASAS Database Toolkit                                                                                   Program Writing


     2.48.            Return attribute of a given result type

                      subroutine adb$rstypatt(struct,typnam,irattr,ierr)
                      integer*4 irattr,ierr
                      character*20 typnam
                      character*60 struct
                               struct        (in) name of structure or path for component
                               typnam        (in) result type name
                               irattr        (out) result type attribute
                                                   1 - equation results
                                                   2 - element results
                                                   3 - nodal results
                                                   4 - global results
                               ierr          (out) error flag

     2.49.            Return equation results at a node for a given result set

                      subroutine adb$rsequatn(struct,node,iset,isub,restyp,rescmp,lcmp,disp,ldisp,ierr)
                      integer node,iset,isub,lcmp,ldisp,ierr
                      double precision disp(ldisp)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                               struct          (in) name of structure or path for component
                               node            (in) user node number
                               iset            (in) user load set (case) number
                               isub            (in) sub-set (mode) number
                               restyp          (in) result type name
                               rescmp          (out) list of result component names
                               lcmp            (i/o) length of component name array (in)
                                                     number of result components (out)
                               disp            (out) list of equation results at node
                               ldisp           (i/o) length of equation result array (in)
                                                     number of results (out)
                               ierr            (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-15
ASAS Database Toolkit                                                                                   Program Writing


     2.50.            Return element text results for an element for a given result set

                      subroutine adb$rselemc(struct,iel,iset,isub,restyp,isurf,rescmp,lcmp,cstrs,lstrs,ierr)
                      integer iel,iset,isub,isurf,lcmp,lstrs,ierr
                      character*4 cstrs(lstrs)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                                struct           (in) name of structure or path for component
                                iel              (in) user element number
                                iset             (in) user load set (case) number
                                isub             (in) sub-set (mode) number
                                restyp           (in) result type name
                                isurf            (in) beam cross section number or shell surface number
                                                       following special codes apply:
                                                       -1 – bottom surface
                                                       -2 – middle surface
                                                       -3 – top surface
                                rescmp           (out) list of text result component names
                                lcmp             (i/o) length of component name array (in)
                                                       number of result components (out)
                                cstrs            (out) list of text element results
                                lstrs            (i/o) length of element result array (in)
                                                       number of text results (out)
                                ierr             (out) error flag

     2.51.            Return element integer results for an element for a given result set

                      subroutine adb$rselemi(struct,iel,iset,isub,restyp,isurf,rescmp,lcmp,istrs,lstrs,ierr)
                      integer iel,iset,isub,isurf,lcmp,lstrs,ierr
                      integer istrs(lstrs)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                                struct           (in) name of structure or path for component
                                iel              (in) user element number
                                iset             (in) user load set (case) number
                                isub             (in) sub-set (mode) number
                                restyp           (in) result type name
                                isurf            (in) beam cross section number or shell surface number
                                                       following special codes apply:
                                                       -1 – bottom surface
                                                       -2 – middle surface
                                                       -3 – top surface
                                rescmp           (out) list of integer result component names
                                lcmp             (i/o) length of component name array (in)
                                                       number of result components (out)
                                istrs            (out) list of integer element results
                                lstrs           (i/o) length of element result array (in)
                                                       number of integer results (out)
                                ierr            (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-16
ASAS Database Toolkit                                                                                   Program Writing


     2.52.            Return element real results for an element for a given result set

                      subroutine adb$rselemr(struct,iel,iset,isub,restyp,isurf,rescmp,lcmp,strs,lstrs,ierr)
                      integer iel,iset,isub,isurf,lcmp,lstrs,ierr
                      double precision strs(lstrs)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                                struct           (in) name of structure or path for component
                                iel              (in) user element number
                                iset             (in) user load set (case) number
                                isub             (in) sub-set (mode) number
                                restyp           (in) result type name
                                isurf            (in) beam cross section number or shell surface number
                                                       following special codes apply:
                                                       -1 – bottom surface
                                                       -2 – middle surface
                                                       -3 – top surface
                                rescmp           (out) list of real result component names
                                lcmp             (i/o) length of component name array (in)
                                                       number of result components (out)
                                strs            (out) list of real element results
                                lstrs           (i/o) length of element result array (in)
                                                       number of real results (out)
                                ierr            (out) error flag

     2.53.            Return nodal results at a node for a given result set

                      subroutine adb$rsnodal(struct,node,iset,isub,restyp,rescmp,lcmp,rdat,lrdat,ierr)
                      integer node,iset,isub,lcmp,lrdat,ierr
                      double precision rdat(lrdat)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                               struct          (in) name of structure or path for component
                               node            (in) user node number
                               iset            (in) user load set (case) number
                               isub            (in) sub-set (mode) number
                               restyp          (in) result type name
                               rescmp          (out) list of result component names
                               lcmp            (i/o) length of component name array (in)
                                                     number of result components (out)
                               rdat            (out) list of nodal results at node
                               lrdat           (i/o) length of nodal result array (in)
                                                     number of results (out)
                               ierr            (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-17
ASAS Database Toolkit                                                                                   Program Writing


     2.54.            Return global results for a given result set

                      subroutine adb$rsglobal(struct,iset,isub,restyp,rescmp,lcmp,rdat,lrdat,ierr)
                      integer iset,isub,lcmp,lrdat,ierr
                      double precision rdat(lrdat)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                                struct         (in) name of structure or path for component
                                iset           (in) user load set (case) number
                                isub           (in) sub-set (mode) number
                                restyp         (in) result type name
                                rescmp         (out) list of result component names
                                lcmp           (i/o) length of component name array (in)
                                                     number of result components (out)
                                rdat           (out) list of global results
                                lrdat          (i/o) length of global result array (in)
                                                     number of results (out)
                                ierr           (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              2-18
ASAS Database Toolkit                                                                                   Program Writing


     2.55.            Return all results of any result type for a given result set

                      subroutine adb$rsgeneral
                      (struct,iel,iset,isub,restyp,irster,lster,rescmp,lcmp,idat,lidat,cdat,lcdat,rdat,lrdat,ierr)
                      integer iel,iset,isub,lster,lcmp,lidat,lcdat,lrdat,ierr
                      integer irster(lster)
                      integer idat(lidat)
                      double precision rdat(lrdat)
                      character*4 cdat(lcdat)
                      character*20 restyp
                      character*60 struct
                      character*8 rescmp(lcmp)
                                struct           (in) name of structure or path for component
                                iel              (in) user element number
                                iset             (in) user load set (case) number
                                isub             (in) sub-set (mode) number
                                restyp           (in) result type name
                                irster           (out) result steering array
                                                       ( 1) number of points on a surface
                                                       ( 2) number of surfaces
                                                       ( 3) number of integer result components
                                                       ( 4) result location (0 global, 1 node, 2 gauss)
                                                       ( 5) output axis (0 global, 1 local, 2 aligned, 3 skewed)
                                                       ( 6) number of text result components
                                lster            (i/o) length of result steering array (in)
                                                       number of result steering integers (out) (=6 at present)
                                rescmp           (out) list of result component names (in order: integer, text, real)
                                lcmp             (i/o) length of component name array (in)
                                                       number of result components (out)
                                idat             (out) list of integer results
                                lidat            (i/o) length of integer result array (in)
                                                       number of integer results (out)
                                cdat             (out) list of text results
                                lcdat            (i/o) length of text result array (in)
                                                       number of text results (out)
                                rdat             (out) list of real results
                                lrdat            (i/o) length of real result array (in)
                                                       number of real results (out)
                                ierr             (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                   2-19
ASAS Database Toolkit                                                                                   Program Writing




3.       Toolkit User Routines for Writing to Database

           User subroutines are available to write information to an ASAS™ database. The ASAS database consists of
           two main types of data:

           1. Model geometry data
           These are data that do not change with the loading. The data include nodal coordinate data, element
           topology data, material property data, geometric property data etc.
           2. Load step dependent data
           The data include loading information and various results at each load step.

           For writing to the database, the model geometry data must be available (either created using toolkit routines
           or an already existed structure) before the load step results can be stored.

           Several rules apply when using the database write routines:

           1.    The database write routines can only be applied to a structure but not to a component.
           2.    It is not allowed to change structure in the middle of a write (i.e. cannot change structure between the
                 initialisation and finalisation calls).
           3.    If the toolkit routines are used to generate the ASAS model geometry database, the structure must be
                 new to the project. This prevents accidental overwriting of existing model details. An option is
                 available to force model creation on an existing structure. However, this will have the effect of deleting
                 the old structure and thus all the old model geometry and results will be lost.
           4.    While in the write mode, it is not allowed to call the toolkit read routines at the same time (i.e. must
                 call ‘finalise’ routine before trying to read).
           5.    It is assumed that the model has the same degrees of freedom at each node.

           The variable IERR will be returned indicating the status of the operation.

           0          indicates satisfactory completion
           >0         indicates an error due to data or incomplete ASAS analysis
           > 1000     indicates a severe error that would not normally be due to data
           > 2000     indicates an array size or invalid number error returned by the database write routines
           <0         indicates that the array space provided was not large enough. The value returned is the negative of
                      the size of the buffer that was being read

           The toolkit write routines must be arranged in the following nested calling sequence:

           adb$inital
           adb$OpenProject
                    adb$CreateStructure
                            adb$SetUnits
                            adb$AddNode
                            adb$AddElement
                            adb$AddMaterial
                            adb$AddGeometry
                    adb$FinaliseStructure
                    adb$CreateResults
                            adb$AddLoadCase
                            adb$AddResultSet
                                     adb$AddEquationResults
                                     adb$AddElementResults
                                     adb$AddNodalResults
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                3-1
ASAS Database Toolkit                                                                                   Program Writing

                                    adb$AddGlobalResults
                                    adb$AddResults
                                    adb$AddDistLoad
                                    adb$AddBodyLoad
                                    adb$AddAngAccn
                            adb$FinaliseResultSet
                   adb$FinaliseResults
           adb$FinaliseProject

           In the following sections, details of the toolkit write subroutines are described. They are listed in the order
           of calling sequence given above. Table 2 groups the subroutines by function to enable the user to see what
           facilities are provided.




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.               3-2
ASAS Database Toolkit                                                                                   Program Writing



 SUBROUTINE                                          DESCRIPTION

 Subroutines associated with General
 Administration

 adb$inital                                          Routine to initialise ASAS™ common blocks etc
 adb$OpenProject                                     Open project
 adb$FinaliseProject                                 Close project


 Subroutines associated with Model
 Geometry

 adb$CreateStructure                                 Open structure
 adb$FinaliseStructure                               Close structure
 adb$SetUnits                                        Set analysis units
 adb$Addnode                                         Add a node – node number its coordinates
 adb$AddElement                                      Add an element – element number, type, attributes and node numbers
 adb$AddMaterial                                     Add a material – material number and properties
 adb$AddGeometry                                     Add a geometric property – geometric number and properties


 Subroutines associated with Load
 Step Results

 adb$CreateResults                                   Initialise results writing
 adb$FinaliseResults                                 Finalise results writing
 adb$AddLoadCase                                     Add a load case
 adb$AddResultSet                                    Add a result set
 adb$FinaliseResultSet                               Finalise a result set and/or load case
 adb$AddEquationResults                              Add equation results
 adb$AddElementResults                               Add element results
 adb$AddNodalResults                                 Add nodal results
 adb$AddGlobalResults                                Add global results
 adb$AddResults                                      Add results (generic)
 adb$AddDistLoad                                     Add distributed loads
 adb$AddBodyLoad                                     Add body linear accelerations
 adb$AddAngAccn                                      Add angular velocities and accelerations


                                                                  Table 2




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              3-3
ASAS Database Toolkit                                                                                   Program Writing


     3.1.             Routine to initialise ASAS™ common blocks etc

                      subroutine adb$inital(ierr)
                      integer ierr
                                ierr      - error flag

     3.2.             Open a project file

                      subroutine adb$OpenProject(projnm,istat,ierr)
                      character projnm*4
                      integer istat,ierr
                                projnm   (in)    name of project
                                istat    (in)    project status, 1 - new, 2 - old, others - any
                                ierr     (out)   error flag

                      Note

                      If a project does not exist and the project status is specified as old (istat = 2), an error will be
                      returned. If the project status is new (istat = 1), a new project will always be created and it will
                      overwrite any existing project with the same name. For other setting of the project status, the
                      status will be determined automatically based on the existence of the project file, i.e. create a new
                      project if it does not exist and open an old one otherwise.

     3.3.             Initialise model geometry creation

                      subroutine adb$CreateStructure(struct,iparm,imode,ierr)
                      character struct*(*)
                      integer iparm(*)
                      integer imode,ierr
                                struct      (in) name of structure
                                iparm       (in) array of model parameters
                                                  ( 1) number of nodes
                                                  ( 2) number of elements
                                                  ( 3) number of freedoms at a node
                                                  ( 4) dimension of coordinate space
                                                  ( 5) number of groups
                                                  ( 6) number of material properties
                                                  ( 7) number of geometric properties
                                                  ( 8) number of sections
                                                  ( 9) number of skew systems
                                                  (10-50) spare, not used
                                imode       (in) model status, 1 - new, others - any
                                ierr        (out) error flag

                      Notes

                      The required model parameters are upper bound figures for a model. They do not have to be the
                      exact values.

                      If the model status is new (imode = 1), a new structure will always be created and it will overwrite
                      any existing structure with the same name in the project. For other setting of the model status, a
                      new structure will be created only if it does not exist and an error will be returned otherwise.

     3.4.             Set up analysis units

Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                3-4
ASAS Database Toolkit                                                                                   Program Writing

                      subroutine adb$SetUnits(units,nunits,ierr)
                      integer nunits,ierr
                      character units(*)*(*)
                               units         (in) list of units
                               nunits        (in) number of units
                               ierr          (out) error flag

     3.5.             Add information of a node

                      subroutine adb$AddNode(node,coor,nc,ierr)
                      integer node,nc,ierr
                      double precision coor(*)
                               node          (in) node number
                               coor          (in) nodal coordinates
                               nc            (in) size of array coor
                               ierr          (out) error flag

                      Note

                      The variable nc is normally equal to the dimension of the coordinate space, icoor (i.e. iparm(4) in
                      call to subroutine adb$CreateStructure). It is allowed to specify nc less than icoor, in which case
                      the unassigned array value(s) will be zero. Specifying nc > icoor will cause error.

     3.6.             Add information of an element

                      subroutine adb$AddElement(ielem,etype,ielinf,nodelm,nndel,ierr)
                      character etype*4
                      integer ielem,nndel,ierr
                      ineteger ielinf(*),nodelm(*)
                                ielem          (in) element number
                                eltype         (in) element type name
                                ielinf         (in) array of element attributes
                                                     ( 1) group number
                                                     ( 2) material property number
                                                     ( 3) geometric property number (may be 0)
                                                     (4-10) spare, not used
                                nodelm         (in) element nodes array
                                nndel          (in) number of nodes on element
                                ierr           (out) error flag

                      Notes

                      An error will be returned if the number of element nodes specified does not agree with that
                      expected for an element type.

                      Only a subset of ASAS™ element names is supported. Below is the list of valid element names:

                      BRK6, BRK8, BR15, BR20, TET4, TE10
                      TRM3, QUM4, TRM6, QUM8
                      TRX3, QUX4, TRX6, QUX8
                      FLA2, FLA3
                      BM2D, BM3D, TUBE, TCBM
                      TBC3, QUS4, TCS6, TCS8
                      SPR1, SPR2


Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              3-5
ASAS Database Toolkit                                                                                   Program Writing

     3.7.             Add information of a material

                      subroutine adb$AddMaterial(matno,prop,nprop,ierr)
                      integer matno,nprop,ierr
                      double precision prop(*)
                               matno         (in) material property number
                               prop          (in) array of properties
                               nprop         (in) size of array prop
                               ierr          (out) error flag

     3.8.             Add information of a geometric property

                      subroutine adb$AddGeometry(igpno,prop,nprop,ierr)
                      integer igpno,nprop,ierr
                      double precision prop(*)
                                igpno         (in) geometric property number
                                prop          (in) array of properties
                                nprop         (in) size of array prop
                                ierr          (out) error flag

     3.9.             Write model geometry database

                      subroutine adb$FinaliseStructure(ierr)
                      integer ierr
                                ierr         (out) error flag

     3.10.            Initialise results creation

                      subroutine adb$CreateResults(struct,iparm,ierr)
                      character struct*(*)
                      integer iparm(*)
                      integer ierr
                                struct      (in ) name of structure or path for component
                                iparm       (in ) array of result parameters
                                                  ( 1) number of new result sets
                                                  ( 2) number of distributed load data
                                                  (3-50) spare, not used
                                ierr        (out) error flag

     3.11.            Add a load case

                      subroutine adb$AddLoadCase(icase,ierr)
                      integer icase
                      integer ierr
                      character settit*(*)
                                icase      (in ) user load case (set) number
                                settit     (in ) result set title
                                ierr       (out) error flag

                      Note

                      This subroutine will only add a new load case but it will not affect the result set information.
                      Subroutine adb$AddResultSet should be used instead if the data needs to be added to both the
                      load and result files.


Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              3-6
ASAS Database Toolkit                                                                                   Program Writing

     3.12.            Add a result set

                      subroutine adb$AddResultSet(iset,isub,settit,settim,ierr)
                      integer iset,isub
                      integer ierr
                      character settit*(*)
                      double precision settim
                                iset          (in ) user result set (load case) number
                                isub          (in ) sub-set number
                                settit        (in ) result set title
                                settim        (in ) result set time
                                ierr          (out) error flag

                      Note

                      If the sub-set number is zero, the result set number will be added to the list of load case numbers
                      also, i.e. it is assumed to be a load case.

     3.13.            Add equation results

                      subroutine adb$AddEquationResults(restyp,res,lres,ierr)
                      integer lres,ierr
                      double precision res(*)
                      character restyp*20
                                restyp        (in ) result type
                                res           (in ) array of real results
                                lres          (in ) number of real results
                                ierr          (out) error flag

                      Note

                      The specified result type must have a recognised equation result type name as described in the
                      ASAS™ Database Manual (e.g. ‘DISPLACEMENT’). An error will be returned otherwise.

     3.14.            Add element results

                      subroutine adb$AddElementResults(ielem,restyp,irster,nrster,rescmp,lcmp,ires,lires,res,lres,ierr)
                      integer ielem,nrster,lcmp,lires,lres,ierr
                      integer irster(*),ires(*)
                      double precision res(*)
                      character restyp*20
                      character rescmp(*)*8
                                ielem           (in ) user element number
                                restyp          (in ) result type
                                irster          (in ) result steering array
                                                      ( 1) number of points on a surface
                                                      ( 2) number of surfaces
                                                      ( 3) number of integer result components
                                                      ( 4) result location (0 global, 1 node, 2 gauss)
                                                      ( 5) output axis (0 global, 1 local, 2 aligned, 3 skewed)
                                                      ( 6) number of text result components
                                nrster          (in ) length of result steering array (=6 at present)
                                rescmp          (in ) list of result component names
                                lcmp            (in ) number of element result components
                                ires            (in ) array of element integer and text results
                                lires           (in ) number of element integer and text results
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              3-7
ASAS Database Toolkit                                                                                   Program Writing

                                  res                (in ) array of element real results
                                  lres               (in ) number of element real results
                                  ierr               (out) error flag

                      Note

                      The specified result type must have a recognised element result type name as described in the
                      ASAS™ Database Manual (e.g. ‘STRESS’). An error will be returned otherwise.

     3.15.            Add nodal results

                      subroutine adb$AddNodalResults(node,restyp,irster,nrster,rescmp,lcmp,ires,lires,res,lres,ierr)
                      integer node,nrster,lcmp,lires,lres,ierr
                      integer irster(*),ires(*)
                      double precision res(*)
                      character restyp*20
                      character rescmp(*)*8
                                node            (in ) user node number
                                restyp          (in ) result type
                                irster          (in ) result steering array
                                                      ( 1) number of points on a surface
                                                      ( 2) number of surfaces
                                                      ( 3) number of integer result components
                                                      ( 4) result location (0 global, 1 node, 2 gauss)
                                                      ( 5) output axis (0 global, 1 local, 2 aligned, 3 skewed)
                                                      ( 6) number of text result components
                                nrster          (in ) length of result steering array (=6 at present)
                                rescmp          (in ) list of result component names
                                lcmp            (in ) number of element result components
                                ires            (in ) array of element integer and text results
                                lires           (in ) number of element integer and text results
                                res             (in ) array of element real results
                                lres            (in ) number of element real results
                                ierr            (out) error flag

                      Note

                      The specified result type must have a recognised nodal result type name as described in the ASAS
                      Database Manual (e.g. ‘HISTORY DISPLACEMENT’). An error will be returned otherwise.

     3.16.            Add global results

                      subroutine adb$AddGlobalResults(restyp,irster,nrster,rescmp,lcmp,ires,lires,res,lres,ierr)
                      integer nrster,lcmp,lires,lres,ierr
                      integer irster(*),ires(*)
                      double precision res(*)
                      character restyp*20
                      character rescmp(*)*8
                                estyp           (in ) result type
                                rster           (in ) result steering array
                                                      ( 1) number of points on a surface
                                                      ( 2) number of surfaces
                                                      ( 3) number of integer result components
                                                      ( 4) result location (0 global, 1 node, 2 gauss)
                                                      ( 5) output axis (0 global, 1 local, 2 aligned, 3 skewed)
                                                      ( 6) number of text result components
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              3-8
ASAS Database Toolkit                                                                                          Program Writing

                                  nrster             (in )   length of result steering array (=6 at present)
                                  rescmp             (in )   list of result component names
                                  lcmp               (in )   number of element result components
                                  ires               (in )   array of element integer and text results
                                  lires              (in )   number of element integer and text results
                                  res                (in )   array of element real results
                                  lres               (in )   number of element real results
                                  ierr               (out)   error flag

                      Note

                      The specified result type must have a recognised global result type name as described in the
                      ASAS™ Database Manual (e.g. ‘REACTION SUM’). An error will be returned otherwise.

     3.17.            Add general results

                      subroutine adb$AddResults(ielnd,restyp,irster,nrster,rescmp,lcmp,ires,lires,res,lres,ierr)
                      integer ielnd,nrster,lcmp,lires,lres,ierr
                      integer irster(*),ires(*)
                      double precision res(*)
                      character restyp*20
                      character rescmp(*)*8
                                ielnd           (in ) user element number (element results)
                                                      user node number (nodal results)
                                                      unused (equation or global results)
                                restyp          (in ) result type
                                irster          (in ) result steering array
                                                      ( 1) number of points on a surface
                                                      ( 2) number of surfaces
                                                      ( 3) number of integer result components
                                                      ( 4) result location (0 global, 1 node, 2 gauss)
                                                      ( 5) output axis (0 global, 1 local, 2 aligned, 3 skewed)
                                                      ( 6) number of text result components
                                nrster          (in ) length of result steering array (=6 at present)
                                rescmp          (in ) list of result component names
                                lcmp            (in ) number of element result components
                                ires            (in ) array of element integer and text results
                                lires           (in ) number of element integer and text results
                                res             (in ) array of element real results
                                lres            (in ) number of element real results
                                ierr            (out) error flag

                      Note

                      The specified result type must have a recognised result type name as described in the ASAS™
                      Database Manual. An error will be returned otherwise. The result type attribute (i.e. equation,
                      element etc) is determined automatically based on the result type name specified.

     3.18.             Add distributed loads

                      subroutine adb$AddDistLoad(ielem,dtype,ifre,rload,nload,ierr)
                      integer ielem,ifre,nload,ierr
                      character dtype*4
                      double precision rload(*)
                                ielem          (in ) user element number
                                dtype          (in ) distributed load type
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.                     3-9
ASAS Database Toolkit                                                                                    Program Writing

                                  ifre               (in )   freedom/edge number where load is applied
                                  rload              (in )   array of load data
                                  nload              (in )   size of array rload
                                  ierr               (out)   error flag

     3.19.             Add body forces

                      subroutine adb$AddBodyLoad(accdat,ierr)
                      integer ierr
                      double precision accdat(3)
                                accdat       (in ) gravitational accelerations in x, y and z
                                ierr         (out) error flag

     3.20.             Add angular accelerations

                      subroutine adb$AddAngAccn(accdat,ierr)
                      integer ierr
                      double precision accdat(9)
                                accdat       (in ) body acceleration data
                                                   ( 1) centre of rotation, x
                                                   ( 2) centre of rotation, y
                                                   ( 3) centre of rotation, z
                                                   ( 4) angular acceleration, rx
                                                   ( 5) angular acceleration, ry
                                                   ( 6) angular acceleration, rz
                                                   ( 7) angular velocity, rx
                                                   ( 8) angular velocity, ry
                                                   ( 9) angular velocity, rz
                                ierr         (out) error flag

     3.21.            Finalise a result set

                      subroutine adb$FinaliseResultSet(ierr)
                      integer ierr
                                err          (out) error flag

     3.22.            Finalise results creation

                      subroutine adb$FinaliseResults(ierr)
                      integer ierr
                                err          (out) error flag

     3.23.            Close project and tidy up database

                      subroutine adb$FinaliseProject(ierr)
                      integer ierr
                                err          (out) error flag




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.               3-10
ASAS Database Toolkit                                                                                   Program Writing




4.       Method of Preparing a Program to Extract Structural Information

           The simplest way to write FORTRAN code to extract information is to declare arrays sufficiently large to
           contain the lists that are required. These sizes can be obtained by using the relevant routines to determine
           how many nodes, elements, load cases etc are in the structure. Alternatively, it is likely that the sizes are
           known because of the knowledge of the structure.

           Thus the declaration code may appear like this:

                      character proj*4,struct*60,mdlist(100)*4
                      character lodtit*40,strtyp(10)*12,fretyp(10)*4,units(6)*12
                      character elname*4,messag*75
                      double precision disp(10),reac(10),stress(96),disps(10,12)
                      double precision coords(3),elgeom(100),elmate(100)
                      integer*4 ielist(60),nodlst(60),lodlst(12),ielnod(32)
                      integer*4 igroup(10),ielgrp(60),lcases(4)
                      character restyp*20
                      character cmpnam(50)*8

           The routine adb$inital MUST be called first. This will initialise the program parameters, tables, common
           blocks etc:

                      call adb$inital(ierr)

           Next the project must be opened. The project name can either be defined in the FORTRAN code or can be
           read in as data

                      proj        = 'JACK'
                      call adb$opnprj(proj,ierr)

           The structure names or master component names within the project can now be obtained

                      nmstru       = 100
                      call adb$getmdl(mdlist,nmstru,ierr)

           On return nmstru contains the actual number of structures and master components in the project. The
           particular structure required can now be requested from the user, for example

                      write(*,*) nmstru, 'structures in project ',proj
                      write(*,*)'Input structure name required'
                      read(*,*) struct

           Alternatively struct can be a recovered component path name, for example

                      struct            = 'STRU LEV1 LEV2 NAME'

           The main parameters for the structure are now available and can be retrieved

                      call adb$nelem (struct,nelem,ierr)
                      call adb$nsnode(struct,nmnode,ierr)
                      call adb$nloads(struct,nloads,ierr)
                      call adb$ngroup(struct,ngroup,ierr)
                      call adb$mxfrnd(struct,mxfrnd,ierr)
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              4-1
ASAS Database Toolkit                                                                                   Program Writing

                      call adb$mxstel(struct,mxstel,ierr)
                      call adb$nskews(struct,nskews,ierr)

           The list of user element numbers for struct can be obtained as follows. nelist should be set equal to or
           greater than the number of elements in the structure. On exit nelist is set equal to the length of the element
           list returned

                      nelist        = 60
                      call adb$elelst(struct,ielist,nelist,ierr)

           The list of node numbers used in struct can be obtained as follows. nnodls should be set equal to or greater
           than the number of nodes used in the structure. On exit nnodls is set equal to the length of the node list
           returned

                      nnodls       = 60
                      call adb$nodlst(struct,nodlst,nnodls,ierr)

           The list of user load case numbers used in struct can be obtained as follows. nlodls should be set equal to
           or greater than the number of load cases applied to the structure. On exit nlodls is set equal to the length of
           the load case list returned

                      nlodls        = 12
                      call adb$lodlst(struct,lodlst,nlodls,ierr)

           The list of group numbers used in struct can be obtained as follows. ngroup should be set equal to or
           greater than the number of groups defined in the structure. On exit ngroup is set equal to the length of the
           group list returned

                      ngroup       = 10
                      call adb$grplst(struct,igroup,ngroup,ierr)

           A given load case title can be obtained as follows

                      lc            = 5
                      call adb$lodtit(struct,lc,lodtit,ierr)


           A list of user element numbers in a group can be obtained as follows. nelgrp should be set equal to or
           greater than the number of elements in the required group. On exit nelgrp is set equal to the length of the
           element list returned

                      igrp         = 7
                      nelgrp       = 60
                      call adb$elgrp(struct,igrp,ielgrp,nelgrp,ierr)

           The analysis units used for struct can be obtained as follows.

                      nunits        = 6
                      call adb$units(struct,units,nunits,ierr)

           The displacements at a given node for a given load case can be obtained as follows. ldisp should be set
           equal to or greater than the number of degrees of freedom at the given node. On exit ldisp is set equal to
           the number of displacements returned

                      node              = 145
                      lcase             = 4
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.               4-2
ASAS Database Toolkit                                                                                   Program Writing

                      ldisp        = 10
                      call adb$nddisp(struct,node,lcase,disp,ldisp,ierr)

           The freedom names for all the freedoms at a given node can be obtained as follows. nfrtyp should be set
           equal to or greater than the number of degrees of freedom at the given node. On exit nfrtyp is set equal to
           the number of freedom names returned

                      node         = 125
                      nfrtyp       = 10
                      call adb$ndftyp(struct,node,fretyp,nfrtyp,ierr)

           Thus the displacements can be printed with their description.

           Alternatively, the displacements at a given node for a given load case can be obtained from the equation
           results on the results database as follows. lrcmp should be set equal to or greater than the number of degrees
           of freedom at the given node. On exit lrcmp is set equal to the actual number of freedoms returned. ldisp
           should be set as before. For example, the results of result type DISPLACEMENT are retrieved as follows

                      node         = 145
                      lcase        = 4
                      lsub         = 0
                      lrcmp        = 50
                      ldisp        = 10
                      restyp       = ‘DISPLACEMENT’
                      call adb$rsequatn(struct,node,lcase,lsub,restyp,cmpnam,lrcmp,disp,ldisp,ierr)

           The displacements at a given node for a list of load cases can be obtained as follows. nlcase must be set
           equal to the number of cases in lcases. ldisp should be set equal to or greater than the number of degrees of
           freedom at the given node. On exit ldisp is set equal to the number of displacements returned for each load
           case

                      node         = 127
                      ldisp        = 10
                      nlcase       = 3
                      lcases(1)    = 4
                      lcases(2)    = 6
                      lcases(3)    = 9
                      call adb$nddispls(struct,node,lcases,nlcase,disps,ldisp,ierr)

           The reactions at a given node for a given load case can be obtained as follows. lreac should be set equal to
           or greater than the number of degrees of freedom at the given node. On exit lreac is set equal to the number
           of reactions returned

                      node         = 145
                      lcase        = 4
                      lreac        = 10
                      call adb$ndreac(struct,node,lcase,reac,lreac,ierr)

           The reactions at a given node for a list of load cases can be obtained as follows. nlcase must be set equal to
           the number of cases in lcases. lreac should be set equal to or greater than the number of degrees of
           freedom at the given node. On exit lreac is set equal to the number of reactions returned for each load case

                      node              =   127
                      lreac             =   10
                      nlcase            =   3
                      lcases(1)         =   4
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              4-3
ASAS Database Toolkit                                                                                   Program Writing

                      lcases(2)    = 6
                      lcases(3)    = 9
                      call adb$ndreacls(struct,node,lcases,nlcase,reacs,lreac,ierr)

           Monitoring may be added for checking

                      call adb$monitor(struct,'lv','full',ierr)
                      call adb$monitor(struct,'memory',' ',ierr)
                      call adb$monitor(struct,'lex','brief',ierr)
                      call adb$monitor(struct,'ifpart','read',ierr)
                      call adb$monitor(struct,'isfil','write',ierr)
                      call adb$monitor(struct,'lv','clear',ierr)
                      call adb$monitor(struct,'memory','clear',ierr)

           The forces/stresses for a given user element for a given load case can be obtained as follows. lstres should
           be set equal to or greater than the number of stresses/forces computed for the given element. On exit lstres
           is set equal to the number of stresses/forces returned

                      iel           = 34
                      lcase         = 5
                      lstres        = 96
                      call adb$elefor(struct,iel,lcase,stress,lstres,ierr)

           The force/stress descriptions for a given user element can be obtained as follows. For most element types
           the number of types is the number per node for that element. For BAX3, SQM8, STM6, TSP6 the number
           of types is the total number for the whole element

                      iel           = 34
                      nstrtp        = 10
                      call adb$elstyp(struct,iel,strtyp,nstrtp,ierr)

           Alternatively, the forces/stresses for a given user element for a given load case can be obtained from the
           element results on the results database as follows. lrcmp should be set equal to or greater than the number of
           stress/force components computed for the given element. On exit lrcmp is set equal to the number of
           stresses/forces returned. lstres should be set as before. For example, the results of result type STRESS on
           surface 1 are retrieved as follows

                      iel           = 34
                      lcase         = 5
                      lsub          = 0
                      isurf         = 1
                      lrcmp         = 50
                      lstres        = 96
                      restyp        = ‘STRESS’
                      call adb$rselemr(struct,iel,lcase,lsub,restyp,isurf,cmpnam,lrcmp,stress,lstres,ierr)

           For a given user element number, the name of the element can be obtained as follows

                      iel          = 34
                      call adb$elname(struct,iel,elname,ierr)

           Thus the stresses can be printed with their descriptions for an element with its corresponding name

           The node numbers that define a given element can be obtained as follows. nelnod should be set equal to or
           greater than the number of nodes for the given element. On exit nelnod is set equal to the length of the node
           list returned.
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              4-4
ASAS Database Toolkit                                                                                   Program Writing


                      iel          = 34
                      nelnod       = 32
                      call adb$elnode(struct,iel,ielnod,nelnod,ierr)

           The coordinates of a given node can be obtained as follows

                      node         = 10
                      ncords       = 3
                      call adb$ndcoor(struct,node,coords,ncords,ierr)

           The geometric properties of a given user element number can be obtained as follows. nelgom should be set
           equal to or greater than the number of geometric properties for the given element. On exit nelgom is set
           equal to the length of the property list returned.

                      iel          = 23
                      nelgom       = 100
                      call adb$elgeom(struct,iel,elgeom,nelgom,ierr)

           The material properties of a given user element number can be obtained as follows. nelmat should be set
           equal to or greater than the number of material properties for the given element. On exit nelmat is set equal
           to the length of the material property list returned.

                      iel          = 46
                      nelmat       = 100
                      call adb$elmate(struct,iel,elmate,nelmat,ierr)




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              4-5
ASAS Database Toolkit                                                                                   Program Writing

           If the error flag is returned positive then the reason can be obtained as follows

                      if (ierr.gt.0) then
                      call adb$errmsg(ierr,messag)
                      write(*,*) messag
                      endif

         The user can, if desired, add any extra information such as node or element number to the message that is
         written.

         When all the information has been obtained, the project must be closed down as follows

                      call adb$clsprj(ierr)

         The program may be terminated after this call. Alternatively, another project may be loaded in. Note that
         only one project can be in core at any one time.




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.              4-6
ASAS Database Toolkit                                                                                   Error Messages



5.       Error Messages

           The following is a list of the error messages currently reported in TOOLKIT. The number is the value
           returned in IERR. Many of them are self-explanatory.

           1.         Cannot obtain forces or stresses from a dynamic run
                      Forces and stresses are only available from a static run

           2.         Component has not been recovered

           3.         Displacement information does not exist
                      The file containing the displacements cannot be found. This is probably due to the ASAS™ run
                      not completing.

           4.         Element does not exist on structure

           5.         Element information does not exist
                      The file containing the element information cannot be found. This is probably due to the ASAS
                      run not completing.

           6.         Freedom does not exist on structure

           7.         Frequency (eigenvalue) information does not exist
                      The file containing the frequency information cannot be found. This is probably due to the ASAS
                      run not completing.

           8.         Group does not exist on structure

           9.         Incorrect file monitoring type
                      The only valid monitoring types are brief/full/read/write/clear.

           10.        Incorrect file name for monitoring
                      The name of the file does not exist in the ASAS file system.

           11.        Internal cross-reference information does not exist
                      The file containing the cross-reference information cannot be found. This is probably due to the
                      ASAS run not completing.

           12.        Invalid name in component branch or at wrong level
                      The name(s) in the component path do not exist or the path is incorrect to the component.

           13.        Load case does not exist on structure

           14.        Mode shape number greater than maximum

           15.        No freedoms at node

           16.        Node does not exist on structure

           17.        Reactions are not available in a dynamic run
                      Reactions are only available from a static run.



Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.             5-1
ASAS Database Toolkit                                                                                   Error Messages

           18.        Skew does not exist on structure

           19.        Stress information does not exist
                      The file containing the stress information cannot be found. This is probably due to the ASAS™
                      run not completing.

           20.        Structure does not exist
                      An incorrect name has been given for the structure.

           21.        Structure does not have a tree.

           22.        There are no load cases on the structure.

           23.        There are no skews on the structure

           24.        Total structure assembly not performed on structure

           25.        Units information does not exist
                      The units information cannot be found. This is probably due to the ASAS run not completing.

           26.        Cannot find project (10) file.

           27.        Cannot find model (35) file.

           28.        Cannot find results (45) file.

           29.        Equation result does not exist.

           30.        Element result does not exist.

           31.        Invalid surface number for element results.

           32.        Nodal result does not exist.

           33.        Global result does not exist.

           34.        Incorrect routine used for retrieving result type.

           35.        Project file already opened

           36.        Project file has not been opened

           37.        Previous model geometry has not been saved to database

           38.        Previous results have not been saved to database

           39.        Cannot create new structure - model already exists

           40.        Cannot create a new component

           41.        Structure for writing has not been initialised

           42.        Cannot write ASAS files - incomplete model geometry

           43.        Cannot save results to a component

Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.            5-2
ASAS Database Toolkit                                                                                   Error Messages

           44.        Cannot change structure

           45.        Results file has not been opened

           46.        Result set has not been defined

           47.        Previous loads have not been saved to database

           48.        Load case has not been defined

           49.        Local node number does not exist.




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.            5-3
ASAS Database Toolkit                                                                                   Inconsistencies




6.       Inconsistencies

         The following error messages should not occur. They are due to inconsistencies in the ASAS™ file
         structure.

           1001       Administration information does not exist
           1002       Dynamics information does not exist
           1003       Element library information does not exist
           1004       Force/stress types do not exist for this element
           1005       Freedom name library does not exist
           1006       Group steering information does not exist
           1007       Internal freedom partitioning information does not exist
           1008       Internal load case partitioning information does not exist
           1009       Internal node and freedom list does not exist
           1010       Library information does not exist
           1011       Load case information does not exist
           1012       Nodal skew node information does not exist
           1013       Nodal skew steering information does not exist
           1014       Node coordinate information does not exist
           1015       Node does not exist on partitioning record
           1016       Node information does not exist
           1017       Normalisation record does not exist for mode shapes
           1018       Reaction information does not exist
           1019       Skew direction cosine information does not exist
           1020       Skew information does not exist
           1021       Skew steering information does not exist
           1022       Stress record does not exist for element
           1023       Element with released freedom does not exist
           1024       Restrained freedom list does not exist
           1025       Load steering table does not exist
           1026       Maximum number of freedoms per node exceeded
           1027       Section property information does not exist
           1028       Result set information does not exist
           1029       Result type information does not exist
           1030       Result component information does not exist
           1031       Sets information does not exist
           1032       Incorrect set name or set position
           1033       No element in set
           1034       Invalid result component integer specified
           1035       Invalid result component name specified

         The following error messages are array size and invalid number errors from the write subroutines.

           2001       Non-positive number of nodes
           2002       Non-positive number of elements
           2003       Non-positive number of freedoms at node
           2004       Coordinate dimension is not 2 or 3
           2005       Negative number of groups
           2006       Non-positive number of materials
           2007       Negative number of geometric properties
           2008       Negative number of sections
           2009       Negative number of skew systems
Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.             6-1
                                                                                                        Inconsistencies

           2010       Node number out of range
           2011       Number of coordinate data out of range
           2012       Node list is full
           2013       Element number out of range
           2014       Number of nodes on element incorrect for type
           2015       Group number out of range
           2016       Material property number out of range
           2017       Geometric property number out of range
           2018       Group list is full
           2019       Element list is full
           2020       Number of material properties out of range
           2021       Material list is full
           2022       Number of geometric properties out of range
           2023       Geometric property list is full
           2024       Invalid element type
           2025       Non-positive Number of result sets
           2026       Result set/sub-set number out of range
           2027       Invalid input parameter value(s) specified
           2028       Error occurred during result writing
           2029       Load case number out of range
           2030       Load case list is full
           2031       Number of units out of range
           2032       Invalid unit specified
           2033       Duplicated unit specified
           2034       Missing force and/or length units
           2035       Invalid force and length units combination
           2036       Invalid distributed load type
           2037       Number of load data out of range
           2038       Distributed load freedom/edge number out of range
           2039       Distributed load type invalid for element type
           2040       Distributed load start distance greater than beam length
           2041       Distributed load start distance greater than finish
           2042       Distributed load data list is full




Contains proprietary and confidential information of ANSYS, Inc. and its subsidiaries and affiliates.             6-2

				
DOCUMENT INFO
Categories:
Tags:
Stats:
views:6
posted:8/22/2012
language:Unknown
pages:46
Subrahmanian KR Subrahmanian KR
About Civil Engineer