5.4. Example Mode-Superposition Harmonic Cyclic Symmetry Analysis with Mistuning

This example problem details the procedure to perform cyclic mode-superposition harmonic analysis with mistuning. The example presents a simplified bladed disc model.

5.4.1. Problem Descriptions

A circular disc with attached blade is modeled and meshed with SOLID185 elements. A temperature-dependent material model is used for disc and blade elements. The blade and disc are connected by means of bonded contact using CONTA174 and TARGE170 elements. The disc is constrained along the inner radius. The model is prestressed with thermal load (BF) and rotational velocity (OMEGA). Mode-superposition harmonic analysis is then performed on this prestressed model using the linear perturbation procedure with out-of-plane force load acting as the harmonically varying load. The stiffness mistuning parameters are defined for each blade using CYCFREQ,BLADE. The cyclic mode-superposition harmonic analysis is restarted to perform the analysis with different mistuning parameters using CYCFREQ,RESTART,MIST.

If you remove the mistuning commands (steps 15, 16 and 17) from this example problem you are left with a standard mode-superposition harmonic cyclic symmetry analysis.

5.4.2. Finite Element Model of the Problem

5.4.3. Input File for the Analysis

Use the input file given below to perform the example mode-superposition harmonic cyclic symmetry analysis.

/filnam,example

/prep7

et,1,solid185                   ! SOLID185 elements
keyopt,1,2,3                    !   simplified enhanced strain formulation

type,1

TREF,  75.00000
MPTEMP, 1,  75.00000, 200.00000,            ! Temperature-dependent material model
MPDATA,  EX, 1, 1,.3364959E+08, .3348502E+08
MPDATA,NUXY, 1, 1,.3000000E+00, .3000000E+00
MPDATA,ALPX, 1, 1,.7391837E-05, .7399809E-05
MPDATA,DENS, 1, 1,.8391600E+00, .8391600E+00

local,11,1                      ! Defining local cylindrical coordinate system
csys,11
esys,11                         ! Stress and strain are radial and tangential in solution CS

cylind,2,5,0,1,0,60             ! Disc
cylind,5,8,.25,.75,20,40        ! Blade

esize,1

type,1
mat,1
cyclic                          ! Create cyclic symmetry model (6 sectors)

vmesh,all

allsel,all

et,4,conta174                   ! CONTA174
et,5,targe170                   ! TARGE170

keyopt,4,12,5                   ! Bonded
keyopt,4,5,1                    ! Close the gap
keyopt,4,9,1                    ! Exclude gap or offset

r,4

type,4
real,4

asel,s,area,,10
nsla,s,1
esurf                           ! Form contact elements

type,5
real,4

asel,s,area,,3
nsla,s,1
esurf                           ! Form target elements
allsel,all


vsel,s,volume,,2
eslv,s
esel,r,ename,,185
cm,bladeelem,elem               ! Create components with blade elements
allsel,all

cmsel,s,bladeelem,elem
nsle,s
nsel,r,loc,x,5
cm,interface,node               ! Create node component to define interface between blade and disc
cmsel,s,bladeelem,elem
nsle,s
nsel,r,loc,z,.75
cm,pressurenodes,node           ! Create node component on pressure side
allsel,all

nsel,s,loc,x,2
d,all,all,0                     ! Constrain inner radius
allsel,all

/show,png,rev

/view,1,1,1,1
eplot
/show,close

nsel,s,loc,x,8
nsel,r,loc,z,.75
cm,load1,node                   ! Defining node component for harmonic loading
allsel,all
nrotate,all
finish

/solu
antype,static
rescontrol,define,all,1         ! Write restart files for all load steps and substeps
nlgeom,on
autots,on
nsubs,10,100,1
time,1.0
*get,nnodes,node,0,count
nd=0
*do,i,1,nnodes                  ! Define a radially-varying temperature profile
   nd=ndnext(nd)                ! Next selected node having node number greater than 0
   tt=100-(100-75)*(8-nx(nd))/(8-2)
   bf,nd,temp,tt                ! Apply thermal pre-stress load
