PCL Examples > Results Postprocessing Functions > Data Register Definition Functions
   
Data Register Definition Functions
This section contains examples of some of the functions that define the manipulation methods and data or data source for data registers.
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_get_ntitles()
#
#                      This session file extracts the number of titles
#                      stored in a register.
#                      
#                      Before running this session file run spool.ses
#                      and create result file spool.op2 as per the
#                      instructions given in it. Import this result
#                      file spool.op2 into spool.db. For instructions
#                      see file spool.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_get_ntitles()
#  has the following arguments:
#
#  res_data_get_ntitles
#     (  register,
#        location,
#        register_type,
#        count )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
INTEGER  i_count
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file spool.db
uil_file_open.go ("spool.db")
#---------------------------------------------------------------------
# Create a data register
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "SPOOL_LOADS", "Static Subcase",           @
      "Stress Tensor", "", "At Z1", "VONM",      @
      "Default", "DeriveAverage", "All", "ShapeFunc" )
dump i_return_value
 
i_return_value =                                 @
   res_data_title( 1, "Nodal", "Scalar", 1,      @
      ["SPOOL_LOADS, Static Subcase: Stress Tensor, -At Z1 (VONM)"] )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register      = 1
s_location      = "Nodal"
s_register_type = "Scalar"
#---------------------------------------------------------------------
# Gets the number of titles
i_return_value =                                 @
   res_data_get_ntitles                          @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         i_count )
dump i_return_value
dump i_count
# This value shows number of titles stored in a register.
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_get_titles()
#
#                      This session file extracts the number of titles
#                      and titles stored in a register.
#
#                      Before running this session file run spool.ses
#                      and create result file spool.op2 as per the
#                      instructions given in it. Import this result
#                      file spool.op2 into spool.db. For instructions
#                      see file spool.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_get_titles()
#  has the following arguments:
#
#  res_data_get_titles
#     (  register,
#        location,
#        register_type,
#        count,
#        titles )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
INTEGER  i_count
STRING   sa_titles[128](1)
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file spool.db
uil_file_open.go ("spool.db")
#---------------------------------------------------------------------
# Creates a data register and a title for it
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "SPOOL_LOADS", "Static Subcase",           @
      "Stress Tensor", "", "At Z1", "VONM",      @
      "Default", "DeriveAverage", "All", "ShapeFunc" )
dump i_return_value
 
i_return_value =                                 @
   res_data_title( 1, "Nodal", "Scalar", 1,      @
      ["SPOOL_LOADS, Static Subcase: Stress Tensor, -At Z1 (VONM)"] )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register      = 1
s_location      = "Nodal"
s_register_type = "Scalar"
#---------------------------------------------------------------------
# Gets the titles
i_return_value =                                 @
   res_data_get_titles                           @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         i_count,                                @
         sa_titles )
dump i_return_value
dump i_count
# This value shows number of titles associated with this register.
dump sa_titles
# This shows the titles associated with this register.
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_dbres_list()
#
#                      This session file associates a series of
#                      registers with a specific register.
#                      Two registers are defined then they are
#                      associated with a single register and scanned
#                      for the maximum value. New loadcase and
#                      subcase are created and new register is saved.
#                      Then new registers fringe plot is created.
3
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_dbres_list()
#  has the following arguments:
#
#  res_data_dbres_list
#     (  register,
#        location,
#        register_type,
#        count,
#        load_cases,
#        subcases,
#        primary_result,
#        secondary_result,
#        layers )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
INTEGER  i_count
STRING   sa_load_cases[32](2)
STRING   sa_subcases[32](2)
STRING   sa_primary_result[32](2)
STRING   sa_secondary_result[32](2)
STRING   sa_layers[32](2)
INTEGER  i_return_value
INTEGER  res_create_drv_maxmin_new_lcid
INTEGER  res_create_drv_maxmin_new_scid
INTEGER  res_create_drv_maxmin_new_rcid
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go ("dyna.db")
#---------------------------------------------------------------------
# Register definition
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Vector", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "", "AsIs", "", "", "", "" , 0. )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register             = 0 
s_location             = "Nodal" 
s_register_type        = "Vector"
i_count                = 2
sa_load_cases(1)       = "Default"
sa_load_cases(2)       = "Default"
sa_subcases(1)         = "Mode 1:Freq.=751.31"
sa_subcases(2)         = "Mode 2:Freq.=1394.7"
sa_primary_result(1)   = "Eigenvectors"
sa_primary_result(2)   = "Eigenvectors"
sa_secondary_result(1) = "Translational"
sa_secondary_result(2) = "Translational"
sa_layers(1)           = "(NON-LAYERED)"  
sa_layers(2)           = "(NON-LAYERED)"
#---------------------------------------------------------------------
# Associates series of result with specified register
i_return_value =                                 @
   res_data_dbres_list                           @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         i_count,                                @
         sa_load_cases,                          @
         sa_subcases,                            @
         sa_primary_result,                      @
         sa_secondary_result,                    @
         sa_layers )
