VM317 Input Listing


/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