!*************************************************************************************!
! TITLE: CFVR0991 - In-Plane Shear Calculation – ACI 349 13 Walls - seismic/non-seismic
! SUBTITLE: Check of reinforcement for in-plane shear and membrane forces
!
! DESCRIPTION: To investigate the design of reinforcement for in-plane shear and membrane  
! DESCRIPTION: forces for ACI 349 13, a simple 5 ft x 25 ft x 1 ft slab model was used.
! DESCRIPTION: 
! DESCRIPTION: The 5-element model consists of Shell43 elements.  Vertical and lateral
! DESCRIPTION: loads were applied at nodes 3 and 8.
! DESCRIPTION:
! DESCRIPTION: The wall is restrained at nodes 1 and 2 at the base of the model.
! DESCRIPTION: Node 1 is restrained in the x, y, and z directions for translation as
! DESCRIPTION: well as rotation in the x and z directions.
! DESCRIPTION:
! DESCRIPTION: Node 2 is restrained in the y and z directions for translation as well
! DESCRIPTION: as rotation in the x and z directions. 
! DESCRIPTION: 
!
! ELEMENT TYPE: Shell43
! MODULES:
! UNITS: BIN
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: ACI 349 13
!*************************************************************************************!
 
FINISH
~CFCLEAR,,1
NomFile='CFVR0991'
/TITLE, %NomFile%,In-Plane Shear Calculation, ACI 349 13 Wall

~CODESEL,,ACI34913
~UNITS,,LENG,IN 
~UNITS,,FORC,LBF
~UNITS,,PRES,,0 ,uuP
! ~CFCONFG,RESULT,CFSHF,1

!-------------------------------------------------------------------------------
! Model definition
!-------------------------------------------------------------------------------

THK    = 1*12.0 	! shell thickness 
COVER  = 0.8		! cover
WDTH   = 5*12.0		! wall width 
L      = 25*12.0	! wall heigth


/PREP7  
ET,1,SHELL43
~CFMP,1,LIB,CONCRETE,ACI,fc_6000
~CFMP,1,USER
!~CFMP,1,ACI_C   ,fc_t    ,,6000 ,7,0,0  
~CFMP,1,ACI_14_C,fc_t    ,,6000 ,7,0,0  
~CFMP,2,LIB,REINF,ACI,fy_60000  
~CFMP,1,ACI_14_C,Lambda  ,,0.8

~SHLRNF,1,THK,1,2,COVER						! Bending Reinforcement
! ~SHLSHR, IVTX, MATOP,ASSOP, PHIOP, NXOP, NYOP, SXOP, SYOP, ASSOPX, ASSOPY
~SHLSHR,      1,     2,      ,      ,     ,     ,     ,     , 	! Shear Reinforcement
! ~SHLIPSH,IVTX, MATIP, ASSIPX, ASSIPY		
~SHLIPSH,     1,	 2, 0.0987,0.08334 				! In-plane Reinforcement
~BMSHPRO,1,SHELL,1,1,1,1,43,,,,Shell 1

K,1
K,2,    ,,L
K,3,WDTH,,L
K,4,WDTH,,

A,1,2,3,4

TYPE,1
REAL,1
MAT,1

AESIZE,ALL,5*12.0, 
MSHAPE,0,2D 
MSHKEY,1 
AMESH,ALL   
LOCAL,11,0,-10,0,0,-90,,-90,1,1,
EMODIF,ALL,ESYS,11,		! Y Element horizontal, X Element vertical
CSYS,0
/VIEW,1,,-1 

!-------------------------------------------------------------------------------
! Model resolution
!-------------------------------------------------------------------------------
FINISH
/SOLU

F,2,FX,140000
F,2,FY,80000
F,2,FZ,-40000

F,7,FX,140000
F,7,FY,80000
F,7,FZ,-40000

