This example shows the nonlinear harmonic analysis of the cyclic sector of a bladed disk modeled with springs and masses. Specifically, it illustrates the following key points of the HBM cyclic procedure:
CMS generation of single stage cyclic superelements
Postprocessing
Use of HBM cyclic macros.
The example problem is presented in the following sections:
A bladed disk consisting of N=24 sectors is modeled by a single cyclically symmetric sector made up of a set of linear springs, dampers, and masses as represented in the following figure. A cubic spring of stiffness 2x109N/m3 is linked to the blade tip mass to represent the geometrically nonlinear behavior of the blade. All other parameters of the geometry are provided in Table 8.1: Model Parameters.
Table 8.1: Model Parameters
Spring/damper location | Stiffness value (106N/m) | Damping value (N.s/m) |
mass 1 – mass 2 | 2.0 | 1.3 |
mass 2 – mass 3 | 1.0 | 0.7 |
mass 3 – mass 4 | 40.0 | 26.7 |
mass 4 – mass 5 | 50.0 | 33.3 |
mass 1 – ground | 0.1 | |
mass 4 – ground | 0.6 | 0.4 |
The structure is excited by an engine order EO=3 harmonic force applied at the tip of the blade. The response on the frequency range [215, 230] Hz is studied using the HBM cyclic symmetry procedure with NH=11 time harmonics.
Single Stage Cyclic Superelements Generation
As part of the HBM cyclic procedure, the linear part of the cyclic sector is
reduced to a set of single stage cyclic superelements by combining multistage cyclic
symmetry and CMS procedures. Two master (M) nodes are defined,
the blade tip node and cubic spring grounded node. Three modes are specified
(NMODE
= 3 on CMSOPT) for the primary
stage superelement (six modes for higher harmonics).
A single stage cyclic superelement is generated for each of the unique spatial harmonic indices described in the following table as well as for the primary stage using the HBMCYCHIGET and HBMCYCSEGEN macros.
Table 8.2: Spatial/Time Harmonic Connection for N=24, EO=3 and NH=11
Time harmonic | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
Spacial harmonic | 0 | 3 | 6 | 9 | 12 | 9 | 6 | 3 | 0 | 3 | 6 | 9 |
HBM Cyclic Use Pass Analysis
All necessary time harmonic superelements are imported in the use pass using the HBMCYCHIGET and HBMCYCSEIMPORT macros. The cubic spring (USER300 with KEYOPT(2) = 1) is defined between the primary stage master nodes. Note that there is no cubic spring defined on the other stage superelements.
Time harmonic 1 load is defined in one of the two alternate ways described in the HBM cyclic symmetry procedure. The boundary conditions are applied on the primary stage. They are internally duplicated on higher harmonic stages during solve.
To download the .dat file used for this example, click the following link:
The contents of this file are listed below. The command listing shows in detail how to specify and run the HBM cyclic analysis. You can use it as a template and modify it to create a custom HBM analysis.
/title, Cyclic spring-mass system with cubic nonlinearity !!! PARAMETERS pi = acos(-1) ! structural masses m1 = 0.2 m2 = 0.3 m3 = 0.4 m4 = 1.2 m5 = 1.2 ! linear springs stiffness k1g = 0.1e6 k12 = 2e6 k23 = 1e6 k34 = 40e6 k45 = 50e6 k4g = 0.6e6 ! linear dampers coefficient c1g = 0 c12 = 1.3 c23 = 0.7 c34 = 26.7 c45 = 33.3 c4g = 0.4 ! cubic stiffness knl = 2e9 ! excitation EO = 3 ! engine order Fext = 25.0 ! amplitude ! cyclic parameters Nsec = 24 alpSec = 360/Nsec HI = EO ! HBM parameters NH = 11 fmin = 215 ! starting frequency fmax = 230 ! ending frequency ds = 15.0 parsav,all,hbm_cyclic,parm !!! LINEAR MODEL /prep7 csys,0 ! element type et,1,21 keyo,1,3,2 r,1,m1 r,2,m2 r,3,m3 r,4,m4 r,5,m5 et,10,combin14 keyo,10,2,3 r,10,k1g,c1g r,40,k4g,c4g r,12,k12,c12 r,23,k23,c23 r,34,k34,c34 r,45,k45,c45 r,90,k45*2,c45*2 ! mesh n,1 ,0 ,4 ! mass 1 n,2 ,0 ,3 ! mass 2 n,3 ,0 ,2 ! mass 3 n,4 ,0 ,1 ! mass 4 n,5 ,tan(alpSec/2*pi/180)/2,1 ! mass 5 n,10 , tan(alpSec/2*pi/180),1 ! low edge n,11 ,-tan(alpSec/2*pi/180),1 ! high edge n,21,0,4 ! BC node 1 n,24,0,1 ! BC node 2 type,1 ! masses *do,ii,1,5 real,ii e,ii *enddo type,10 ! spring dampers real,10 ! mass-ground springs e,1,21 real,40 e,4,24 real,12 ! mass-mass spring e,1,2 real,23 e,2,3 real,34 e,3,4 real,45 e,4,5 real,90 ! low/high edge spring e,10,5 e,4,11 ! multistage components nsel,all esel,all cm,_stage_base_nod,node cm,_stage_base_elm,elem ! master nodes (base only, duplicate nodes will be automatically included ! in the component upon duplication) nsel,s,node,,1 nsel,a,node,,21 cm,nl_node,node allsel ! boundary conditions d,all,ux ! 1D d,all,uy ! 1D d,24,uz ! stage duplication MSDUPL,'stage' ! multistage constraint equations definition nsel,s,node,,10 cmsel,r,_stage_base_nod cm,_stage_cyclow_nod,node allsel nsel,s,node,,11 cmsel,r,_stage_base_nod cm,_stage_cychigh_nod,node allsel ! create stage msopt,new,stage,Nsec,0 cecycms ! create master nodes cmsel,s,nl_node m,all,uz allsel finish !!! GENERATION PASS Sname = 'stage' ! stage name Nmode = 3 ! number of CMS modes for primary stage HBMCYCHIGET,Nsec,EO,NH,'GEN' ! compute necessary spatial harmonic index for HBM use pass HBMCYCSEGEN,Sname,Nmode ! generate the associated multistage superelements !!! USE PASS /clear,nostart /filname,use parres,change,hbm_cyclic,parm Sname = 'stage' ! stage name HBMCYCHIGET,Nsec,EO,NH,'USE' ! compute the spatial harmonic index for each time harmonic HBMCYCSEIMPORT,Sname,HIname ! import the associate multistage superelements /prep7 ! create nonlinear elements connected to the primary stage et,100,300 keyopt,100,1,2 type,100 usrelem,2,3,line,5,0,2,3 usrdof,define,uz r,100,,knl,3 type,100 real,100 e,1,21 finish /solu antype,harmonic hropt,hbm,NH harfrq,fmin,fmax ! HBM cyclic options keywd,beta,1 hbmopt,cyclic,1,EO,stage ! other HBM options hbmopt,contset,,ds,ds/50,ds*5 uscal = 5e-3*3 fscal = 2*pi*fmin hbmopt,scal,valu,uscal,fscal ! boundary conditions on primary stage nodes ! (automatically duplicated for higher harmonic stages) d,21,uz !!! loading (harmonic 1) - two methods (comment out one of the two) hload = 1 ! load time harmonic ndload = 1 ! load node number kbc,1 ! method 1 - loading on primary stage *dim, Fz_eo,table,NH+1,,,NHINDEX *vfill,Fz_eo(1,0) ,ramp,0,1 *vfill,Fz_eo(hload+1,1),data,Fext f,ndload,fz,%Fz_eo% ! ! method 2 - loading on stage of interest ! HBMCYCMAPGET,ndload,NH ! get mapping of node 1 on all stages ! f,NODMAPARRAY(2*hload) ,fz,Fext,0 ! Fbase = Fext ! f,NODMAPARRAY(2*hload+1),fz,0 ,-Fext ! Fdupl = -i*Fbase (for positive engine order) solve finish !!! POST-PROCESSING *get,jobn,active,,jobnam /post26 numvar,200 ! compute node mapping ndpost = 1 HBMCYCMAPGET,ndpost,NH !!! time harmonic 1 results hh=1 *get,jobn,active,,jobnam file,%jobn%_%hh%hi0,rst nsol, 10+hh,NODMAParray(2*hh),u,z,harmonic1 prcplx,1 /gmarker,,4 /xrange,Fmin,Fmax /axlab,x,Frequency (Hz) /axlab,y,Harmonic amplitude (m) /gropt,divx,5 /gropt,divy,8 /plopts,logo,off /show,png,rev,,,plot_harmonic1 plvar,11 /show,close !!! time harmonic 3 results hh=3 *get,jobn,active,,jobnam file,%jobn%_%hh%hi0,rst nsol, 10+hh,NODMAParray(2*hh),u,z,harmonic3 /show,png,rev,,,plot_harmonic3 plvar,13 /show,close finish !!! Sector 1 results sector = 1 ndpost = 1 HBMCYCMAPGET,ndpost,NH HBMCYCHIGET,Nsec,EO,NH,'expa' HBMCYCEXPAND,jobn,'U','Z',Nsec,NH,sector,'minmax',12 /axlab,x,Frequency (Hz) /axlab,y,Multiharmonic amplitude (m) /gcolum,1,sector1 /show,png,rev,,,plot_amplitude_sec1 *vplot,_hbm_freq(1),_hbm_ampl(1) /show,close /gmarker /xrange /yrange,-6e-3,6e-3 /gropt,divy,6 /show,png,rev,,,plot_timeresponse_sec1 *vplot,_hbm_time(1,1),_hbm_time(1,2) /show,close !!! Sector 3 results sector = 3 ndpost = 1 HBMCYCMAPGET,ndpost,NH HBMCYCHIGET,Nsec,EO,NH,'expa' HBMCYCEXPAND,jobn,'U','Z',Nsec,NH,sector,'minmax',12 /gmarker /axlab,x,Time (s) /axlab,y,Multiharmonic amplitude (m) /gcolum,1,sector3 /show,png,rev,,,plot_timeresponse_sec3 *vplot,_hbm_time(1,1),_hbm_time(1,2) /show,close
The results can be postprocessed in two ways, as shown below.
Direct postprocessing of the results for each harmonic can be carried out separately by reading the proper result file (Jobname_0.rst for harmonic 0, Jobname_%h%HI0 for harmonic, h where Jobname is that from the use pass) in both /POST1 and /POST26. Special care is needed to select the nodes for which results are stored: to read results of harmonic h, select nodes belonging to Sname_NH_%h% superelement. This is done here using the HBMCYCMAPGET macro.
Postprocessing of the sum of the harmonics can be done manually or using the HBMCYCEXPAND macro to get the time response at a given frequency or the total amplitude or phase as a function of the frequency.
Figure 8.16: Multi harmonic response in time domain at f =225.615 Hz in sector 1 (top) and 3 (bottom)