!*************************************************************************************!
! TITLE: CFVR0855 - Linear combination with MUD design test
! SUBTITLE: Example to verify results of the linear combinations utility
!
! DESCRIPTION: This example checks the functionality of the combinations module.
! DESCRIPTION:
! DESCRIPTION:
! DESCRIPTION: The model is a shell reinforced concrete slab is clamped in all its edges 
! DESCRIPTION: and has 30 cm of thickness. Results obtained from algebraic combinations  
! DESCRIPTION: and from simple states are compared and must be exactly the same.
! DESCRIPTION:
! DESCRIPTION: Three load cases have been defined. First is self weight (SW), pressure (P)
! DESCRIPTION:  of 20000 MPa and a membrane force (MB) of 150000 MPa. All loads are later    
! DESCRIPTION: solved altogether in only load step so results must be the same if 
! DESCRIPTION: coefficients are equal to unity.
! DESCRIPTION:
! DESCRIPTION: The combination rule defined is:
! DESCRIPTION:
! DESCRIPTION: - Combination rule 1: Addition [1.0 * SW + 1.0 * P + 1.0 * MB]
! DESCRIPTION:
! DESCRIPTION: The reinforcement design methods is the Most Unfavourable Direction method.
! DESCRIPTION: Only the element with maximum value of top reinforcement in X direction 
! DESCRIPTION: will be analized.
!
! ELEMENT TYPE: Shell63
! MODULES:
! UNITS: SI
! KEYWORD1: Shell
! KEYWORD2: Shell Vertex
! KEYWORD3: Reinforced Concrete
! KEYWORD4: Combinations
!*************************************************************************************!
  FINISH
  ~CFCLEAR,,1 
 AnsLic='ansys'

  NomFile='CFVR0855'
  /TITLE, %NomFile%, Linear combination with MUD design test

! ---------------------------------------------------------------------------------
! Model definition and solve
! ---------------------------------------------------------------------------------
~UNITS,SI
L1=12			! LENGTH 
W1=7			! WIDTH
TH1=0.3			! THICKNESS
C1=0.07			! COVER
ELEMSIZE=0.5
AC=10			! ACCELERATION FOR LOAD CASE 1
PRN=20000		! PRESSURE FOR LOAD CASE 2
PRT=150000		! PRESSURE FOR LOAD CASE 3

/PREP7

! MATERIALS
~CFMP,1,LIB,CONCRETE,EC2,C35/45 
~CFMP,2,LIB,REINF,EC2,S500  
~CFMP,1,USER
~CFMP,1,EC2_C,TSDSSD,,2 
~CFMP,1,EC2_C,TSDSSD,,0 
~CFMP,1,EC2_C,SDEPSDEL,,3   
~CFMP,1,EC2_C,SDEPS,,-2E-003,1,7,0  
~CFMP,1,EC2_C,SDSGM,,-2.4E+007,1,7,0
~CFMP,1,EC2_C,SDEPS,,0 ,2,7,0   
~CFMP,1,EC2_C,SDSGM,,0 ,2,7,0   
~CFMP,1,CONCR   ,EPSMIN  ,,-1.75E-003   
~CFMP,1,CONCR   ,EPSINT  ,,-1.75E-003   
~CFMP,1,CONCR   ,EXLN    ,,1.2E+010 
~CFMP,1,EC2_C   ,ECM     ,,1.2E+010,7,0,0   
~CFMP,2,USER
~CFMP,2,REINF   ,EPSMAX  ,,1E-003   

! SHELL VERTEX
~SHLRNF,1,TH1,1,2,C1,0.000E+00,0.000E+00,0.000E+00,0.000E+00,0,0.000,45.00  
~SHLMDF,1,NAME,,,SHELL VERTEX 1 
! BEAM ANS SHELL PROPERTIES
~BMSHPRO,1,SHELL,1,1,1,1,93,1,,0 ,SHELL 1  
 
