!*************************************************************************************!
! TITLE: CFVR7516 - Steel checking according to ANSI AISC N690-1994
! SUBTITLE: Building checking
!
! DESCRIPTION: A concrete and steel building is subjected to different pressures on
! DESCRIPTION: floors and columns.
! DESCRIPTION:
! DESCRIPTION: Determine the total criterion from 60 selected elements after all types
! DESCRIPTION: of checking according to ANSI AISC N690-94
! DESCRIPTION:
!
! ELEMENT TYPE: BEAM188, SHELL63
! MODULES:
! UNITS: SI
! KEYWORD1: Beam
! KEYWORD2: Cross Section
! KEYWORD3: Code Checking/Design
! KEYWORD4: Steel
! KEYWORD5: AISC N690-94
!
!*************************************************************************************!

FINISH
~CFCLEAR,,1

   NomFile='CFVR7516'
 /TITLE, %NomFile%, Checking according to ANSI AISC N690-94. Building
! -------------------------------------------------------------------------------------
! Initial data
! -------------------------------------------------------------------------------------
! CivilFEM SETUP
~CFACTIV,NUCL,Y
~CODESEL,N690,ACI,ACI,,CALTRANS
~UNITS,SI

/VUP,ALL,Z ! Vertical Z axis

/PREP7

! Materials
~CFMP,1,LIB,STEEL,ASTM,A572Gr50
~CFMP,2,LIB,CONCRETE,ACI,fc_4000
~CFMP,2,USER
~CFMP,2,DatGen  ,GAM     ,,24517
~CFMP,2,DatGen  ,Gxy     ,,1.1732e+010  
~CFMP,2,ACI_C   ,Ec      ,,2.8158e+010,7,0,0

! Element Types
ET,1,BEAM188,,,2
ET,2,63

! Cross section definition
~SSECLIB,1,1,51,18   ! W 40x331
~SSECLIB,2,1,53,19   ! S 10x25.4
~SSECLIB,3,1,111,8   ! I C 250x37
~SSECLIB,4,1,75,13   ! C    230x  19.9
~SSECLIB,5,1,82,11   ! P 127
~SSECLIB,6,1,77,18   ! L 203x102x15.9
~SSECLIB,7,1,59,3    ! MT  5x  4.50
~SSECLIB,8,1,80,13   ! ST 190x32
~SSECLIB,9,1,105,14  ! 2L 8x6x7/16
~SSECLIB,10,1,81,18  ! TS 406x406
~SSECLIB,11,1,112,16 ! 2 C 200x17.1
~SSECLIB,12,1,112,15 ! 2 C 200x20.5
~SSECLIB,12,1,106,18 ! 4L 8x4x5/8

! Shell Vertex
~SHLRNF,1,0.25,2,0,0.0,0.0,0.0,0.0,0.0,0,0.0,45.0
~SHLMDF,1,NAME,,,Shell Vertex 1

! Member properties
~MEMBPRO,1,N690,L,3.5
~MEMBPRO,2,N690,L,5.0

! Beam and Shell properties
~BMSHPRO, 1,BEAM, 1, 1,,,188,2,0,,Beam 1
~BMSHPRO, 2,BEAM, 2, 2,,,188,2,0,,Beam 2
~BMSHPRO, 3,BEAM, 3, 3,,,188,2,0,,Beam 3
~BMSHPRO, 4,BEAM, 4, 4,,,188,2,0,,Beam 4
~BMSHPRO, 5,BEAM, 5, 5,,,188,2,0,,Beam 5
~BMSHPRO, 6,BEAM, 6, 6,,,188,2,0,,Beam 6
~BMSHPRO, 7,BEAM, 7, 7,,,188,2,0,,Beam 7
~BMSHPRO, 8,BEAM, 8, 8,,,188,2,0,,Beam 8
~BMSHPRO, 9,BEAM, 9, 9,,,188,1,0,,Beam 9
~BMSHPRO,10,BEAM,10,10,,,188,1,0,,Beam 10
~BMSHPRO,11,BEAM,11,11,,,188,1,0,,Beam 11
~BMSHPRO,12,BEAM,12,12,,,188,1,0,,Beam 12
~BMSHPRO,13,SHELL,1,1,1,1,63,,,,Shell 13

! Nodes and elements

NFLOOR=9