dump i_return_value
#---------------------------------------------------------------------
# Scans the maximum value
i_return_value =                                 @
   res_data_list_max( 0, "Nodal", "Vector", "Algebraic", "MAG" )
dump i_return_value
#---------------------------------------------------------------------
# Creates loadcase, subcase and saves it
i_return_value =                                 @
   res_db_create_loadcase_c( "Derived Results",  @
      1, "Created by Results Derive", res_create_drv_maxmin_new_lcid )
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 2, "Subcase 1",      @
      res_create_drv_maxmin_new_scid, res_create_drv_maxmin_new_rcid )
dump i_return_value
 
i_return_value =                                 @
   res_data_save( 0, "Nodal", "Vector",          @
      "Derived Results", "Subcase 1", "", "Eigenvectors", "", 0, [""])
dump i_return_value
#---------------------------------------------------------------------
# Plots the new result case
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Scalar", @
      "Derived Results", "Subcase 1",            @
      "Eigenvectors", "", "(NON-LAYERED)", "MAG",@
      "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_title( 0, "Nodal", "Scalar", 1,      @
      ["Derived Results, Subcase 1, Eigenvectors,@
      - Magnitude, (NON-LAYERED)"] )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_create( "", "FreeFaces", 0 @
      , [""], 12, ["Range:Fri_default_Fringe",   @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge:" //@
      "FreeEdge,Blue,Solid,1", "Shrink:0",       @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None",         @
      "ScaleFactor:1.", "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 0, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_register_list()
#
#                      This session file associates a series of
#                      registers with a specific register.
#                      Two registers are defined then they are 
#                      associated with a single register and scanned 
#                      for the maximum value. New loadcase and 
#                      subcase are created and new register is saved. 
#                      Then new registers fringe plot is created.
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_register_list()
#  has the following arguments:
#
#  res_data_register_list
#     (  register,
#        location,
#        register_type,
#        count,
#        register_list )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
INTEGER  i_count
INTEGER  ia_register_list(2)
INTEGER res_create_drv_maxmin_new_lcid
INTEGER res_create_drv_maxmin_new_scid
INTEGER res_create_drv_maxmin_new_rcid
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go( "dyna.db" )
#---------------------------------------------------------------------
# Defining the registers
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Vector", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "", "AsIs", "", "", "", "" , 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult( 2, "Nodal", "Vector", @
      "Default", "Mode 2:Freq.=1394.7",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "", "AsIs", "", "", "", "" , 0. )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register         = 2
s_location         = "Nodal"
s_register_type    = "Vector"
i_count            = 2 
ia_register_list   = [1, 2]
#---------------------------------------------------------------------
# Associates series of registers with a specific register
i_return_value =                                 @
   res_data_register_list                        @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         i_count,                                @
         ia_register_list )
dump i_return_value
#---------------------------------------------------------------------
# Scans the maximum value
i_return_value =                                 @
   res_data_list_max( 2, "Nodal", "Vector", "Algebraic", "MAG" )
dump i_return_value
#---------------------------------------------------------------------
# Creating new load and result case and saving the new result case
i_return_value =                                 @
   res_db_create_loadcase_c("New Results", 1,    @
      "Created by Results Derive", res_create_drv_maxmin_new_lcid)
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 2, "Subcase 1",      @
      res_create_drv_maxmin_new_scid, res_create_drv_maxmin_new_rcid)
dump i_return_value
 
