/COM,ANSYS MEDIA REL. 2024R2 (05/10/2024) REF. VERIF. MANUAL: REL. 2024R2
/VERIFY,VM7
/PREP7
/TITLE, VM7, PLASTIC COMPRESSION OF A PIPE ASSEMBLY
C*** MECHANICS OF SOLIDS, CRANDALL AND DAHL, 1959, PAGE 180, EX. 5.1
C*** USING PIPE288, SOLID185 AND SHELL181 ELEMENTS
THETA=6 ! SUBTENDED ANGLE
ET,1,PIPE288,,,,2
ET,2,SOLID185
ET,3,SHELL181,,,2 ! FULL INTEGRATION
SECTYPE,1,SHELL
SECDATA,0.5,1,0,5 ! THICKNESS (SHELL181)
SECTYPE,2,SHELL
SECDATA,0.5,2,0,5 ! THICKNESS (SHELL181)
SECTYPE,3,PIPE
SECDATA,4.9563384,0.5 ! OUTSIDE DIA. AND WALL THICKNESS FOR INSIDE TUBE (PIPE288)
SECTYPE,4,PIPE
SECDATA,8.139437,0.5 ! OUTSIDE DIA. AND WALL THICKNESS FOR OUTSIDE TUBE (PIPE288)
MP,EX ,1,26.875E6 ! STEEL
MP,PRXY,1,0.3
MP,EX ,2,11E6 ! ALUMINUM
MP,PRXY,2,0.3
TB,PLAS,1,1,,BKIN ! DEFINE NON-LINEAR MATERIAL PROPERTY FOR STEEL
TBTEMP,0
TBDATA,1,86000,0
TB,PLAS,2,1,,BKIN ! DEFINE NON-LINEAR MATERIAL PROPERTY FOR ALUMINUM
TBTEMP,0
TBDATA,1,55000,0
N,1 ! GENERATE NODES AND ELEMENTS FOR PIPE288
N,2,,,10
MAT,1
SECNUM,3 ! STEEL (INSIDE) TUBE
E,1,2
MAT,2
SECNUM,4 ! ALUMINUM (OUTSIDE) TUBE
E,1,2
CSYS,1
N,101,1.9781692 ! GENERATE NODES AND ELEMENTS FOR SOLID185
N,102,2.4781692
N,103,3.5697185
N,104,4.0697185
N,105,1.9781692,,10
N,106,2.4781692,,10
N,107,3.5697185,,10
N,108,4.0697185,,10
NGEN,2,10,101,108,,,THETA ! GENERATE 2ND SET OF NODES TO FORM A THETA DEGREE SLICE
NROTAT,101,118,1
TYPE,2
MAT,1 ! INSIDE (STEEL) TUBE
E,101,102,112,111,105,106,116,115
MAT,2 ! OUTSIDE (ALUMINUM) TUBE
E,103,104,114,113,107,108,118,117
N,201,2.2281692 ! GENERATE NODES AND ELEMENTS FOR SHELL181
N,203,2.2281692,,10
N,202,3.8197185
N,204,3.8197185,,10
NGEN,2,4,201,204,,,THETA ! GENERATE NODES TO FORM A THETA DEGREE SLICE
TYPE,3
SECNUM,1 ! INSIDE (STEEL) TUBE
E,203,201,205,207
SECNUM,2 ! OUTSIDE (ALUMINUM) TUBE
E,204,202,206,208
C*** APPLY CONSTRAINTS TO PIPE288 MODEL
D,1,ALL ! FIX ALL DOFS FOR BOTTOM END OF PIPE288
D,2,UX,,,,,UY,ROTX,ROTY,ROTZ ! ALLOW ONLY UZ DOF AT TOP END OF PIPE288 MODEL
C*** APPLY CONSTRAINTS TO SOLID185 AND SHELL181 MODELS
CP,1,UX,101,111,105,115 ! COUPLE NODES AT BOUNDARY IN RADIAL DIR FOR SOLID185
CPSGEN,4,,1
CP,5,UX,201,205,203,207 ! COUPLE NODES AT BOUNDARY IN RADIAL DIR FOR SHELL181
CPSGEN,2,,5
CP,7,ROTY,201,205 ! COUPLE NODES AT BOUNDARY IN ROTY DIR FOR SHELL181
CPSGEN,4,,7
NSEL,S,NODE,,101,212 ! SELECT ONLY NODES IN SOLID185 AND SHELL181 MODELS
NSEL,R,LOC,Y,0 ! SELECT NODES AT THETA = 0 FROM THE SELECTED SET
DSYM,SYMM,Y,1 ! APPLY SYMMETRY BOUNDARY CONDITIONS
NSEL,S,NODE,,101,212 ! SELECT ONLY NODES IN SOLID185 AND SHELL181 MODELS
NSEL,R,LOC,Y,THETA ! SELECT NODES AT THETA FROM THE SELECTED SET
DSYM,SYMM,Y,1 ! APPLY SYMMETRY BOUNDARY CONDITIONS
NSEL,ALL
NSEL,R,LOC,Z,0 ! SELECT ONLY NODES AT Z = 0
D,ALL,UZ,0 ! CONSTRAIN BOTTOM NODES IN Z DIRECTION
NSEL,ALL
FINISH
/SOLU
OUTPR,BASIC,LAST ! PRINT BASIC SOLUTION AT END OF LOAD STEP
C*** APPLY DISPLACEMENT LOADS TO ALL MODELS
*CREATE,DISP
NSEL,R,LOC,Z,10 ! SELECT NODES AT Z = 10 TO APPLY DISPLACEMENT
D,ALL,UZ,ARG1
NSEL,ALL
/OUT,SCRATCH
SOLVE
*END
*USE,DISP,-.032
*USE,DISP,-.05
*USE,DISP,-.1
FINISH
/OUT,
/POST1
C*** CREATE MACRO TO GET RESULTS FOR EACH MODEL
*CREATE,GETLOAD
NSEL,S,NODE,,1,2 ! SELECT NODES IN PIPE288 MODEL
NSEL,R,LOC,Z,0
/OUT,SCRATCH
FSUM ! FZ IS TOTAL LOAD FOR PIPE288 MODEL
*GET,LOAD_288,FSUM,,ITEM,FZ
NSEL,S,NODE,,101,118 ! SELECT NODES IN SOLID185 MODEL
NSEL,R,LOC,Z,0
FSUM
*GET,ZFRC,FSUM,0,ITEM,FZ
LOAD=ZFRC*360/THETA ! MULTIPLY BY 360/THETA FOR FULL 360 DEGREE RESULTS
*STATUS,LOAD
LOAD_185 = LOAD
NSEL,S,NODE,,201,212 ! SELECT NODES IN SHELL181 MODEL
NSEL,R,LOC,Z,0
FSUM
/OUT,
*GET,ZFRC,FSUM,0,ITEM,FZ
LOAD=ZFRC*360/THETA ! MULTIPLY BY 360/THETA FOR FULL 360 DEGREE RESULTS
*STATUS,LOAD
LOAD_181 = LOAD
*VFILL,VALUE_288(1,1),DATA,1024400,1262000,1262000
*VFILL,VALUE_288(I,2),DATA,ABS(LOAD_288)
*VFILL,VALUE_288(I,3),DATA,ABS(LOAD_288)/(VALUE_288(I,1))
*VFILL,VALUE_185(1,1),DATA,1024400,1262000,1262000
*VFILL,VALUE_185(J,2),DATA,ABS(LOAD_185)
*VFILL,VALUE_185(J,3),DATA,ABS(LOAD_185)/(VALUE_185(J,1))
*VFILL,VALUE_181(1,1),DATA,1024400,1262000,1262000
*VFILL,VALUE_181(K,2),DATA,ABS(LOAD_181)
*VFILL,VALUE_181(K,3),DATA,ABS(LOAD_181)/(VALUE_181(K,1))
*END
C*** GET TOTAL LOAD FOR DISPLACEMENT = 0.032
C*** ---------------------------------------
SET,1,1
I = 1
J = 1
K = 1
*DIM,LABEL,CHAR,3,2
*DIM,VALUE_288,,3,3
*DIM,VALUE_185,,3,3
*DIM,VALUE_181,,3,3
*USE,GETLOAD
C*** GET TOTAL LOAD FOR DISPLACEMENT = 0.05
C*** --------------------------------------
SET,2,1
I = I + 1
J = J + 1
K = K + 1
*USE,GETLOAD
C*** GET TOTAL LOAD FOR DISPLACEMENT = 0.1
C*** -------------------------------------
SET,3,1
I = I +1
J = J + 1
K = K + 1
*USE,GETLOAD
LABEL(1,1) = 'LOAD, lb','LOAD, lb','LOAD, lb'
LABEL(1,2) = ' UX=.032',' UX=0.05',' UX=0.10'
FINISH
/OUT,vm7,vrt
/COM,------------------- VM7 RESULTS COMPARISON ---------------------
/COM,
/COM, | TARGET | Mechanical APDL | RATIO
/COM,
/COM,RESULTS FOR PIPE288:
/COM,
*VWRITE,LABEL(1,1),LABEL(1,2),VALUE_288(1,1),VALUE_288(1,2),VALUE_288(1,3)
(1X,A8,A8,' ',F10.0,' ',F14.0,' ',1F15.3)
/COM,
/COM,RESULTS FOR SOLID185:
/COM,
*VWRITE,LABEL(1,1),LABEL(1,2),VALUE_185(1,1),VALUE_185(1,2),VALUE_185(1,3)
(1X,A8,A8,' ',F10.0,' ',F14.0,' ',1F15.3)
/COM,
/COM,RESULTS FOR SHELL181:
/COM,
*VWRITE,LABEL(1,1),LABEL(1,2),VALUE_181(1,1),VALUE_181(1,2),VALUE_181(1,3)
(1X,A8,A8,' ',F10.0,' ',F14.0,' ',1F15.3)
/COM,
/COM,-----------------------------------------------------------------
/OUT
*LIST,vm7,vrt