*enddo
allsel,all
solve                           ! 1st load step

time,2.0
omega,0,0,3000*2*3.14159265/60  ! Rotational velocity (3000 RPM)
solve                           ! 2nd load step
finish

/post1
set,last
/cycexpand,,on
/show,png,rev
/view,1,1,1,1
plnsol,u,sum                    ! Plotting USUM from static solve
plnsol,s,eqv                    ! Plotting SEQV from static solve
/show,close
finish

/solu
antype,,restart,,,perturb       ! Restart from last load step and last substep
perturb,modal,,,parkeep         ! Perform LP modal solve, delete all loads except displacement constraints
solve,elform

omega,0,0,0
bfdele,all,all
modopt,lanb,1000,0,500          ! Extract modes from 0-500
mxpand,,,,yes
solve                           ! Perform LP modal solve
finish

/solu
antype,modal,restart            ! Restarting the modal solve
f,load1,fz,-10e3                ! Harmonic force load
solve
finish

/post1
file,,rstp
set,list,,,,,,,order            ! Modal frequencies
/show,png,rev
/yrange,0,200
plzz                            ! Plot cyclic modal frequencies vs Harmonic Indices
/show,close
/yrange,default
finish

/solu
antype,harmonic                 ! Perform harmonic analysis
hropt,msup,,,yes                ! MSUP harmonic, write modal coordinates to MCF file
outres,all,all
harfrq,65,85                    ! Excitation frequency range
nsubs,20
cycfreq,eo,1                    ! Engine order of excitation = 1
fdele,load1,fz
lvscale,1.0,1.0                 ! Scaling the load from modal solve
dmpstr,0.25                     ! Structural damping
kbc,1
*dim,kmist,array,6,1
kmist(1,1)=0.02,-0.015,0.03,-0.022,0.013,0.01 ! Mistuning parameters for each blade
cycfreq,blade,interface,bladeelem,20          ! Defining blade element component and interface nodes
cycfreq,mist,k,kmist                          ! Stiffness mistunning
solve
finish

/post1
cycfiles,,rstp,,
rsys,solu
/show,png,rev
plmc,1,10                       ! Plot modal coordinates from MSUP for SET,1,10 (real)
plmc,1,10,,1                    ! Plot modal coordinates from MSUP for SET,1,10 (Imaginary)
plmc,1,10,,,1,1                 ! Plot modal coordinates from MSUP for SET,1,10 (real) for HI=1
plmc,1,10,,1,1,1                ! Plot modal coordinates from MSUP for SET,1,10 (Imaginary) for HI=1
/show,close
esel,s,ename,,185
nsle,s,1

set,1,10,,0                     ! Real set
avprin,,0.33
/cycexpand,,on
/show,png,rev
/view,1,1,1,1,
plnsol,u,x
*get,uxmaxr,plnsol,0,max
plnsol,u,y
*get,uymaxr,plnsol,0,max
plnsol,u,z
*get,uzmaxr,plnsol,0,max
plnsol,s,eqv
*get,seqvmaxr,plnsol,0,max
plnsol,epel,eqv
*get,epeleqvmaxr,plnsol,0,max

set,1,10,,1                     ! Imaginary set
plnsol,u,x
*get,uxmaxi,plnsol,0,max
plnsol,u,y
*get,uymaxi,plnsol,0,max
plnsol,u,z
*get,uzmaxi,plnsol,0,max
plnsol,s,eqv
*get,seqvmaxi,plnsol,0,max
plnsol,epel,eqv
*get,epeleqvmaxi,plnsol,0,max

set,1,10
/cycexpand,,phaseang,360        ! Amplitude
plnsol,u,z
*get,uzmaxa,plnsol,0,max
plnsol,s,x
*get,sxmaxa,plnsol,0,max
plnsol,epel,x
*get,epelxmaxa,plnsol,0,max