i_return_value =                                 @  
   res_data_save( 2, "Nodal", "Vector",          @
      "New Results", "Subcase 1", "(NON-LAYERED)"@
      , "Eigenvectors", "")
dump i_return_value
#---------------------------------------------------------------------
# Creating a fringe plot of new result case
i_return_value =                                 @
   res_data_load_dbresult( 2, "Nodal", "Scalar", @
      "New Results", "Subcase 1", "Eigenvectors",@
      "", "(NON-LAYERED)", "MAG", "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_create( "", "FreeFaces", 0,@
      [""], 12, ["Range:Fri_default_Fringe",     @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge" // @
      ":FreeEdge,Blue,Solid,1", "Shrink:0",      @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None",         @
      "ScaleFactor:1.",                          @
      "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 2, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_list_sum()
#
#                      This session file adds the data specified by 
#                      the register list, saves it in a new result
#                      case and displays the fringe plot of the new
#                      result case.
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_list_sum()
#  has the following arguments:
#
#  res_data_list_sum_
#     (  register,
#        location,
#        register_type,
#        count,
#        weights )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
INTEGER  i_count
REAL     ra_weights(2)
INTEGER  i_return_value
INTEGER  res_create_drv_maxmin_new_lcid
INTEGER  res_create_drv_maxmin_new_scid
INTEGER  res_create_drv_maxmin_new_rcid
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go ("dyna.db")
#---------------------------------------------------------------------
# Register definition
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Vector", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "", "AsIs", "", "", "", "" , 0. )
dump i_return_value
#---------------------------------------------------------------------
# Associates series of result with specified register
i_return_value =                                 @
   res_data_dbres_list( 0, "Nodal", "Vector", 1, @
      ["Default"], ["Mode 2:Freq.=1394.7"],      @
      ["Eigenvectors"], ["Translational"], ["(NON-LAYERED)"] )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register       = 0
s_location       = "Nodal"
s_register_type  = "Vector"
i_count          = 2
ra_weights(1)    = 1.
ra_weights(2)    = 1.
#---------------------------------------------------------------------
# Adds the data 
i_return_value =                                 @
   res_data_list_sum                             @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         i_count,                                @
         ra_weights )
dump i_return_value
#---------------------------------------------------------------------
# Creates loadcase, subcase and saves it
i_return_value =                                 @
   res_db_create_loadcase_c( "Derived Results",  @
      1, "Created by Results Derive", res_create_drv_maxmin_new_lcid )
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 2, "Subcase 1",      @
      res_create_drv_maxmin_new_scid, res_create_drv_maxmin_new_rcid )
dump i_return_value
 
i_return_value =                                 @
   res_data_save( 0, "Nodal", "Vector",          @
      "Derived Results", "Subcase 1", "", "Eigenvectors", "", 0, [""])
dump i_return_value
#---------------------------------------------------------------------
# Plots the new result case
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Scalar", @
      "Derived Results", "Subcase 1",            @
      "Eigenvectors", "", "(NON-LAYERED)", "MAG",@
      "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_title( 0, "Nodal", "Scalar", 1,      @
      ["Derived Results, Subcase 1, Eigenvectors,@
      - Magnitude, (NON-LAYERED)"] )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_create( "", "FreeFaces", 0 @
      , [""], 12, ["Range:Fri_default_Fringe",   @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge:" //@
      "FreeEdge,Blue,Solid,1", "Shrink:0",       @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None",         @
      "ScaleFactor:1.", "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 0, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_list_max()
#
#                      This session file associates a series of
#                      database result specifiers with a specific
#                      register, saves the new register, scans the 
#                      maximum value and displays the fringe plot. 
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_list_max()
#  has the following arguments:
#
#  res_data_list_max
#     (  register,
#        location,
#        register_type,
#        method,
#        derivation )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
STRING   s_method[16]
STRING   s_derivation[16]
INTEGER  i_return_value
INTEGER res_create_drv_maxmin_new_lcid
INTEGER res_create_drv_maxmin_new_scid
INTEGER res_create_drv_maxmin_new_rcid
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go ("dyna.db")
#---------------------------------------------------------------------
# Register definition
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Vector", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "", "AsIs", "", "", "", "" , 0. )
dump i_return_value
#---------------------------------------------------------------------
# Associates series of result with specified register
i_return_value =                                 @
   res_data_dbres_list(0, "Nodal", "Vector", 2,  @
      ["Default", "Default"], ["Mode 1:Freq." // @
      "=751.31", "Mode 2:Freq.=1394.7"],         @
      ["Eigenvectors", "Eigenvectors"],          @
      ["Translational", "Translational"],        @
      ["(NON-LAYERED)", "(NON-LAYERED)"])
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register       = 0
s_location       = "Nodal"
s_register_type  = "Vector"
s_method         = "Algebraic"
s_derivation     = "MAG"
#---------------------------------------------------------------------
# Scans the maximum value
i_return_value =                                 @
   res_data_list_max                             @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         s_method,                               @
         s_derivation )
dump i_return_value
#---------------------------------------------------------------------
# Creates loadcase, subcase and saves data into it
i_return_value =                                 @
   res_db_create_loadcase_c( "Derived Results",  @
      1, "Created by Results Derive", res_create_drv_maxmin_new_lcid )
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 2, "Subcase 1",      @
      res_create_drv_maxmin_new_scid, res_create_drv_maxmin_new_rcid )
