 TBAP : Three-dimensional Buildings Analysis Program
 Copyright (C) 1996  Stefan EPURE ( see the file copying. )

 This is the file "inputfil.txt"

 This is the description of the input file ( the current, rude, form )
 of TBAP.


-----------------------------PROBLEM NAME-------------------------------------

first line " a short problem description "
^^^^^^^^^^
 ^-- Only a line of text.
-------------------------------RESTART----------------------------------------
/* Syntax */

rstart_id

/* Explanations */

0: run the entire problem
1: run only the combinations
2: only the input echo

/* See the example files */

--------------------------------PDELTA----------------------------------------
/* Syntax */

pdelta_id

/* Explanations */

0: analysis without p-delta
1: analysis with p-delta; grav. masses are automatically computed from
  the floor diaphragms masses ( not recommended for buildings with multiple
  floor diaphragms on a storey; if case, use the next option )
2: analysis with p-delta; grav. masses are provided by the user ( see floor
   diaphragms section )

---------------------------------AXES-----------------------------------------
/* Syntax */

axes_no
             ( axes_no times)
id_i x_i  y_i

/* Explanations */

axes_no: int; the number of axes that will be read

 ------------------( axes_no times )
| id_i   : int; which labels the axis ( any order ). In a previous version
|       I used strings, but I've discovered that it has been impossible to
|       implement axes generations.
|       So, numbering the axes: -10, 100,0, 14,... is quite ok.
| x_i    : real; the X coordinate of the axis
| y_i    : real; the Y coordinate of the axis
 -#

/* Example */

5 : number of axes
:id  xi   yi
 1    0   15
 2    5   15
33    10  15
-4    0   10
 5    5   10

/* See also the example files */

-------------------------------STOREYS----------------------------------------
/* Syntax */

st_no
             ( st_no times)
id_i  h_st_i

/* Explanations */

st_no : int; the number of storeys that will be read

 -----------------( st_no times )
| id_i  : int; which labels the storey. The storeys are numbered from
|       the bottom of the bulding up to the top. So, the ground is storey 0.
|                                                    ^^^^^^^^^^^^^^^^^^^^^^
| h_st_i: real; the height of the storey from storey 0.
 -#                                      ^^^^^^^^^^^^^

/* Example */

:stories
4
:id   hi
1     4.0
2     8.25
3    13.0
4    17.0

---------------------------------BAYS-----------------------------------------
/* Syntax */

bays_no
             ( bays_no times)
id_i axis_i  axis_j

/* Explanations */

bays_no : int; the number of bays.

 ------------( bays_no times)
| id_i    : int; the label of the bay
| axis_i  : int; the first axis which defines the bay
| axis_j  : int; the second axis.
 -#

/* Example */

3 : the number of bays
:id  axi   axj
 1    7     8
19    5     6
 3    2     3

----------------------------FLOOR-DIAPHRAGMS----------------------------------
/* Syntax */

fl_diaph_no max_fl_diaph_no max_axes_on_fl_no
                     ( fl_diaph_no times)
id_i st_index_i mc_x_i mc_y_i tm_i rm_i [ grav_m ] kx_i ky_i kzz_i
                                                    con_axes_no_i  axis_i_j..

/* Explanations */

fl_diaph_no       : int; the number of the floor diaphragms that will be read
max_fl_diaph_no   : int; the maximum number of floor diaphragms on a storey
max_axes_on_fl_no : int; the maximum number of axes connected to a floor
                    diaphragm
 --------------------( fl_diaph_no times)
| id_i              : int; the label of the floor diaphragm
| st_index_i        : int; the storey of this floor diaphragm
| mc_x_i            : real; X coordinate of the mass center of this floor
|                     diaphragm
| mc_y_i            : real; Y coordinate of the mass center of this floor
|                     diaphragm
| tm_i              : real; translational mass for this floor diaphragm
| rm_i              : real; rotational mass for this floor diaphragm
| [ mgrav ]         : real; it must be provided ONLY if pdelta==2
|
| * if tm_i and / or rm_i are ==0.0 then the corresponding degree of freedom
| will be condensed before the eigenvalues calculus.
|
| kx_i              : real; additional rigidity on X direction ( spring )
| ky_i              : real; additional rigidity on Y direction ( spring )
| kzz_i             : real; additional rigidity on ZZ direction ( spring )
| con_axes_no_i     : int; the number of the axes connected to this floor
|                     diaphragm
| -------------------( con_axes_no_i times)
|| axis_i_j          : int; the labels of the "con_axes_no_i"  axes connected
||                      to the floor i
| -#
 -#