/cycexpand,,phaseang,sweep      ! Phase sweep solution
plnsol,s,eqv
*get,seqvmaxs,plnsol,0,max
plnsol,epel,eqv
*get,epeleqvmaxs,plnsol,0,max
allsel,all
/show,close

/out,

/com, *****************************
/com,  Real Solution
/com, *****************************

*stat,uxmaxr
*stat,uzmaxr
*stat,seqvmaxr
*stat,epeleqvmaxr

/com, *****************************
/com,  Imaginary Solution
/com, *****************************

*stat,uxmaxi
*stat,uymaxi
*stat,uzmaxi
*stat,seqvmaxi
*stat,epeleqvmaxi

/com, *****************************
/com,  Amplitude Solution
/com, *****************************

*stat,uzmaxa
*stat,sxmaxa
*stat,epelxmaxa

/com, *****************************
/com,  Phaseangle solution
/com, *****************************

*stat,seqvmaxs
*stat,epeleqvmaxs
/cycexpand,,default
finish

/out,scratch

/post26
file,,rstp
numvar,30
nsol,2,64,u,z,uz1               ! UZ at node 64
rcyc,5,2,1,uzsector1
rcyc,6,2,2,uzsector2
rcyc,7,2,3,uzsector3
rcyc,8,2,4,uzsector4
rcyc,9,2,5,uzsector5
rcyc,10,2,6,uzsector6

ansol,3,52,s,x,sx1              ! SX at node 52
rcyc,11,3,1,sxsector1
rcyc,12,3,2,sxsector2
rcyc,13,3,3,sxsector3
rcyc,14,3,4,sxsector4
rcyc,15,3,5,sxsector5
rcyc,16,3,6,sxsector6

ansol,4,64,epel,x,epelx1        ! EPELX at node 64
rcyc,17,4,1,epelxsector1
rcyc,18,4,2,epelxsector2
rcyc,19,4,3,epelxsector3
rcyc,20,4,4,epelxsector4
rcyc,21,4,5,epelxsector5
rcyc,22,4,6,epelxsector6

/show,png,rev
plvar,5,6,7,8,9,10
plvar,11,12,13,14,15,16
plvar,17,18,19,20,21,22
/show,close
finish

/post1
cycfiles,,rstp
set
cycspec,,64,u,z                 ! UZ at node 64
cycspec,,52,s,x                 ! SX at node 52
cycspec,,64,epel,3              ! EPEL3 at node 64
cycspec,,pressurenodes,s,1      ! max S1 in pressurenodes
cycspec,,64,epel,x              ! EPELX at node 64
cycspec,,52,s,eqv               ! SEQV at node 52
cycspec,,64,epel,eqv            ! EPELEQV at node 64
cycspec,,64,u,sum               ! USUM at node 64
cycspec,list

/out,
cyccalc                         ! Compute results from cyclic MSUP using the
                                !   specifications defined by CYCSPEC command

/out,scratch
/com,  Plot the frequeny response for the CYCSPEC specifications for all sectors
/show,png,rev

plcfreq,1
plcfreq,2
plcfreq,3
plcfreq,4
plcfreq,5
plcfreq,6
plcfreq,7
plcfreq,8

/com,  Plot the histogram of frequency response for each sector for given CYCSPEC specification

plchist,1,10
plchist,2,10
plchist,3,10
plchist,4,10
plchist,5,10
plchist,6,10
plchist,7,10
plchist,8,10

/show,close

*get,uz_10,cyccalc,1,freq,10,sector,3      ! Retrieve UZ CYCCALC result at set,1,10 for sector 3

*get,sx_10,cyccalc,2,freq,10,secmax        ! Retrieve SX maximum CYCCALC result at set,1,10

*get,epel3_10,cyccalc,3,freq,10,sector,1   ! Retrieve EPEL3 CYCCALC result at set,1,10 for sector 1

*get,s1_10,cyccalc,4,freq,10,secmax        ! Retrieve S1 maximum CYCCALC result at set,1,10