dump i_return_value
 
i_return_value =                                 @
   res_data_save( 0, "Nodal", "Vector",          @
      "Derived Results", "Subcase 1", "", "Eigenvectors", "", 0, [""])
dump i_return_value
#---------------------------------------------------------------------
# Plots the new result case
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Scalar", @
      "Derived Results", "Subcase 1",            @
      "Eigenvectors", "", "(NON-LAYERED)", "MAG",@
      "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_title( 0, "Nodal", "Scalar", 1,      @
      ["Derived Results, Subcase 1, Eigenvectors,@
      - Magnitude, (NON-LAYERED)"] )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_create( "", "FreeFaces", 0 @
      , [""], 12, ["Range:Fri_default_Fringe",   @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge:" //@
      "FreeEdge,Blue,Solid,1", "Shrink:0",       @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None",         @
      "ScaleFactor:1.", "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 0, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_list_min()
#
#                      This session file associates a series of
#                      database result specifiers with a specific
#                      register, saves the new register, scans the 
#                      minimum value and displays the fringe plot. 
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_list_min()
#  has the following arguments:
#
#  res_data_list_min
#     (  register,
#        location,
#        register_type,
#        method,
#        derivation )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
STRING   s_method[16]
STRING   s_derivation[16]
INTEGER  i_return_value
INTEGER res_create_drv_maxmin_new_lcid
INTEGER res_create_drv_maxmin_new_scid
INTEGER res_create_drv_maxmin_new_rcid
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go ("dyna.db")
#---------------------------------------------------------------------
# Register definition
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Vector", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "", "AsIs", "", "", "", "" , 0. )
dump i_return_value
#---------------------------------------------------------------------
# Associates series of result with specified register
i_return_value =                                 @
   res_data_dbres_list(0, "Nodal", "Vector", 2,  @
      ["Default", "Default"], ["Mode 1:Freq." // @
      "=751.31", "Mode 2:Freq.=1394.7"],         @
      ["Eigenvectors", "Eigenvectors"],          @
      ["Translational", "Translational"],        @
      ["(NON-LAYERED)", "(NON-LAYERED)"])
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register       = 0
s_location       = "Nodal"
s_register_type  = "Vector"
s_method         = "Algebraic"
s_derivation     = "MAG"
#---------------------------------------------------------------------
# Scans the maximum value
i_return_value =                                 @
   res_data_list_min                             @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         s_method,                               @
         s_derivation )
dump i_return_value
#---------------------------------------------------------------------
# Creates loadcase, subcase and saves data into it
i_return_value =                                 @
   res_db_create_loadcase_c( "Derived Results",  @
      1, "Created by Results Derive", res_create_drv_maxmin_new_lcid )
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 2, "Subcase 1",      @
      res_create_drv_maxmin_new_scid, res_create_drv_maxmin_new_rcid )
dump i_return_value
 
i_return_value =                                 @
   res_data_save( 0, "Nodal", "Vector",          @
      "Derived Results", "Subcase 1", "", "Eigenvectors", "", 0, [""])