/* Example */

:fl_diaph_no    max_fl_diaph_no   max_axes_on_fl_no
 3                    2                   4
:id  sti  mcx  mcy    tm        rm      kx   ky    kzz   con_axes_no   axi
 1    1   2.0 15.0    1.0      10.0     1.e4 1.e4   0.0     3          2 22 14
11    1  10.0 15.0    1.0       0.0     0.0  0.0    0.0     1          3
 4    2 -50.0 15.0    0.0       0.0     1.e4 1.e4   0.0     3          2 22 14

-------------------------------COLUMNS----------------------------------------
/* Syntax */

col_sect_no
                     ( col_sect_no times)
e_i g_i area_i maj_sha_i min_sha_i maj_mom_i min_mom_i tors_mom_i

col_no
                       ( col_no times)
id_i ax_b_i ax_t_i l_b_i l_t_i maj_b_re_i min_b_re_i maj_t_re_i min_t_re_i
                          rer_i c1 c2 c3 c4 c5 c6 sect_id dir_axis

/* Explanations */

col_sect_no        : int; the number of column sections
 ----------------------( col_sect_no times)
| e_i                : real; the Young modulus
| g_i                : real; the shear modulus
| area_i             : real; axial area
| maj_sha_i          : real; shear area in major direction
| min_sha_i          : real; shear area in minor direction
| maj_mom_i          : real; moment of inertia about major axis
| min_mom_i          : real; moment of inertia about minor axis
| tors_mom_i         : real; torsional moment of inertia
 -#
col_no             : int; the number of columns
 -----------------------( col_no times )
| id_i               : int; label of column i
| ax_b_i             : int; the axis at the bottom of column i
| ax_t_i             : int; the axis at the top of column i
| l_b_i              : int; the storey at the top of column i
| l_t_i              : int; the storey at the bottom of column i
| maj_b_re_i         : real; the rigid end zone on the major direction
|                      at the bottom of column i
| min_b_re_i         : real; the rigid end zone on the minor direction
|                      at the bottom of column i
| maj_t_re_i         : real; the rigid end zone on the major direction
|                      at the top of column i
| min_t_re_i         : real; the rigid end zone on the minor direction
|                      at the top of column i
| rer_i              : real; the reduction of the rigid end zone
|                      0: no reduction  1: no reduction 0.5: 50% reduction
| c1                 : int; 0: bending moment at the bottom end about the maj dir
|                           1: articulation
| c2                 : int; 0: bending moment at the bottom end about the min dir
|                           1: articulation
| c3                 : int; 0: bending moment at the top end about the maj dir
|                           1: articulation
| c4                 : int; 0: bending moment at the top end about the min dir
|                           1: articulation
| c5                 : int; 0: axial moment
|                           1: no axial moment
  c6                 : int; 0: axial force
|                           1: no axial force
| sect_id            : int; the section id.
| dir_axis           : int; the directional axis ( major dir. )
 -#

/* Example */

1 : nr sect
: e_i     g_i     area_i  maj_sha_i min_sha_i maj_mom_i min_mom_i tors_mom_i
 2.4E6  993600     0.16    0.2333   0.1333     0.313E-2  0.213E-2  0.36E-2
:nr_stalpi
2
: id_i ax_b_i ax_t_i l_b_i l_t_i maj_b_re_i min_b_re_i maj_t_re_i min_t_re_i
:                       rer_i c1 c2 c3 c4 c5 c6 sect_id dir_axis

  1      1      1      0     1     0.0         0.0        0.0         0.0
                         0.0    0    0       0    0    0   0     1       9

  2      1      2      1     4     0.2         0.1        0.3         0.3
                         0.0   0   0 0  0  0  0    1       11