*get,s1_node,cyccalc,4,freq,10,secnode      ! Retrieve the node number at which maximum S1 CYCCALC result occur for set,1,10

*get,s1_sector,cyccalc,4,freq,10,secnum     ! Retrieve the sector number at which maximum S3 CYCCALC result occur for set,1,10

*get,epelx_10,cyccalc,5,freq,10,secmax     ! Retrieve EPELX maximum CYCCALC result at set,1,10

*get,seqv_10,cyccalc,6,freq,10,sector,4    ! Retrieve SEQV CYCCALC result at set,1,10 for sector 4

*get,epeleqv_10,cyccalc,7,freq,10,secmax   ! Retrieve EPELEQV maximum CYCCALC result at set,1,10

/out,
*stat,uz_10
*stat,sx_10
*stat,epel3_10
*stat,s1_10
*stat,s1_node
*stat,s1_sector
*stat,epelx_10
*stat,seqv_10
*stat,epeleqv_10
finish

/com, --------------------------------------
/com,  Restarting the cyclic MSUP harmonic
/com,  analysis with different mistuning
/com,  values
/com, --------------------------------------

/out,scratch
/solu
cycfreq,restart,mist
*dim,kmist,array,6,1
kmist(1,1)=0.025,-0.015,0.025,-0.022,0.014,0.02 ! Mistuning parameters for each blade
solve
save
finish

/post1
cycfiles,,rstp,,
rsys,solu
esel,s,ename,,185
nsle,s,1

set,1,10,,0                     ! Real set
avprin,,0.33
/cycexpand,,on
/show,png,rev
/view,1,1,1,1,
plnsol,u,x
*get,uxmaxr,plnsol,0,max
plnsol,u,y
*get,uymaxr,plnsol,0,max
plnsol,u,z
*get,uzmaxr,plnsol,0,max
plnsol,s,eqv
*get,seqvmaxr,plnsol,0,max
plnsol,epel,eqv
*get,epeleqvmaxr,plnsol,0,max

set,1,10,,1                     ! Imaginary set
plnsol,u,x
*get,uxmaxi,plnsol,0,max
plnsol,u,y
*get,uymaxi,plnsol,0,max
plnsol,u,z
*get,uzmaxi,plnsol,0,max
plnsol,s,eqv
*get,seqvmaxi,plnsol,0,max
plnsol,epel,eqv
*get,epeleqvmaxi,plnsol,0,max

set,1,10
/cycexpand,,phaseang,360        ! Amplitude
plnsol,u,z
*get,uzmaxa,plnsol,0,max
plnsol,s,x
*get,sxmaxa,plnsol,0,max
plnsol,epel,x
*get,epelxmaxa,plnsol,0,max


/cycexpand,,phaseang,sweep      ! Phase sweep solution
plnsol,s,eqv
*get,seqvmaxs,plnsol,0,max
plnsol,epel,eqv
*get,epeleqvmaxs,plnsol,0,max
allsel,all
/show,close

/out,

/com, *****************************
/com,  Real Solution
/com, *****************************

*stat,uxmaxr
*stat,uzmaxr
*stat,seqvmaxr
*stat,epeleqvmaxr

/com, *****************************
/com,  Imaginary Solution
/com, *****************************

*stat,uxmaxi
*stat,uymaxi
*stat,uzmaxi
*stat,seqvmaxi
*stat,epeleqvmaxi

/com, *****************************
/com,  Amplitude Solution
/com, *****************************

*stat,uzmaxa
*stat,sxmaxa
*stat,epelxmaxa

/com, *****************************
/com,  Phaseangle solution
/com, *****************************

*stat,seqvmaxs
*stat,epeleqvmaxs
/cycexpand,,default
finish



/out,scratch

/post26
file,,rstp
numvar,30
nsol,2,64,u,z,uz1               ! UZ at node 64
rcyc,5,2,1,uzsector1
rcyc,6,2,2,uzsector2
rcyc,7,2,3,uzsector3
rcyc,8,2,4,uzsector4
rcyc,9,2,5,uzsector5
rcyc,10,2,6,uzsector6