dump i_return_value
#---------------------------------------------------------------------
# Plots the new result case
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Scalar", @
      "Derived Results", "Subcase 1",            @
      "Eigenvectors", "", "(NON-LAYERED)", "MAG",@
      "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_title( 0, "Nodal", "Scalar", 1,      @
      ["Derived Results, Subcase 1, Eigenvectors,@
      - Magnitude, (NON-LAYERED)"] )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_create( "", "FreeFaces", 0 @
      , [""], 12, ["Range:Fri_default_Fringe",   @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge:" //@
      "FreeEdge,Blue,Solid,1", "Shrink:0",       @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None",         @
      "ScaleFactor:1.", "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 0, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_list_interp_gv()
#
#                      This session file interpolates the result data
#                      for the given value and saves it in a new 
#                      result case
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_list_interp_gv()
#  has the following arguments:
#
#  res_data_list_interp_gv
#     (  register,
#        location,
#        register_type,
#        global_name,
#        value,
#        interpolation,
#        extrapolation )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
STRING   s_global_name[16]
REAL     r_value
STRING   s_interpolation[16]
STRING   s_extrapolation[16]
INTEGER res_create_drv_maxmin_new_lcid
INTEGER res_create_drv_maxmin_new_scid
INTEGER res_create_drv_maxmin_new_rcid
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go ("dyna.db")
#---------------------------------------------------------------------
# Defining a register
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "MAG", "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_dbres_list( 1, "Nodal", "Scalar", 1, @
      ["Default"], ["Mode 2:Freq.=1394.7"],      @
      ["Eigenvectors"], ["Translational"],       @
      ["(NON-LAYERED)"] )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register       = 1
s_location       = "Nodal"
s_register_type  = "Scalar"
s_global_name    = "Frequency"
r_value          = 1000.00
s_interpolation  = "Linear"
s_extrapolation  = "Linear"
#---------------------------------------------------------------------
# Interpolates for the given value
i_return_value =                                 @
   res_data_list_interp_gv                       @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         s_global_name,                          @
         r_value,                                @
         s_interpolation,                        @
         s_extrapolation )
dump i_return_value
#---------------------------------------------------------------------
# Creates new result case and saves new register in it.
i_return_value =                                 @
   res_db_create_loadcase_c("Derived Results", 1,@
      "Created by Results Derive", res_create_drv_maxmin_new_lcid )
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 2, "Subcase 1",      @
      res_create_drv_maxmin_new_scid, res_create_drv_maxmin_new_rcid )
dump i_return_value
 
i_return_value =                                 @
   res_data_save( 1, "Nodal", "Scalar",          @
      "Derived Results", "Subcase 1",            @
      "(NON-LAYERED)", "New Result", "Frequency=1000.00" )