! Node 1 is restrained in x,y,z directions for translation 
! as well as rotation in the x and z directions
D,1, , , , , ,UX,UY,UZ,ROTX,ROTZ,
! Node 2 is restrained in y,z directions for translation 
! as well as rotation in the x and z directions
D,8, , , , , ,UY,UZ,ROTX,ROTZ, , 
ALLSEL
SOLVE

FINISH
/POST1

~CFSET,,1 
! Element # 1 is selected for design
ESEL,S,,,1
!~CHKCON,SHELL,IPSHEAR,, VAL1, VAL2, VAL3, 
~DIMCON, SHELL,IPSHEAR,, , ,1, ,1, ! VAL1=1-> Walls non-seismic loads, VAL3=1->Fi=0.75
~DIMCON,SHELL,IPSHEAR, , , ,2, ,1, ! VAL1=2-> Walls seismic loads,     VAL3=1->Fi=0.75 
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
NComp = 36
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) = 'VC_X'		
LABEL( 2,1) = 'VC_Y'
LABEL( 3,1) = 'VS_X'
LABEL( 4,1) = 'VS_Y'
LABEL( 5,1) = 'NSCRT_2X'	
LABEL( 6,1) = 'NSCRT_2Y'
LABEL( 7,1) = 'NSCRT_3X'	
LABEL( 8,1) = 'NSCRT_3Y'
LABEL( 9,1) = 'NAIPSS_X'
LABEL( 10,1) = 'NAIPSS_Y'
LABEL( 11,1) = 'VC_X'		
LABEL( 12,1) = 'VC_Y'
LABEL( 13,1) = 'VS_X'
LABEL( 14,1) = 'VS_Y'
LABEL( 15,1) = 'SCRT_2X'		
LABEL( 16,1) = 'SCRT_2Y'
LABEL( 17,1) = 'SCRT_3X'		
LABEL( 18,1) = 'SCRT_3Y'
LABEL( 19,1) = 'SAIPSS_X'
LABEL( 20,1) = 'SAIPSS_Y'
      
! Correct values
~CFGET,Txy_Shell, ELEMENT, 1, FORCE,TXY, I   ! In-plane shear

! Walls non-seismic design                            
VALUE( 1,1) = 603.114                                 
VALUE( 2,1) = 1189.78                                 
VALUE( 3,1) = 5619.1                                  
VALUE( 4,1) = 5032.434                                
VALUE( 5,1) = ABS(Txy_Shell/5577.1)                   
VALUE( 6,1) = ABS(Txy_Shell/5577.1)                   
VALUE( 7,1) = 0.0025/(0.117065/12)                    
VALUE( 8,1) = 0.0025/(0.104842/12)                    
VALUE( 9,1) = 0.117065                                
VALUE(10,1) = 0.104842                                
                                                      
! Walls seismic design                                
VALUE(11,1) = 603.114                                 
VALUE(12,1) = 1189.78                                 
VALUE(13,1) = 5619.1                                  
VALUE(14,1) = 5032.43                                 
VALUE(15,1) = ABS(Txy_Shell/5577.1)                   
VALUE(16,1) = ABS(Txy_Shell/5577.1)                   
VALUE(17,1) = 0.0025/(0.117065/12)                    
VALUE(18,1) = 0.0025/(0.104842/12)                    
VALUE(19,1) = 0.117065                                
VALUE(20,1) = 0.104842                                

! CivilFEM values     
~CFSET,1	! Walls non-seismic design
~CFGET,VALUE( 1,2), ELEMENT, 1 ,RESULT , VC_X, I 	
~CFGET,VALUE( 2,2), ELEMENT, 1 ,RESULT , VC_Y, I 
~CFGET,VALUE( 3,2), ELEMENT, 1 ,RESULT , VS_X, I 	
~CFGET,VALUE( 4,2), ELEMENT, 1 ,RESULT , VS_Y, I 
~CFGET,VALUE( 5,2), ELEMENT, 1 ,RESULT , CRT_2_X, I 	
~CFGET,VALUE( 6,2), ELEMENT, 1 ,RESULT , CRT_2_Y, I 	
~CFGET,VALUE( 7,2), ELEMENT, 1 ,RESULT , CRT_3_X, I 	
~CFGET,VALUE( 8,2), ELEMENT, 1 ,RESULT , CRT_3_Y, I 
~CFGET,VALUE( 9,2), ELEMENT, 1 ,RESULT , AIPSS_X, I 	
~CFGET,VALUE( 10,2), ELEMENT, 1 ,RESULT , AIPSS_Y, I 