--------------------------------BEAMS-----------------------------------------
/* Syntax */

beam_sect_no
                    ( beam_sect_no times )
e_i g_i area_i vert_sha_i horz_sha_i vert_mom_i horz_mom_i tors_mom_i

beam_no
                       ( beam_no times)
id_i bay_i l_i  re_1_v  re_2_v  re_1_h  re_2_h  rer c1 ... c6 sect_id

/* Explanations */

beam_sect_no       : int; the number of beam sections
 ----------------------( beam_sect_no times)
| e_i                : real; the Young modulus
| g_i                : real; the shear modulus
| area_i             : real; axial area
| vert_sha_i         : real; shear area in the vertical direction
| horz_sha_i         : real; shear area in the horizontal direction
| vert_mom_i         : real; moment of inertia in the vertical plane
| horz_mom_i         : real; moment of inertia in the horizontal plane
| tors_mom_i         : real; torsional moment of inertia
 -#
beam_no            : int; the number of beams
 ----------------------( beam_no times)
| id_i               : int; the label of beam i
| bay_i              : int; the bay which contains this beam
| l_i                : int; the storey
| re_1_v             : real;the rigid end at beam end 1 in the vertical dir.
| re_2_v             : real;the rigid end at beam end 2 in the vertical dir.
| re_1_h             : real;the rigid end at beam end 1 in the horizontal dir.
| re_2_h             : real;the rigid end at beam end 2 in the horizontal dir.
| rer                : real;see columns
| c1                 : int; 0: bending moment at end 1 in the vertical plane
|                           1: articulation
| c2                 : int; 0: bending moment at end 1 in the horizontal plane
|                           1: articulation
| c3                 : int; 0: bending moment at end 2 in the vertical plane
|                           1: articulation
| c4                 : int; 0: bending moment at end 2 in the horizontal plane
|                           1: articulation
| c5                 : int; 0: axial moment
|                           1: articulation
| c6                 : int; 0: axial force
|                           1: no axial force
| sect_id            : int; the section id.
 -#

/* Example */

:beam_sect_no
1
: e_i     g_i     area_i vert_sha_i horz_sha_i vert_mom_i horz_mom_i tors_mom_i
 2.4E6  993600     0.16    0.5         0.2      0.313E-2  0.213E-2    0.36E-2

:beam_no
25
:id_i bay_i l_i  re_1_v  re_2_v  re_1_h  re_2_h  rer c1 . . .  c6 sect_id
   1    1    2    0.2      0.2     0.2     0.2    0   0 0 0 0 0 0    1

-------------------------------BRACES-----------------------------------------
/* Syntax */

brac_sect_no
                    ( brac_sect_no times )
e_i area_i

brac_no
                       ( brac_no times)
id_i axis_1 axis_2  storey_1  storey_2  sect_id

/* Explanations */

brac_sect_no        : int; the number of brace sections
 -------------------( brac_sect_no times )
| e_i                 : real; Young modulus
| area_i              : real; axial area.
 -#
brac_no             : int; the number of braces
 ----------------------( brac_no times)
| id_i                : int; the label of the brace
| axis_1              : int; first axis defining the brace
| axis_2              : int; second axis defining the brace
| storey_1             : int; first storey id
| storey_2             : int; second storey id
| sect_id             : int; the section id
 -#
/* Example */

:brac_sect_no
2
:e_i   area_i
 2.4E6  0.16
 2.8E6  0.1

:brac_no
3
:id_i axis_1 axis_2 storey_1 storey_2  sect_id
  1     7      8       1        2       1
 12     8      7       1        2       1
 31     1      2       1        2       1

-------------------------------PANELS-----------------------------------------
/* Syntax */

pan_sect_no
                    ( pan_sect_no times )
e_i g_i th_i
pan_no
                       ( pan_no times)
id_i bay storey_b storey_t  sect_id wall_id

/* Explanations */