dump i_return_value
#---------------------------------------------------------------------
# Creates a plot of new result case
i_return_value =                                 @
   res_display_fringe_create("", "FreeFaces", 0, @
      [""], 12, ["Range:Fri_default_Fringe",     @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge" // @
      ":FreeEdge,Blue,Solid,1", "Shrink:0",      @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None ",        @
      "ScaleFactor:1.", "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 1, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_list_interp_factor()
#
#                      This session file interpolates the result data
#                      between two result data for the given factor
#                      and saves it in a new result case.
#                      New result case is created using existing 
#                      result case, then interpolation is done
#                      between existing and new result case and 
#                      interpolated case is saved and fringe plot is
#                      created.
# 
#                      Before running this session file run spool.ses
#                      and create result file spool.op2 as per the
#                      instructions given in it. Import this result
#                      file spool.op2 into spool.db. For instructions
#                      see file spool.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_list_interp_factor()
#  has the following arguments:
#
#  res_data_list_interp_factor
#     (  register,
#        location,
#        register_type,
#        factor,
#        interpolation,
#        extrapolation )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
REAL     r_factor
STRING   s_interpolation[16]
STRING   s_extrapolation[16]
INTEGER res_create_demo_lcid
INTEGER res_create_demo_scid
INTEGER res_create_demo_rcid
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file spool.db
uil_file_open.go ("spool.db")
#---------------------------------------------------------------------
# Creating new load and result case
i_return_value =                                 @
   res_db_create_loadcase_c( "COMBINE", 1,       @
      "Assign Results To A Load Case", res_create_demo_lcid)
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 5, "Subcase 3",      @
      res_create_demo_scid, res_create_demo_rcid)
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Vector", @
      "SPOOL_LOADS", "Static Subcase",           @
      "Displacements", "Translational",          @
      "(NON-LAYERED)", "", "", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_dbres_list( 1, "Nodal", "Vector", 1, @
      ["SPOOL_LOADS"], ["Static Subcase"],       @
      ["Displacements"], ["Translational"],      @
      ["(NON-LAYERED)"] )
dump i_return_value
 
i_return_value =                                 @
   res_data_list_sum( 1, "Nodal", "Vector", 1, [2.])
dump i_return_value
 
i_return_value =                                 @
   res_data_save(1, "Nodal", "Vector", "COMBINE",@
      "Subcase 3", "(NON-LAYERED)", "Displacements", "Translational")
dump i_return_value
#---------------------------------------------------------------------
# Register definition
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Vector", @
      "SPOOL_LOADS", "Static Subcase",           @
      "Displacements", "Translational",          @
      "(NON-LAYERED)", "", "", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_dbres_list( 1, "Nodal", "Vector", 1, @
      ["COMBINE"], ["Subcase 3"],       @
      ["Displacements"], ["Translational"],      @
      ["(NON-LAYERED)"] )
dump i_return_value
#---------------------------------------------------------------------
# Creating load and subcase
i_return_value =                                 @
   res_db_create_loadcase_c( "NEW", 1,           @
      "Assign Results To A Load Case", res_create_demo_lcid )
dump i_return_value
 
i_return_value =                                 @
   res_db_create_subcase_c( 6, "Subcase 4",      @
      res_create_demo_scid, res_create_demo_rcid )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_register       = 1
s_location       = "Nodal"
s_register_type  = "Vector"
r_factor         = 0.2
s_interpolation  = "Linear"
s_extrapolation  = "Error"
#---------------------------------------------------------------------
# Interpolates the data
i_return_value =                                 @
   res_data_list_interp_factor                   @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         r_factor,                               @
         s_interpolation,                        @
         s_extrapolation )
dump i_return_value
#---------------------------------------------------------------------
# Saves the new data
i_return_value =                                 @
   res_data_save(1, "Nodal", "Vector", "NEW",@
      "Subcase 4", "(NON-LAYERED)", "Displacements", "Translational" )
dump i_return_value
#---------------------------------------------------------------------
# Creating plot for the new case
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "NEW", "Subcase 4", "Displacements",       @
      "Translational", "(NON-LAYERED)", "MAG",   @
      "AsIs", "", "", "", "", 0. )
dump i_return_value 
 
 
i_return_value =                                 @
   res_display_fringe_create( "", "FreeFaces", 0,@ 
      [""], 12, ["Range:Fri_default_Fringe",     @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge" // @
      ":FreeEdge,Blue,Solid,1", "Shrink:0",      @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None",         @
      "ScaleFactor:1.", "LabelStyle:Fixed, 12, White, 4"], TRUE)
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 1, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_function()
#
#                      This session file creates the new register 
#                      defined according to PCL function. Two
#                      registers are added to create a new register.  
#                       
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_function()
#  has the following arguments:
#
#  res_data_function
#     (  register,
#        location,
#        register_type,
#        function )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
STRING   s_function[32]
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go ("dyna.db")
#---------------------------------------------------------------------
# Defining two registers
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "MAG", "AsIs", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult( 2, "Nodal", "Scalar", @
      "Default", "Mode 2:Freq.=1394.7",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "MAG", "AsIs", "", "", "", "", 0. )
#---------------------------------------------------------------------
# Argument initialization
i_register      = 3
s_location      = "Nodal"
s_register_type = "Scalar"
s_function      = "$1 + $2"
#---------------------------------------------------------------------
# Creates a new register
i_return_value =                                 @
   res_data_function                             @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         s_function )