ansol,3,52,s,x,sx1              ! SX at node 52
rcyc,11,3,1,sxsector1
rcyc,12,3,2,sxsector2
rcyc,13,3,3,sxsector3
rcyc,14,3,4,sxsector4
rcyc,15,3,5,sxsector5
rcyc,16,3,6,sxsector6

ansol,4,64,epel,x,epelx1        ! EPELX at node 64
rcyc,17,4,1,epelxsector1
rcyc,18,4,2,epelxsector2
rcyc,19,4,3,epelxsector3
rcyc,20,4,4,epelxsector4
rcyc,21,4,5,epelxsector5
rcyc,22,4,6,epelxsector6

/show,png,rev
plvar,5,6,7,8,9,10
plvar,11,12,13,14,15,16
plvar,17,18,19,20,21,22
/show,close
finish

/post1
cycfiles,,rstp
set
cycspec,,64,u,z                 ! UZ at node 64
cycspec,,52,s,x                 ! SX at node 52
cycspec,,64,epel,3              ! EPEL3 at node 64
cycspec,,pressurenodes,s,1      ! max S1 in pressurenodes
cycspec,,64,epel,x              ! EPELX at node 64
cycspec,,52,s,eqv               ! SEQV at node 52
cycspec,,64,epel,eqv            ! EPELEQV at node 64
cycspec,,64,u,sum               ! USUM at node 64
cycspec,list

/out,
cyccalc                         ! Compute results from cyclic MSUP using the
                                !   specifications defined by CYCSPEC command

/out,scratch
/com,  Plot the frequeny response for the CYCSPEC specifications for all sectors
/show,png,rev

plcfreq,1
plcfreq,2
plcfreq,3
plcfreq,4
plcfreq,5
plcfreq,6
plcfreq,7
plcfreq,8

/com,  Plot the histogram of frequency response for each sector for given CYCSPEC specification

plchist,1,10
plchist,2,10
plchist,3,10
plchist,4,10
plchist,5,10
plchist,6,10
plchist,7,10
plchist,8,10

/show,close

*get,uz_10,cyccalc,1,freq,10,sector,3      ! Retrieve UZ CYCCALC result at set,1,10 for sector 3

*get,sx_10,cyccalc,2,freq,10,secmax        ! Retrieve SX maximum CYCCALC result at set,1,10

*get,epel3_10,cyccalc,3,freq,10,sector,1   ! Retrieve EPEL3 CYCCALC result at set,1,10 for sector 1

*get,s1_10,cyccalc,4,freq,10,secmax        ! Retrieve S1 maximum CYCCALC result at set,1,10

*get,s1_node,cyccalc,4,freq,10,secnode      ! Retrieve the node number at which maximum S1 CYCCALC result occur for set,1,10

*get,s1_sector,cyccalc,4,freq,10,secnum     ! Retrieve the sector number at which maximum S3 CYCCALC result occur for set,1,10

*get,epelx_10,cyccalc,5,freq,10,secmax     ! Retrieve EPELX maximum CYCCALC result at set,1,10

*get,seqv_10,cyccalc,6,freq,10,sector,4    ! Retrieve SEQV CYCCALC result at set,1,10 for sector 4

*get,epeleqv_10,cyccalc,7,freq,10,secmax   ! Retrieve EPELEQV maximum CYCCALC result at set,1,10

/out,
*stat,uz_10
*stat,sx_10
*stat,epel3_10
*stat,s1_10
*stat,s1_node
*stat,s1_sector
*stat,epelx_10
*stat,seqv_10
*stat,epeleqv_10
finish

5.4.4. Analysis Steps

The following table describes the input lines and the steps involved in the example mode-superposition harmonic cyclic symmetry analysis in detail.

StepStep DescriptionDescription
1.Build cyclic symmetry disc-blade model with temperature dependent material properties assigned to both the disc and blade

