/COM,ANSYS MEDIA REL. 2024R2 (05/10/2024) REF. VERIF. MANUAL: REL. 2024R2 /VERIFY,VM317 /TITLE,VM317,MULTISTAGE CYCLIC MODAL ANALYSIS OF A HOLLOW CYLINDER /COM, /COM, REF: CAMMALLERI, M. & COSTANZA, A. (2016). /COM, A CLOSED-FORM SOLUTION FOR NATURAL FREQUENCIES OF THIN-WALLED CYLINDERS WITH CLAMPED EDGES. /COM, INTERNATIONAL JOURNAL OF MECHANICAL SCIENCES, 110, P. 116-126. /COM MULTISTAGE /OUT,vm317_scratch /COM ------------------------------------------------------------------- /COM ------------------------------------------------------------------- /COM MODEL PARAMETERS /COM ------------------------------------------------------------------- !! ORIGINAL BRITISH UNITS (NOTE METRIC ARE APPROXIMATE) !A = 3 !LEN = 12 !H = 0.01 !RHO = 0.283 !EMOD = 30E6 !NU = 0.3 !! IN METRIC FOR REFERENCE ONLY (KG,M,S) !A = 0.0762 !LEN = 0.3048 !H = 0.000254 !RHO = 7833 !EMOD = 206842718795 !NU = 0.3 !! CONVERT EVERYTHING TO SLUGS,IN,S A = 3 LEN = 12 H = 0.01 RHO = 0.008795923 ! LBM CONVERTED TO SLUG EMOD = 36E7 ! LBF/IN^2 CONVERTED TO (SLUG*IN/S^2)/IN^2) NU = 0.3 /COM ------------------------------------------------------------------- ! ------------------------------------ ! STAGE SECTOR COUNTS ! ------------------------------------ N1 = 18 N2 = 13 N3 = 10 N4 = 11 NSTAGE = 4 ! ------------------------------------ ! GENERATE MESH ! ------------------------------------ _GEOMGEN = 0 ! GENERATE MESH FOR MULTISTAGE *IF,_GEOMGEN,EQ,1,THEN /PREP7 ET,1,181 EX,1,EMOD PRXY,1,NU DENS,1,RHO SECTYPE,1,SHELL SECDATA,H,1,0 !* SECTOR ANGLES LOW1 = 20 HIGH1 = 20+360/N1 LOW2 = 0 HIGH2 = 360/N2 LOW3 = 40 HIGH3 = 40+360/N3 LOW4 = 45 HIGH4 = 45+360/N4 CYLINDER,0,A,,LEN/4,LOW1,HIGH1 CYLINDER,0,A,LEN/4,2*LEN/4,LOW2,HIGH2 CYLINDER,0,A,2*LEN/4,3*LEN/4,LOW3,HIGH3 CYLINDER,0,A,3*LEN/4,LEN,LOW4,HIGH4 ESIZE,,10 ASEL,S,,,3 AMESH,ALL ASEL,S,,,8 AMESH,ALL ASEL,S,,,13 AMESH,ALL ASEL,S,,,18 AMESH,ALL ALLSEL,ALL CDWRITE,COMB,vm317-1,cdb *ELSE CDREAD,COMB,vm317-1,cdb *ENDIF ! ------------------------------------- ! CREATE STAGE OBJECTS ! ------------------------------------- /PREP7 CSYS,1 *DIM,AVALS,ARRAY,NSTAGE,1 AVALS(1) = 3,8,13,18 *DO,II,1,NSTAGE ASEL,S,,,AVALS(II) ESLA NSLE CM,_STAGE%II%_BASE_ELM,ELEM CM,_STAGE%II%_BASE_NOD,NODE ALLSEL CMSEL,S,_STAGE%II%_BASE_NOD,NODE NSEL,R,LOC,Y,LOW%II% CM,_STAGE%II%_CYCLOW_NOD,NODE CMSEL,S,_STAGE%II%_BASE_NOD NSEL,R,LOC,Y,HIGH%II% CM,_STAGE%II%_CYCHIGH_NOD,NODE ALLSEL,ALL *GET,NNODE,NODE,,NUM,MAX !DUPLICATE SECTOR CMSEL,S,_STAGE%II%_BASE_ELM,ELEM CMSEL,S,_STAGE%II%_BASE_NOD,NODE EGEN,2,NNODE,ALL,,,,,,,,0,0,0 CMSEL,U,_STAGE%II%_BASE_ELM,ELEM CMSEL,U,_STAGE%II%_BASE_NOD,NODE CM,_STAGE%II%_DUPL_ELM,ELEM CM,_STAGE%II%_DUPL_NOD,NODE ALLSEL,ALL *ENDDO ! COMPUTE HARMONIC INDEX 4 AND 5 MODES *DO,JJ,4,5 ! ------------------------------------ ! STAGE HARMONIC INDICES ! ------------------------------------ HI1 = JJ HI2 = JJ HI3 = JJ HI4 = JJ /PREP7 CSYS,1 *IF,JJ,GT,4,THEN MSOPT,RESET *ENDIF CEDELE,ALL *DO,II,1,NSTAGE MSOPT,NEW, STAGE%II%, N%II%, HI%II%,_STAGE%II%_BASE_ELM,_STAGE%II%_BASE_NOD,_STAGE%II%_DUPL_ELM,_STAGE%II%_DUPL_NOD CECYCMS,_STAGE%II%_CYCLOW_NOD,_STAGE%II%_CYCHIGH_NOD *ENDDO ! ---------------------------------------------- ! APPLY INTERSTAGE CONSTRAINTS BETWEEN STAGES ! ---------------------------------------------- CMSEL,S,_STAGE1_BASE_NOD,NODE NSEL,R,LOC,Z,LEN/4 ESLN CMSEL,S,_STAGE2_BASE_NOD,NODE NSEL,R,LOC,Z,LEN/4 CEIMS,,,STAGE2,STAGE1 CMSEL,S,_STAGE2_BASE_NOD,NODE NSEL,R,LOC,Z,2*LEN/4 ESLN CMSEL,S,_STAGE3_BASE_NOD,NODE NSEL,R,LOC,Z,2*LEN/4 CEIMS,,,STAGE3,STAGE2 CMSEL,S,_STAGE4_BASE_NOD,NODE NSEL,R,LOC,Z,3*LEN/4 ESLN CM,INT_STAGE4_ELM,ELEM CMSEL,S,_STAGE3_BASE_NOD,NODE NSEL,R,LOC,Z,3*LEN/4 CM,INT_STAGE3_NOD,NODE CMSEL,S,INT_STAGE4_ELM,ELEM CMSEL,S,INT_STAGE3_NOD,NODE CEIMS,,,STAGE3,STAGE4 ALLSEL,ALL ! ------------------------------------- ! CLAMPED-CLAMPED BOUNDARY CONDITIONS ! ------------------------------------- NSEL,S,LOC,Z,0,0 NSEL,A,LOC,Z,LEN,LEN D,ALL,ALL ALLSEL,ALL /SOLU ANTYPE,MODAL MODOPT,LANB,6 SOLVE FINI /POST1 SET,LIST MSOPT,EXPA,ALL,ALL SET,1,1 /SHOW,PNG,REV /VIEW,1,1,1,1 PLNSOL,U,SUM /SHOW,CLOSE FINI *GET,NATFREQ%JJ%,MODE,1,FREQ *ENDDO *DIM,VALUE,,2,4 *VFILL,VALUE(1,1),DATA,4,5 *VFILL,VALUE(1,2),DATA,772,564 *VFILL,VALUE(1,3),DATA,NATFREQ4,NATFREQ5 *VFILL,VALUE(1,4),DATA,NATFREQ4/772 ,NATFREQ5/564 /COM /OUT,vm317,vrt /COM,------------------- vm317 RESULTS COMPARISON --------------------- /COM, TARGET VS. MAPDL MULTISTAGE /COM, /COM, N (HINDEX) | TARGET FREQ (HZ) | MECHANICAL APDL FREQ (HZ) | RATIO /COM, *VWRITE,VALUE(1,1),VALUE(1,2),VALUE(1,3),VALUE(1,4) (' ',F2.0,' ',F10.0,' ',F14.2,' ',1F15.3) /COM,------------------------------------------------------------------ /OUT,vm317_scratch,,,append !---------------------------------------------------------------------- /CLEAR,NOSTART /COM FULL 360 !! CONVERT EVERYTHING TO SLUGS,IN,S A = 3 LEN = 12 H = 0.01 RHO = 0.008795923 ! LBM CONVERTED TO SLUG EMOD = 36E7 ! LBF/IN^2 CONVERTED TO (SLUG*IN/S^2)/IN^2) NU = 0.3 /COM ------------------------------------------------------------------ _GEOMGEN = 0 ! GENERATE MESH FOR FULL 360 *IF,_GEOMGEN,EQ,1,THEN /PREP7 ET,1,181 EX,1,EMOD PRXY,1,NU DENS,1,RHO SECTYPE,1,SHELL SECDATA,H,1,0 CYLINDER,0,A,,LEN,0,360 ESIZE,.1 ASEL,S,,,3 ASEL,A,,,4 AMESH,ALL NSEL,S,LOC,Z,0,0 NSEL,A,LOC,Z,LEN,LEN D,ALL,ALL ALLSEL,ALL CDWRITE,COMB,vm317-2,cdb *ELSE CDREAD,COMB,vm317-2,cdb *ENDIF /SOLU ANTYPE,MODAL MODOPT,LANB,200 SOLVE FINI /POST1 SET,LIST FINI *GET,NATFREQ4,MODE,9,FREQ *GET,NATFREQ5,MODE,3,FREQ *DIM,VALUE,,2,4 *VFILL,VALUE(1,1),DATA,4,5 *VFILL,VALUE(1,2),DATA,772,564 *VFILL,VALUE(1,3),DATA,NATFREQ4,NATFREQ5 *VFILL,VALUE(1,4),DATA,NATFREQ4/772 , NATFREQ5/564 /COM /OUT,vm317,vrt,,append /COM,------------------- vm317 RESULTS COMPARISON --------------------- /COM, TARGET VS. MAPDL FULL 360 /COM, /COM, N (HINDEX) | TARGET FREQ (HZ) | MECHANICAL APDL FREQ (HZ) | % ERROR /COM, *VWRITE,VALUE(1,1),VALUE(1,2),VALUE(1,3),VALUE(1,4) (' ',F2.0,' ',F10.0,' ',F14.2,' ',1F15.3) /COM,------------------------------------------------------------------ /OUT *LIST,vm317,vrt