dump i_return_value
#---------------------------------------------------------------------
# Creates a plot of new register
i_return_value =                                 @
   res_display_fringe_create("", "FreeFaces", 0, @
      [""], 12, ["Range:Fri_default_Fringe",     @
      "RangeOverwrite:ON", "FringeStyle:Disc" // @
      "rete/Smooth", "Shade:None", "ElemEdge" // @
      ":FreeEdge,Blue,Solid,1", "Shrink:0",      @
      "TitleDisplay:ON", "MinMaxDisplay:ON",     @
      "ValueDisplay:OFF", "Filter:None ",        @
      "ScaleFactor:1.", "LabelStyle:Fixed, 8, White, 4"], TRUE )
dump i_return_value
 
i_return_value =                                 @
   res_display_fringe_post( "", 3, "Nodal", TRUE, TRUE )
dump i_return_value
#---------------------------------------------------------------------
.
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_scalar_to_vector()
#
#                      This session file converts three scalar 
#                      registers to a vector register.
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
# 
#  The function res_data_scalar_to_vector()
#  has the following arguments:
#
#  res_data_scalar_to_vector
#     (  vector_register,
#        location,
#        coordinates,
#        scalar_registers )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_vector_register
STRING   s_location[16]
STRING   s_coordinates[16]
INTEGER  ia_scalar_registers(3)
LOGICAL  l_return_value
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file "dyna.db"
uil_file_open.go( "dyna.db")
#---------------------------------------------------------------------
# Defining the registers
i_return_value =                                 @
   res_data_load_dbresult( 0, "Nodal", "Scalar", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "XX", "Coord 0", "", "", "", "", 0. ) 
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "YY", "Coord 0", "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult( 2, "Nodal", "Scalar", @
      "Default", "Mode 1:Freq.=751.31",          @
      "Eigenvectors", "Translational",           @
      "(NON-LAYERED)", "ZZ", "Coord 0", "", "", "", "", 0. ) 
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_vector_register      = 3 
s_location             = "Nodal"
s_coordinates          = "Coord 0"
ia_scalar_registers    = [0, 1, 2]
#---------------------------------------------------------------------
# Converting from scalar to vector
i_return_value =                                 @
   res_data_scalar_to_vector                     @
      (  i_vector_register,                      @
         s_location,                             @
         s_coordinates,                          @
         ia_scalar_registers )
dump i_return_value
#---------------------------------------------------------------------
# Checking whether vector register is defined or not
l_return_value =                                   @
   res_data_defined(3, "Nodal", "Vector")
dump l_return_value 
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_scalar_to_tensor()
#
#                      This session file converts six scalar
#                      registers to a tensor register.
#
#                      Before running this session file run dyna.ses
#                      and import result file dyna.op2 to create
#                      dyna.db with results. For instructions
#                      see file dyna.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_scalar_to_tensor()
#  has the following arguments:
#
#  res_data_scalar_to_tensor
#     (  tensor_register,
#        location,
#        coordinates,
#        scalar_registers )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_tensor_register
STRING   s_location[16]
STRING   s_coordinates[16]
INTEGER  ia_scalar_registers(6)
LOGICAL  l_return_value
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file dyna.db
uil_file_open.go("dyna.db")
#---------------------------------------------------------------------
# Defining the registers
i_return_value =                                 @
   res_data_load_dbresult(0, "Element", "Scalar",@
      "Default", "Mode 1:Freq.=751.31",          @
      "Stress Tensor", "", "At Z1", "XX", "AsIs",@
      "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult(1, "Element", "Scalar",@
      "Default", "Mode 1:Freq.=751.31",          @
      "Stress Tensor", "", "At Z1", "YY", "AsIs",@
      "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult(2, "Element", "Scalar",@
      "Default", "Mode 1:Freq.=751.31",          @
      "Stress Tensor", "", "At Z1", "ZZ", "AsIs",@
      "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult(3, "Element", "Scalar",@
      "Default", "Mode 1:Freq.=751.31",          @
      "Stress Tensor", "", "At Z1", "XY", "AsIs",@
      "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult(4, "Element", "Scalar",@
      "Default", "Mode 1:Freq.=751.31",          @
      "Stress Tensor", "", "At Z1", "YZ", "AsIs",@
      "", "", "", "", 0. )
dump i_return_value
 
i_return_value =                                 @
   res_data_load_dbresult(5, "Element", "Scalar",@
      "Default", "Mode 1:Freq.=751.31",          @
      "Stress Tensor", "", "At Z1", "ZX", "AsIs",@
      "", "", "", "", 0. )