pan_sect_no        : int; the number of panel sections
 -------------------( pan_sect_no times )
| e_i                : real;the Young modulus
| g_i                : real;the shear modulus
| th_i               : real;the thickness of the panel
| pan_no             : int; the number of panels
 -#
 ----------------------( pan_no times)
| id_i               : int; the label of the panel
| bay                : int; the bay containing the panel
| storey_b           : int; the bottom storey of the panel
| storey_t           : int; the top storey
| sect_id            : int; the section id
| wall_id            : int; the wall id
 -#

/* Example */

:pan_sect_no
1
:e_i     g_i     th_i
 2.4E6  993600   0.25
:pan_no
2
:id_i bay storey_b storey_t  sect_id wall_id
   1  10      0         1        1      1
 101   1      0         3        1      1

-----------------------------STATIC-LOADS-------------------------------------
/* Syntax */

stl_no max_l_beams_no max_l_pans_no max_cl_no max_l_nodes_no
l_type_no
 --------------------( l_type_no times )
| l_id q1 q2 cl_no f1 l1 ...
 -#
    ---------------------( stl_no times )
   | stl_id
   | loaded_beams_no
   |  ---------------------( loaded_beams_no times )
   | | bay storey load_index to_end_i  to_end_j
   |  -#
   | loaded_panels_no
   |  ---------------------( loaded_panels_no times )
   | | bay storey load_index
   |  -#
   | loaded_nodes_no
   |  ---------------------( loaded_nodes_no times )
   | | axis storey  fx  fy   fz   mx   my   mz
   |  -#
    ---#

/* Explanations */

stl_no             : int; static load cases number
max_l_beams_no     : int; max loaded beams no ( in a load case )
max_l_pans_no      : int; max loaded panels no ( in a load case )
max_cl_no          : int; max concentrated loads number ( on a beam or panel )
max_l_nodes_no     : int; max loaded nodes number ( in a load case )
l_type_no          : int; elements loading types
 ----------------------( l_type_no times )
| l_id               : int; loading id.
| q1                 : real;distributed load at end 1
| q2                 : real;distributed load at end 2
| cl_no              : int; concentrated loads number
| f1 l1 ...          : real real; concentrated force and its position
|                                                              ( cl_no times )
 -#
    ---------------------( stl_no times )
   | stl_id              : int; static load case id.
   |
   | loaded_beams_no     : int; the number of loaded beams in this load case
   |                      ( loaded_beams_no times )
   | bay                 : int; the bay containing the beam
   | storey              : int; the storey
   | load_index          : int; load index
   | to_end_i            : 0: distributed load up to the flexible end
   |                       1: distributed load up to the node
   | to_end_j            : 0: distributed load up to the flexible end
   |                       1: distributed load up to the node
   |
   | loaded_panels_no    : int; the number of loaded panels in this load case
   |                       ( loaded_panels_no times )
   | bay                 : int; the bay containing the panel
   | storey              : int; the storey
   | load_index          : int; load index
   |
   | loaded_nodes_no     : int; the number of loaded nodes in this load case
   |                       ( loaded_nodes_no times )
   | axis                : int; the axis corresponding to the node
   | storey              : int; the storey
   | fx  ...  mz         : real;the 6 projections of the nodal force
    --#

/* Example */

:stl_no max_l_beams_no max_l_pans_no max_cl_no max_l_nodes_no
   2          4             2             4          4
:l_type_no
 2
:l_id  q1     q2 cl_no    f1    l1 ...
  1  -11.0  -11.0  4     -100    1   -200   2  -100    2.2   -200   2.5
  2   11.0   11.0  0

1 :                          static load case 1
4 : loaded_beams_no
:bay storey load_index  to_end_i  to_end_j
  2     3        1           1         1
  3     3        1           1         1
  8     3        2           0         1
  9     3        1           1         0
0 : loaded_panels_no
:bay storey load_index
1 :loaded_nodes_no
: axis storey  fx    fy     fz   mx   my   mz
   1     3    -1.1   0      0     0    0    0