H=0
A=1
B=2
C=3
D=4
KOR=5

*DO,I,1,NFLOOR
  K,A,0,0,H
  K,B,5,0,H
  K,C,5,5,H
  K,D,0,5,H
  K,KOR,2.5,2.5,H
  H=H+3.5
  A=A+10
  B=B+10
  C=C+10
  D=D+10
  KOR=KOR+10
*ENDDO

A=11
B=12
C=13
D=14

*DO,I,2,NFLOOR
  L,A,B
  L,B,C
  L,C,D
  L,D,A
  A=A+10
  B=B+10
  C=C+10
  D=D+10
*ENDDO

A=1
B=2
C=3
D=4

*DO,I,1,NFLOOR-1
  L,A,A+10
  L,B,B+10
  L,C,C+10
  L,D,D+10
  A=A+10
  B=B+10
  C=C+10
  D=D+10
*ENDDO

H=3.5

*DO,I,1,NFLOOR-1
  LSEL,S,LOC,Z,H
  AL,ALL
  H=H+3.5
*ENDDO

ALLSEL,ALL

LESIZE,ALL, , ,5, , , , ,1

TYPE,1
MAT,1
SECN,

KSEL,S,LOC,X,0
KSEL,R,LOC,Y,0
LSLK,,1

SECNUM,9
LMESH,ALL

KSEL,S,LOC,X,0
KSEL,R,LOC,Y,5
LSLK,,1

SECNUM,10
LMESH,ALL

KSEL,S,LOC,X,5
KSEL,R,LOC,Y,0
LSLK,,1

SECNUM,11
LMESH,ALL

KSEL,S,LOC,X,5
KSEL,R,LOC,Y,5
LSLK,,1

SECNUM,12
LMESH,ALL

H=3.5
KOR=15

*DO,I,1,NFLOOR-1
  LSEL,S,LOC,Z,H
  LATT,1,I,1,,KOR,,I
  LMESH,ALL
  H=H+3.5
  KOR=5+10
*ENDDO

ALLSEL,ALL

TYPE,2
MAT,2
REAL,13
SECN,

AMESH,ALL

/SHRINK,0
/ESHAPE,1.0
/VIEW,1,1,1,1
/REPLOT

/SOLU

NSEL,S,LOC,Z,0

D,ALL, , , , , ,ALL, , , , ,

ALLSEL,ALL

ESEL,S,TYPE,,2
SFE,ALL,1,PRES,,-4000,,,

ALLSEL,ALL

NSEL,S,LOC,X,0
NSEL,R,LOC,Y,0
ESLN,S,1

SFBEAM,ALL,1,PRES,1000,,,,,,

NSEL,S,LOC,X,0
NSEL,R,LOC,Y,5
ESLN,S,1

SFBEAM,ALL,1,PRES,1000,,,,,,

ALLSEL,ALL

/IMAGE,SAVE,%NomFile%,BMP

SOLVE

/POST1

~CFSET,0,1,LAST,
~CHKSTL,TENSION
~CHKSTL,COMPFBK
~CHKSTL,COMPFTBK
~CHKSTL,BENDING
~CHKSTL,SHEAR
~CHKSTL,COMP_BND
~CHKSTL,TENS_BND

!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 70
  NComp_ch = 0

! Matrix dim.
  *DIM,LABEL,CHAR,Ncomp,1
  *DIM,LABEL_CH,CHAR,Ncomp_ch,1
  *DIM,VALUE,,Ncomp,3
  *DIM,VALUE_CH,CHAR,Ncomp_ch,3
  *DIM,TOLER,,Ncomp,2