CYCLIC

MP

2.Mesh the volumes VMESH
3.Define bonded contact between disc and blade using CONTA174 and TARGE170 elements

ET

ESURF

4.Create components for blade elements and interface nodes between blade and disc CM
5.Define boundary conditions to constrain the inner radius of the disc D
6.Perform nonlinear static solve with thermal load and rotational velocity loading. Specify CYCOPT,MSUP,1 before the 1st static solve to generate files needed to perform downstream mode-superposition analysis

NLGEOM

CYCOPT

BF

OMEGA

7.Restart the nonlinear static analysis to perform linear perturbation modal analysis

ANTYPE,,RESTART

PERTURB

8.Perform modal solve using Block-Lanczos eigensolver

MODOPT,LANB

SOLVE

9.Restart modal analysis to define load vectors to be used in the downstream harmonic analysis

ANTYPE,MODAL,RESTART

F

10.Postprocess modal frequencies and plot the cyclic modal frequencies versus harmonic indices

/POST1

SET,LIST

PLZZ

11.Perform mode-superposition harmonic analysis for an excitation frequency range of 65 Hz - 85 Hz; request 20 harmonic solutions be calculated

ANTYPE,HARMONIC

HROPT,MSUP

HARFRQ

NSUBST

12.Specify the engine order of excitation CYCFREQ,EO,1
13.Scale the load vector from the modal solve LVSCALE
14.Define structural damping DMPSTR
15.Define the array to specify mistuning paramaters *DIM
16.Define blade information required for mistuning analysis CYCFREQ,BLADE
17.Define mistuning parameters CYCFREQ,MIST
18.Perform mode-superposition harmonic solve SOLVE
19.Specify the files to postprocess the cyclic symmetry mode-superposition harmonic analysis CYCFILES
20.Postprocess real set, imaginary set, amplitude, and phase sweep solution

SET

/CYCEXPAND

21.Enter time history postprocessing to calculate cyclic mode-superposition harmonic result for a specified node/element and sectors.

/POST26

NSOL

ANSOL

RCYC

22.Enter general postprocessing to calculate sector results

/POST1

CYCSPEC

CYCCALC

23.Plot the frequency response for the CYCSPEC specifications

PLCFREQ

PLCHIST

24.Repeat steps 17-23 with new mistuning values by restarting the cyclic mode-superposition harmonic analysis CYCFREQ,RESTART,MIST

The results of your analysis should match those shown below:

Figure 5.8: Contour Plot of Amplitude Displacement Solution Along Z at Frequency 75 Hz

Contour Plot of Amplitude Displacement Solution Along Z at Frequency 75 Hz

Figure 5.9: Contour Nodal Plot of Equivalent Stress Solution at Frequency 75 Hz

Contour Nodal Plot of Equivalent Stress Solution at Frequency 75 Hz

Figure 5.10: CYCSPEC Frequency Response for Displacement Sum at Node 64

CYCSPEC Frequency Response for Displacement Sum at Node 64

Figure 5.11: CYCSPEC Histogram Response for Displacement Sum at Node 64 at Frequency 75 Hz

CYCSPEC Histogram Response for Displacement Sum at Node 64 at Frequency 75 Hz

Figure 5.12: CYCSPEC Frequency Response for Displacement Sum at Node 64 After Restarting the Cyclic Mode-Superposition Harmonic Analysis with Different Mistuning Parameters

CYCSPEC Frequency Response for Displacement Sum at Node 64 After Restarting the Cyclic Mode-Superposition Harmonic Analysis with Different Mistuning Parameters

Figure 5.13: CYCSPEC Histogram Response for Displacement Sum at Node 64 at Frequency 75 Hz After Restarting the Cyclic Mode-Superposition Harmonic Analysis with Different Mistuning Parameters

CYCSPEC Histogram Response for Displacement Sum at Node 64 at Frequency 75 Hz After Restarting the Cyclic Mode-Superposition Harmonic Analysis with Different Mistuning Parameters