~CFSET,2	! Walls seismic design
~CFGET,VALUE( 11,2), ELEMENT, 1 ,RESULT , VC_X, I 	
~CFGET,VALUE( 12,2), ELEMENT, 1 ,RESULT , VC_Y, I 
~CFGET,VALUE( 13,2), ELEMENT, 1 ,RESULT , VS_X, I 	
~CFGET,VALUE( 14,2), ELEMENT, 1 ,RESULT , VS_Y, I 
~CFGET,VALUE( 15,2), ELEMENT, 1 ,RESULT , CRT_2_X, I 	
~CFGET,VALUE( 16,2), ELEMENT, 1 ,RESULT , CRT_2_Y, I 	
~CFGET,VALUE( 17,2), ELEMENT, 1 ,RESULT , CRT_3_X, I 	
~CFGET,VALUE( 18,2), ELEMENT, 1 ,RESULT , CRT_3_Y, I 
~CFGET,VALUE( 19,2), ELEMENT, 1 ,RESULT , AIPSS_X, I 	
~CFGET,VALUE( 20,2), ELEMENT, 1 ,RESULT , AIPSS_Y, I 

! VERIFICAMOS CON NUEVOS CHEQUEOS LAS MEJORAS REALIZADAS CON LA ACI 349-13
!-------------------------------------------------------------------------------
/PREP7

~MEMBPRO,1,ACI349,ALL,,1.5
~BMSHPRO,1,SHELL,1,1,1,1, 43,1,, ,Shell 1   

/SOLU

F,2,FX,140000
F,2,FY,80000
F,2,FZ,-40000

F,7,FX,140000
F,7,FY,80000
F,7,FZ,-40000

ALLSEL

SOLVE

/POST1
~CFSET,,1
ESEL,S,,,1
~DIMCON,SHELL,  IPSHEAR,,,,	  1,    , 1  ,   1  ! VAL1=1-> Walls non-seismic loads, VAL3=1->Fi=0.85  VAL4=2->Y=direccion vertical
~DIMCON,SHELL,  IPSHEAR,,,,   2,    , 1  ,   1  ! VAL1=1-> Walls seismic loads    , VAL3=1->Fi=0.85  VAL4=2->Y=direccion vertical  


! Correct values
~CFGET,Txy_Shell, ELEMENT, 1, FORCE,TXY, I   ! In-plane shear
! Walls non-seismic design
VALUE(21,1) = 1189.78  	                    		   !    VC_Y, I	 
VALUE(22,1) = 603.1136                                 !    VC_X, I 
VALUE(23,1) = 0.104842                                 ! AIPSS_Y, I	
VALUE(24,1) = 0.117065                                 ! AIPSS_X, I 
VALUE(25,1) = ABS(Txy_Shell/5577.096)                  ! CRT_2_X, I	
VALUE(26,1) = ABS(Txy_Shell/5577.096)                  ! CRT_2_Y, I 
VALUE(27,1) = 0.0025*12/0.104842                       ! CRT_3_Y, I 
VALUE(28,1) = 0.57593               		           ! CRT_3_X, I 
 ! Walls seismic design                                