! Labels
  LABEL( 1,1) = 'TENS_CRT_1'
  LABEL( 2,1) = 'TENS_CRT_2'
  LABEL( 3,1) = 'TENS_CRT_3'
  LABEL( 4,1) = 'TENS_CRT_4'
  LABEL( 5,1) = 'TENS_CRT_5'
  LABEL( 6,1) = 'TENS_CRT_6'
  LABEL( 7,1) = 'TENS_CRT_7'
  LABEL( 8,1) = 'TENS_CRT_8'
  LABEL( 9,1) = 'TENS_CRT_9'
  LABEL(10,1) = 'TENS_CRT_10'
  LABEL(11,1) = 'CMP_CRT_1'
  LABEL(12,1) = 'CMP_CRT_2'
  LABEL(13,1) = 'CMP_CRT_3'
  LABEL(14,1) = 'CMP_CRT_4'
  LABEL(15,1) = 'CMP_CRT_5'
  LABEL(16,1) = 'CMP_CRT_6'
  LABEL(17,1) = 'CMP_CRT_7'
  LABEL(18,1) = 'CMP_CRT_8'
  LABEL(19,1) = 'CMP_CRT_9'
  LABEL(20,1) = 'CMP_CRT_10'
  LABEL(21,1) = 'CMPT_CRT_1'
  LABEL(22,1) = 'CMPT_CRT_2'
  LABEL(23,1) = 'CMPT_CRT_3'
  LABEL(24,1) = 'CMPT_CRT_4'
  LABEL(25,1) = 'CMPT_CRT_5'
  LABEL(26,1) = 'CMPT_CRT_6'
  LABEL(27,1) = 'CMPT_CRT_7'
  LABEL(28,1) = 'CMPT_CRT_8'
  LABEL(29,1) = 'CMPT_CRT_9'
  LABEL(30,1) = 'CMPT_CRT_10'
  LABEL(31,1) = 'BEND_CRT_1'
  LABEL(32,1) = 'BEND_CRT_2'
  LABEL(33,1) = 'BEND_CRT_3'
  LABEL(34,1) = 'BEND_CRT_4'
  LABEL(35,1) = 'BEND_CRT_5'
  LABEL(36,1) = 'BEND_CRT_6'
  LABEL(37,1) = 'BEND_CRT_7'
  LABEL(38,1) = 'BEND_CRT_8'
  LABEL(39,1) = 'BEND_CRT_9'
  LABEL(40,1) = 'BEND_CRT_10'
  LABEL(41,1) = 'SH_CRT_1'
  LABEL(42,1) = 'SH_CRT_2'
  LABEL(43,1) = 'SH_CRT_3'
  LABEL(44,1) = 'SH_CRT_4'
  LABEL(45,1) = 'SH_CRT_5'
  LABEL(46,1) = 'SH_CRT_6'
  LABEL(47,1) = 'SH_CRT_7'
  LABEL(48,1) = 'SH_CRT_8'
  LABEL(49,1) = 'SH_CRT_9'
  LABEL(50,1) = 'SH_CRT_10'
  LABEL(51,1) = 'CBND_CRT_1'
  LABEL(52,1) = 'CBND_CRT_2'
  LABEL(53,1) = 'CBND_CRT_3'
  LABEL(54,1) = 'CBND_CRT_4'
  LABEL(55,1) = 'CBND_CRT_5'
  LABEL(56,1) = 'CBND_CRT_6'
  LABEL(57,1) = 'CBND_CRT_7'
  LABEL(58,1) = 'CBND_CRT_8'
  LABEL(59,1) = 'CBND_CRT_9'
  LABEL(60,1) = 'CBND_CRT_10'
  LABEL(61,1) = 'TBND_CRT_1'
  LABEL(62,1) = 'TBND_CRT_2'
  LABEL(63,1) = 'TBND_CRT_3'
  LABEL(64,1) = 'TBND_CRT_4'
  LABEL(65,1) = 'TBND_CRT_5'
  LABEL(66,1) = 'TBND_CRT_6'
  LABEL(67,1) = 'TBND_CRT_7'
  LABEL(68,1) = 'TBND_CRT_8'
  LABEL(69,1) = 'TBND_CRT_9'
  LABEL(70,1) = 'TBND_CRT_10'