! MODEL
K,1,0,0,0
K,2,W1,0,0
K,3,W1,L1,0
K,4,0,L1,0
L,1,2
L,2,3
L,3,4
L,4,1
AL,1,2,3,4

! MESH
ET,1,93
ESIZE,ELEMSIZE
AATT,1,1,1,0
AMESH,ALL

! BOUNDARY CONDITIONS
LSEL,S,,,1,4,1
NSLL,,1
D,ALL,UY
D,ALL,UZ
D,ALL,ROTX
D,ALL,ROTY
D,ALL,ROTZ

KSEL,S,,,1,4,3
NSLK,,1
D,ALL,UX

ALLSEL,ALL,ALL

FINISH
/SOLU

! LOAD CASE 1: SELF WEIGHT
/TITLE, LOAD CASE 1 : SELF WEIGHT (SW)
ACEL,,,AC
SOLVE				! LS1
ACEL,

! LOAD CASE 2: PRESSURE
/TITLE, LOAD CASE 2 : PRESSURE (P)
SFE,ALL,2,PRES,,PRN
SOLVE				! LS2
SFEDELE,ALL,ALL,ALL 

! LOAD CASE 3: PRESSURE
/TITLE, LOAD CASE 3 : MEMBRANE FORCE (MB)
LSEL,S,,,4
NSLL,,1
ESLN
SFE,ALL,6,PRES,,PRT
LSEL,S,,,2
NSLL,,1
ESLN
SFE,ALL,4,PRES,,PRT
ALLSEL,ALL,ALL
SOLVE				! LS3
SFEDELE,ALL,ALL,ALL 

! ALL LOAD CASES IN ONE LOAD STEP
/TITLE, ALL LOAD CASES IN ONE LOAD STEP
ACEL,,,AC
SFE,ALL,2,PRES,,PRN
LSEL,S,,,4
NSLL,,1
ESLN
SFE,ALL,6,PRES,,PRT
LSEL,S,,,2
NSLL,,1
ESLN
SFE,ALL,4,PRES,,PRT
ALLSEL,ALL,ALL

SOLVE				! LS4

FINISH
/POST1  
! COMBINATIONS
~CMBCLR,,,1 
! COMBINATION 1
/TITLE,ELS  
~CMBDEF,1,ADD,3,0,3 
~STSTDEF,1,1,LSTEP,1,0,1,1,1,1  
~STSTCFT,1,1,1  
~STSTDEF,1,2,LSTEP,2,0,1,1,1,1  
~STSTCFT,1,2,1  
~STSTDEF,1,3,LSTEP,3,0,1,1,1,1  
~STSTCFT,1,3,1  

~LINCMB 
!--------------------------------------------------------------------------------------
! DATA CHECK
!--------------------------------------------------------------------------------------
! Data comparison number
  NComp = 1
  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) ='ASTX'

! READ  COMBINATION 1
~CFSET,0,5,LAST, 
! SELECT ONLY ELEMENT NUMBER 168
ESEL,S,,,168
! DESIGN BY MUD METHOD
~DIMCON,SHELL,MUD, , , , ,200E6,

~CFSET,1,   
~PLSHCON,ASTX
~CFVGET,VALUE(1,1), ELEM,168, Node,1,Result,ASTX 

! READ  LS 4
~CFSET,0,4,LAST, 
! SELECT ONLY ELEMENT NUMBER 168
ESEL,S,,,168
! DESIGN BY MUD METHOD
~DIMCON,SHELL,MUD, , , , ,200E6,

~CFSET,2,   
~PLSHCON,ASTX
~CFVGET,VALUE(1,2), ELEM,168, Node,1,Result,ASTX 

! Warning and error tolerances
  TOLER( 1, 1)= 1E-02 $ TOLER( 1, 2)= 1E-02
!--------------------------------------------------------------------------------------
! Results comparison
!--------------------------------------------------------------------------------------
  COMPARA.MAC