dump i_return_value
#---------------------------------------------------------------------
# Argument initialization
i_tensor_register   = 6
s_location          = "Element"
s_coordinates       = "AsIs"
ia_scalar_registers = [0, 1, 2, 3, 4, 5]
#---------------------------------------------------------------------
# Converting from scalar to tensor
i_return_value =                                 @
   res_data_scalar_to_tensor                     @
      (  i_tensor_register,                      @
         s_location,                             @
         s_coordinates,                          @
         ia_scalar_registers )
dump i_return_value
#---------------------------------------------------------------------
# Checking whether vector register is defined or not
l_return_value =                                   @
   res_data_defined(6, "Element", "Tensor")
dump l_return_value
#---------------------------------------------------------------------
 
()
#
#  Purpose          :  This file provides an example of a call to the
#                      function res_data_complex_form()
#
#                      This session file specifies the method for 
#                      determining the output format. Output format is
#                      changed from Real to Magnitude.
#
#                      Before running this session file run spool.ses
#                      and create result file spool.op2 as per the
#                      instructions given in it. Import this result
#                      file spool.op2 into spool.db. For instructions
#                      see file spool.ses
#
#                      This file can be run by starting a session of
#                      Patran, and running this session file
#                      through the "File","Session","Play" pulldown
#                      menus on the menu bar.
#
#  The function res_data_complex_form()
#  has the following arguments:
#
#  res_data_complex_form
#     (  register,
#        location,
#        register_type,
#        form,
#        angle )
#
#---------------------------------------------------------------------
#  Variable Declarations
INTEGER  i_register
STRING   s_location[16]
STRING   s_register_type[16]
STRING   s_form[16]
REAL     r_angle
STRING   s_load_case[32]
STRING   s_subcase[32]
STRING   s_primary_result[32]
STRING   s_secondary_result[32]
STRING   s_layer[32]
STRING   s_derivation[16]
STRING   s_coordinate[16]
STRING   s_average_method[16]
STRING   s_average_domain[16]
STRING   s_extrapolation[16]
LOGICAL  l_list_flag
LOGICAL  l_layer_flag
STRING   s_data_form[16]
REAL     r_complex_angle
INTEGER  i_return_value
#---------------------------------------------------------------------
# Opens the file spool.db
uil_file_open.go ("spool.db")
#---------------------------------------------------------------------
# Defining a register
i_return_value =                                 @
   res_data_load_dbresult( 1, "Nodal", "Scalar", @
      "SPOOL_LOADS", "Static Subcase",           @
      "Stress Tensor", "", "At Z1", "VONM",      @
      "Default", "DeriveAverage", "All", "ShapeFunc" )
dump i_return_value
#---------------------------------------------------------------------
# Gets the register information
i_return_value =                                 @
   res_data_get_dbresult(1, "Nodal", "Scalar",   @
      s_load_case, s_subcase, s_primary_result,  @
      s_secondary_result, s_layer, s_derivation, @
      s_coordinate, s_average_method,            @
      s_average_domain, s_extrapolation,         @
      l_list_flag, l_layer_flag, s_data_form, r_complex_angle )
dump i_return_value
dump s_data_form
#---------------------------------------------------------------------
# Argument initialization
i_register      = 1
s_location      = "Nodal"
s_register_type = "Scalar"
s_form          = "Magnitude"
r_angle         = 0.
#---------------------------------------------------------------------
# Changes the output format
i_return_value =                                 @
   res_data_complex_form                         @
      (  i_register,                             @
         s_location,                             @
         s_register_type,                        @
         s_form,                                 @
         r_angle )
dump i_return_value
#---------------------------------------------------------------------
# Gets the register information
i_return_value =                                 @
   res_data_get_dbresult(1, "Nodal", "Scalar",   @
      s_load_case, s_subcase, s_primary_result,  @
      s_secondary_result, s_layer, s_derivation, @
      s_coordinate, s_average_method,            @
      s_average_domain, s_extrapolation,         @
      l_list_flag, l_layer_flag, s_data_form, r_complex_angle )
dump i_return_value
dump s_data_form
#---------------------------------------------------------------------