! Correct values
  VALUE( 1,1)=0.0
  VALUE( 2,1)=0.0
  VALUE( 3,1)=0.202E-3
  VALUE( 4,1)=0.190E-2
  VALUE( 5,1)=0.111E-2
  VALUE( 6,1)=0.120E-3
  VALUE( 7,1)=0.0
  VALUE( 8,1)=0.0
  VALUE( 9,1)=0.418E-5
  VALUE(10,1)=0.0
  VALUE(11,1)=0.194E-1
  VALUE(12,1)=0.107
  VALUE(13,1)=0.0
  VALUE(14,1)=0.0
  VALUE(15,1)=0.0
  VALUE(16,1)=0.0
  VALUE(17,1)=0.796D-03
  VALUE(18,1)=0.447E-3
  VALUE(19,1)=0.0
  VALUE(20,1)=0.863E-2
  VALUE(21,1)=0.184E-1
  VALUE(22,1)=0.107
  VALUE(23,1)=0.0
  VALUE(24,1)=0.0
  VALUE(25,1)=0.0
  VALUE(26,1)=0.0
  VALUE(27,1)=0.365E-3
  VALUE(28,1)=0.459E-3
  VALUE(29,1)=0.0
  VALUE(30,1)=0.879E-2
  VALUE(31,1)=0.508E-1
  VALUE(32,1)=0.405E-1
  VALUE(33,1)=0.167E-2
  VALUE(34,1)=0.113
  VALUE(35,1)=0.613E-1
  VALUE(36,1)=0.202E-1
  VALUE(37,1)=0.248E-2
  VALUE(38,1)=0.430E-2
  VALUE(39,1)=0.498E-1
  VALUE(40,1)=0.506E-2
  VALUE(41,1)=0.319E-1
  VALUE(42,1)=0.184E-1
  VALUE(43,1)=0.975E-2
  VALUE(44,1)=0.165E-1
  VALUE(45,1)=0.120E-1
  VALUE(46,1)=0.591E-2
  VALUE(47,1)=0.125E-1
  VALUE(48,1)=0.470E-2
  VALUE(49,1)=0.122E-2
  VALUE(50,1)=0.240E-2
  VALUE(51,1)=0.166
  VALUE(52,1)=0.183
  VALUE(53,1)=0.197E-2
  VALUE(54,1)=0.121
  VALUE(55,1)=0.752E-1
  VALUE(56,1)=0.319E-1
  VALUE(57,1)=0.781E-2
  VALUE(58,1)=0.326E-1
  VALUE(59,1)=0.571E-1
  VALUE(60,1)=0.269E-1
  VALUE(61,1)=0.148
  VALUE(62,1)=0.883D-1
  VALUE(63,1)=0.202D-2
  VALUE(64,1)=0.123
  VALUE(65,1)=0.754E-1
  VALUE(66,1)=0.319E-1
  VALUE(67,1)=0.819E-2
  VALUE(68,1)=0.327E-1
  VALUE(69,1)=0.571E-1
  VALUE(70,1)=0.215E-1

! Comparison
 *DO,ii,1,7
   ~CFSET,ii
   ~PLLSSTL,CRT_TOT
   *GET,VALUE(1+10*(ii-1),2),ELEM,41,ETAB,CFETAB_J
   *GET,VALUE(2+10*(ii-1),2),ELEM,121,ETAB,CFETAB_J
   *GET,VALUE(3+10*(ii-1),2),ELEM,171,ETAB,CFETAB_J
   *GET,VALUE(4+10*(ii-1),2),ELEM,191,ETAB,CFETAB_J
   *GET,VALUE(5+10*(ii-1),2),ELEM,211,ETAB,CFETAB_J
   *GET,VALUE(6+10*(ii-1),2),ELEM,231,ETAB,CFETAB_J
   *GET,VALUE(7+10*(ii-1),2),ELEM,251,ETAB,CFETAB_J
   *GET,VALUE(8+10*(ii-1),2),ELEM,271,ETAB,CFETAB_J
   *GET,VALUE(9+10*(ii-1),2),ELEM,291,ETAB,CFETAB_J
   *GET,VALUE(10*ii,2),ELEM,311,ETAB,CFETAB_J
 *ENDDO

! Warning and error tolerances
  *DO,ii,1,70
  TOLER(ii, 1)= 1E-03   $ TOLER(ii, 2)= 1E-03
  *ENDDO
  TOLER( 3, 1)= 1E-04   $ TOLER( 3, 2)= 1E-04
  TOLER( 6, 1)= 1E-04   $ TOLER( 6, 2)= 1E-04
  TOLER( 9, 1)= 1E-06   $ TOLER( 9, 2)= 1E-06
  TOLER(17, 1)= 1E-04   $ TOLER(17, 2)= 1E-04
  TOLER(18, 1)= 1E-04   $ TOLER(18, 2)= 1E-04
  TOLER(27, 1)= 1E-04   $ TOLER(27, 2)= 1E-04
  TOLER(28, 1)= 1E-04   $ TOLER(28, 2)= 1E-04  

!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