2 :                          static load case 2
0 : loaded_beams_no
0
2 : loaded_panels_no
:bay storey load_index
  1    2      1
  1    3      2
0 :loaded_nodes_no

--------------------------------P100------------------------------------------
/* Syntax */

modes_no    alpha ks psi tc vu

/* Explanations */

modes_no                 : int; number of modes to be used
alpha ks psi tc vu       : real;destination of the building, geographic zone,
                           etc.

10:modes_no    alpha ks  psi  tc    vu
                1.0  0.2 0.25 1.5   400

/* this analysis is not important for other countries than Romania */
/* see the notes at the end of this file */

----------------------RESPONSE-SPECTRUM-ANALYSIS------------------------------
/* Syntax */

modes_no scaling_coef damping angle file_name

/* Explanations */

modes_no                 : int; number of modes to be used
scalling_coef            : real;multiplicative coefficient
damping                  : real;damping coefficient
angle                    : real;see tbap.ps
file_name                : string; the name of the file containing the
                           spectral accelerations ( on the directions d1, d2 )

/* Example */

10:modes_no
:scaling_coef damp  angle      file_name
   0.4905      0.2   0.0        spec.acc
                      ^            ^-- see the example
                      ^
 i.e. the coordinate system d1,d2 is identical with Oxy.

-------------------------TIME-HISTORY-ANALYSIS--------------------------------
/* Syntax */

modes_no  damping  dir_no dir1_angle ... dirn_angle t_step  pt_no file_name

/* Explanations */

modes_no                 : int; number of modes to be used
damping                  : real; the fractions of the critical damping
dir_no                   : int; the number of directions
dir_angle                : real; each direction angle ( dir_no values )
t_step                   : real; time step
pt_no                    : int; number of values
file_name                : string; the name of the file containing the
                          accelogram

/* Example */

:modes_no
10
:  damp   dir_no angle(dir_no)  t_step pt_no  file_name
   0.1      2       0  90.       0.1    4000  timeh2.acc

----------------------------COMBINATIONS--------------------------------------
/* Syntax */

comb_no
                     ( comb_no times )
c_id sl1 ... sln  mp100(1) ... mp100(m)  coefs_srss(1..m) ext_spec timeh

/* Explanations */
comb_no                  : int; number of combinations to read
 --------------------( comb_no times )
| c_id                     : int; the combination identifier
| sl1 ... sln              : real;the coefficients for the static loads
| mp100(1) ... mp100(m)    : real; - these are for p100 ( see the note at the
                             end of this file )
| coefs_srss(1..m)         : byte; - these are for p100 ( see the note at the
                             end of this file )
| ext_spec                 : real; coefficient for the response spectra
|                            analysis
| timeh                    : real; coefficient for the timeh analysis
 -#

/* Example */
                    see the note ( how to avoid p100 )
3 : comb_no    /--------------------------------------------\
:c_id sl1. sln | mp100(1) ... mp100(m)     coefs_srss(1..m) | ext_spec timeh
 1    1  1  1    0 0 0 0 0 0 0 0 0 0     0 0 0 0 0 0 0 0 0 0     0       1
 2    0  0  0    0 0 0 0 0 0 0 0 0 0     1 1 1 1 1 1 1 1 1 1     0       0
 3    1  1  1    0 0 0 0 0 0 0 0 0 0     1 1 1 1 1 1 1 1 1 1     0       0

------------------------------------------------------------------------------

 NOTES:

I.   In the input files the comments are preceded by ":". Everything after ":"
on a line is neglected.
     All the numerical fields must be separated by blanks, tabs, or newline
characters.

II.  Because the P100 code has no meaning for others than the Romanian users, I
    recommend you to avoid it. That is easy to do as follows:

     1. just set modes_no as 0 in the P100 section

              0 :modes_no

     2. neglect the p100 columns in the combinations section

  3 : comb_no
  :c_id sl1..sln  ext_spec timeh
   1    1  1  1       0      1
   2    0  0  0       1      0
   3    1  1  1       1      1

   All the examples provided with this test-version program have been previously
  arranged in order to avoid all p100 confusing stuff.