VALUE(29,1) = 1189.78*3.0/2.0     			           !    VC_Y, I 
VALUE(30,1) = 603.1136                		           !    VC_X, I	
VALUE(31,1) = 0.0922449                                ! AIPSS_Y, I 
VALUE(32,1) = 0.117065                                 ! AIPSS_X, I	
VALUE(33,1) = ABS(Txy_Shell/5577.096)                  ! CRT_2_X, I 
VALUE(34,1) = ABS(Txy_Shell/5577.096)                  ! CRT_2_Y, I	
VALUE(35,1) = 0.3245                                   ! CRT_3_Y, I 
VALUE(36,1) = 0.523                                    ! CRT_3_X, I 
                                                                         
                                                                       
! CivilFEM values                                                      
~CFSET,1	! Walls non-seismic design                                 
~CFGET,VALUE(21,2), ELEMENT, 1 ,RESULT ,    VC_Y, I	                   
~CFGET,VALUE(22,2), ELEMENT, 1 ,RESULT ,    VC_X, I 	              
~CFGET,VALUE(23,2), ELEMENT, 1 ,RESULT , AIPSS_Y, I	
~CFGET,VALUE(24,2), ELEMENT, 1 ,RESULT , AIPSS_X, I 	  
~CFGET,VALUE(25,2), ELEMENT, 1 ,RESULT , CRT_2_X, I	
~CFGET,VALUE(26,2), ELEMENT, 1 ,RESULT , CRT_2_Y, I 	
~CFGET,VALUE(27,2), ELEMENT, 1 ,RESULT , CRT_3_Y, I 	
~CFGET,VALUE(28,2), ELEMENT, 1 ,RESULT , CRT_3_X, I 	

~CFSET,2	! Walls seismic design
~CFGET,VALUE(29,2), ELEMENT, 1 ,RESULT ,    VC_Y, I	
~CFGET,VALUE(30,2), ELEMENT, 1 ,RESULT ,    VC_X, I 	
~CFGET,VALUE(31,2), ELEMENT, 1 ,RESULT , AIPSS_Y, I	
~CFGET,VALUE(32,2), ELEMENT, 1 ,RESULT , AIPSS_X, I 	  
~CFGET,VALUE(33,2), ELEMENT, 1 ,RESULT , CRT_2_X, I	
~CFGET,VALUE(34,2), ELEMENT, 1 ,RESULT , CRT_2_Y, I 	
~CFGET,VALUE(35,2), ELEMENT, 1 ,RESULT , CRT_3_Y, I 	
~CFGET,VALUE(36,2), ELEMENT, 1 ,RESULT , CRT_3_X, I   

! Labels
LABEL(21,1) = 'NS_VCY'			! ACI 349-01 Ch.14 (11.10.5) 
LABEL(22,1) = 'NS_VCX'   		! ACI 349-01 Ch.14 (11.3.2.3)
LABEL(23,1) = 'NSAIPSSY'		! ACI 349-01 Ch.14 (11.10.9.1) eq.11-33
LABEL(24,1) = 'NSAIPSSX'
LABEL(25,1) = 'NSCRT_2X'		! ACI 349-01 Ch.14 (11.10.3)
LABEL(26,1) = 'NSCRT_2Y'  
LABEL(27,1) = 'NSCRT_3Y'		! ACI 349-01 Ch.14 (11.10.9.2)
LABEL(28,1) = 'NSCRT_3X'
LABEL(29,1) = 'S_VC_Y'
LABEL(30,1) = 'S_VC_X'   		! ACI 349-01 Ch.14 (11.3.2.3)
LABEL(31,1) = 'S_AIPSSY'		! ACI 349-01 Ch.21 (21.6.5.2) eq.11-33
LABEL(32,1) = 'S_AIPSSX'
LABEL(33,1) = 'S_CRT_2X'		! ACI 349-01 Ch.21 (21.6.5.6)
LABEL(34,1) = 'S_CRT_2Y'  
LABEL(35,1) = 'S_CRT_3Y'		! ACI 349-01 Ch.21 (21.6.2.1)
LABEL(36,1) = 'S_CRT_3X' 



