This example problem details the procedure to perform cyclic mode-superposition harmonic analysis with mistuning. The example presents a simplified bladed disc model.
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.
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
The following table describes the input lines and the steps involved in the example mode-superposition harmonic cyclic symmetry analysis in detail.
Step | Step Description | Description |
---|---|---|
1. | Build cyclic symmetry disc-blade model with temperature dependent material properties assigned to both the disc and blade | |
2. | Mesh the volumes | VMESH |
3. | Define bonded contact between disc and blade using CONTA174 and TARGE170 elements | |
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 | |
7. | Restart the nonlinear static analysis to perform linear perturbation modal analysis |
ANTYPE,,RESTART |
8. | Perform modal solve using Block-Lanczos eigensolver |
MODOPT,LANB |
9. | Restart modal analysis to define load vectors to be used in the downstream harmonic analysis |
ANTYPE,MODAL,RESTART |
10. | Postprocess modal frequencies and plot the cyclic modal frequencies versus harmonic indices |
SET,LIST |
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 |
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 | |
21. | Enter time history postprocessing to calculate cyclic mode-superposition harmonic result for a specified node/element and sectors. | |
22. | Enter general postprocessing to calculate sector results | |
23. | Plot the frequency response for the CYCSPEC specifications | |
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.12: 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