! Warning and error tolerances
  TOLER( 1,1)= 0.005*VALUE( 1,1) $ TOLER( 1,1)= 0.005*VALUE( 1,1)
  TOLER( 2,1)= 0.005*VALUE( 2,1) $ TOLER( 2,1)= 0.005*VALUE( 2,1) 
  TOLER( 3,1)= 0.003*VALUE( 3,1) $ TOLER( 3,1)= 0.003*VALUE( 3,1) 
  TOLER( 4,1)= 0.003*VALUE( 4,1) $ TOLER( 4,1)= 0.003*VALUE( 4,1) 
  TOLER( 5,1)= 0.004*VALUE( 5,1) $ TOLER( 5,1)= 0.004*VALUE( 5,1) 
  TOLER( 6,1)= 0.004*VALUE( 6,1) $ TOLER( 6,1)= 0.004*VALUE( 6,1) 
  TOLER( 7,1)= 0.003*VALUE( 7,1) $ TOLER( 7,1)= 0.003*VALUE( 7,1)
  TOLER( 8,1)= 0.003*VALUE( 8,1) $ TOLER( 8,1)= 0.003*VALUE( 8,1) 
  TOLER( 9,1)= 0.003*VALUE( 9,1) $ TOLER( 9,1)= 0.003*VALUE( 9,1) 
  TOLER(10,1)= 0.003*VALUE(10,1) $ TOLER(10,1)= 0.003*VALUE(10,1) 
  TOLER(11,1)= 0.005*VALUE(11,1) $ TOLER(11,1)= 0.005*VALUE(11,1) 
  TOLER(12,1)= 0.005*VALUE(12,1) $ TOLER(12,1)= 0.005*VALUE(12,1) 
  TOLER(13,1)= 0.003*VALUE(13,1) $ TOLER(13,1)= 0.003*VALUE(13,1)
  TOLER(14,1)= 0.003*VALUE(14,1) $ TOLER(14,1)= 0.003*VALUE(14,1) 
  TOLER(15,1)= 0.005*VALUE(15,1) $ TOLER(15,1)= 0.005*VALUE(15,1) 
  TOLER(16,1)= 0.005*VALUE(16,1) $ TOLER(16,1)= 0.005*VALUE(16,1) 
  TOLER(17,1)= 0.003*VALUE(17,1) $ TOLER(17,1)= 0.003*VALUE(17,1) 
  TOLER(18,1)= 0.003*VALUE(18,1) $ TOLER(18,1)= 0.003*VALUE(18,1)
  TOLER(19,1)= 0.001*VALUE(19,1) $ TOLER(19,1)= 0.001*VALUE(19,1) 
  TOLER(20,1)= 0.001*VALUE(20,1) $ TOLER(20,1)= 0.001*VALUE(20,1)
  TOLER(21,1)= 1E-1 $ TOLER( 1,2)= 1E-1 
  TOLER(22,1)= 1E-2 $ TOLER( 2,2)= 1E-2 
  TOLER(23,1)= 1E-1 $ TOLER( 3,2)= 1E-2
  TOLER(24,1)= 1E-1 $ TOLER( 4,2)= 1E-2
  TOLER(25,1)= 1E-2 $ TOLER( 5,2)= 1E-2
  TOLER(26,1)= 1E-2 $ TOLER( 6,2)= 1E-2
  TOLER(27,1)= 1E-2 $ TOLER( 7,2)= 1E-2
  TOLER(28,1)= 1E-2 $ TOLER( 8,2)= 1E-2
  TOLER(29,1)= 1E-2 $ TOLER( 9,2)= 1E-2
  TOLER(30,1)= 1E-2 $ TOLER(10,2)= 1E-2
  TOLER(31,1)= 1E-2 $ TOLER(11,2)= 1E-2
  TOLER(32,1)= 1E-2 $ TOLER(12,2)= 1E-2
  TOLER(33,1)= 1E-1 $ TOLER(13,2)= 1E-2
  TOLER(34,1)= 1E-1 $ TOLER(14,2)= 1E-2
  TOLER(35,1)= 1E-2 $ TOLER(15,2)= 1E-2
  TOLER(36,1)= 1E-2 $ TOLER(16,2)= 1E-2  

!-------------------------------------------------------------------------------
! Results comparison
!-------------------------------------------------------------------------------

COMPARA.MAC