This example shows the nonlinear harmonic analysis of a cyclic sector of a bladed disk with shrouded tip frictional contact. Specifically, it illustrates the following key points:
CMS generation of prestressed single stage cyclic superelements for an HBM cyclic analysis.
HBM cyclic analysis with an initial solution vector from a static analysis and frictional contact.
Postprocessing of an HBM cyclic analysis.
HBM cyclic macros usage.
The example problem is presented in the following sections:
A simplified geometry of a single sector of a shrouded bladed disk made up of N=24 sectors is modeled as shown in Figure 8.17: Sector model with solid elements and frictional contact. A frictional contact with friction coefficient μ =0.05 is defined inside the sector on the shroud part. The whole structure is prestressed with a rotational velocity of 50 rad/s and a body load temperature of 800°C. An artificial static pressure is applied on each side of the contact surface to account for the normal load. On a more realistic model, the normal pressure would come from prestress loads. A negative engine order EO = -2 harmonic pressure is applied on the blades.
The response of the structure over a frequency range [30, 40] Hz is studied using the HBM cyclic procedure with three time harmonics.
Prestressed single stage cyclic superelements generation
A prestressed single stage cyclic superelement is created from the cyclic sector using the linear perturbation procedure (see General Procedure for Linear Perturbation Analysis in the Structural Analysis Guide). The prestress loads are applied in a static analysis using harmonic index 0 cyclic constraints. This step is followed by a perturbed substructuring restart in which the cyclic constraints are modified, depending on the desired harmonic index (MSOPT,MODIFY). For the substructuring analysis, the master nodes are defined at the frictional contact interface and at the center of the blade. Three modes are specified for the primary stage superelement (six modes for higher harmonics). The frictional contact elements are unselected before the solve to keep only linear elements inside the substructures.
A single stage cyclic superelement is generated for each of the unique spatial harmonic indices listed in Table 8.3: Spatial/time harmonic relationship for N = 24, EO = 2, and NH = 3. and computed using the HBMCYCHIGET macro. The template for generating each single stage superelement is based on the HBMCYCSEGEN macro (which is not directly used here to allow multiple load vectors generation).
Superelement load vectors (Applying Loads and Creating the Superelement Matrices in the Substructuring Analysis Guide) are generated for harmonic index 0 and harmonic index 2 stages to enable application of the static pressure and the harmonic 1 blade pressure (see Table 8.3: Spatial/time harmonic relationship for N = 24, EO = 2, and NH = 3.).
Table 8.3: Spatial/time harmonic relationship for N = 24, EO = 2, and NH = 3.
Time harmonic (NH) | 0 | 1 | 2 | 3 |
Spatial harmonic | 0 | 2 | 4 | 6 |
All necessary time harmonic superelements are imported in the use pass using the HBMCYCHIGET and HBMCYCSEIMPORT macros. The nonlinear contact elements (CONTA178) are imported as well using EWRITE / EREAD commands.
A static analysis is carried out to apply the static pressure. The static solution is then used as an initial solution vector in the initial substep of the HBM analysis. Load vectors defined in the generation pass are applied to the corresponding stage superelements following the procedure described in HBM cyclic symmetry procedure.
Only backward or forward traveling wave excitations are considered in HBM cyclic analyses. The traveling direction depends on the fundamental engine order (engine order EO as applied with HBMOPT,CYCLIC,,EO command) and the time harmonic of the excitation. The sign can be determined using HBMCYCHIGET,,,,’EXPA’ macro (see Input for the Analysis). The load must be applied accordingly using the following principle (see Engine Order Loading in the Multistage Cyclic Symmetry Analysis Guide):
For a positive engine order and a base sector force Fbase = Freal + i*Fimag, apply a duplicate sector force Fdupl = -i*Fbase = Fimag – i*Freal
For a negative engine order and a base sector force Fbase = Freal + i*Fimag, apply a duplicate sector force Fdupl = +i*Fbase = -Fimag + i*Freal
A synthesis of the loading process for this example is provided in the folllowing table. For more information on engine order loading in a single stage cyclic model, see 4.3.2.2: Harmonic Traveling Wave LoadHarmonic Traveling Wave Load in the Multistage Cyclic Symmetry Analysis Guide.
To download the files used for this example problem, click the links below.
The content of the input file is 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, HBM cyclic model with solid elements and frictional contact cdread,db,hbm_example5,cdb /PREP7 csys,1 !!! multistage components nsel,all esel,all cm,_stage1_base_nod,node cm,_stage1_base_elm,elem !!! boundary conditions cmsel,s,bc_fixed d,all,all nsel,all !!! stage duplication MSDUPL,'stage1' !!! node rotation csys,1 nrotat,all !!! update frictional contact node coordinate system esel,s,type,,10 nsle csys,21 nrotat,all allsel !!! write contact elements (base sector only) cmsel,s,_stage1_base_elm esel,r,type,,10 ewrite,contact,elem allsel !!! multistage cyclic constraint equations csys,1 cmsel,s,_stage1_base_nod nsel,r,loc,y,thlow cm,_stage1_cyclow_nod,node allsel cmsel,s,_stage1_base_nod nsel,r,loc,y,thhigh cm,_stage1_cychigh_nod,node allsel msopt,new,stage1,Nsec,0 cecycms !!! master nodes = blade shroud + center of blade cmsel,s,blade_shroud cmsel,a,blade_center m,all,all allsel !!! component for generation cmsel,s,_stage1_base_elm cmsel,a,_stage1_dupl_elm esel,u,type,,10 cm,generation_elem,elem allsel /vup,,z /view,,-1,-1,1 /plopts,logo,off /pbc,u,,1 /pbc,mast,,1 esel,s,enam,,185 esel,a,enam,,170 esel,a,enam,,174 /trlcy,elem,1.0 allsel /an3d,text,4.2,0.9,-0.2,'Frictional contact' /an3d,text,2.4,-0.25,0.1,'Node for response plot' /show,png,rev,,,plot_mesh eplot /show,close /anno,dele FINISH /com ------------------------------------------------------ /com --- PRESTRESS STATIC SOLVE --- /com ------------------------------------------------------ /filname,stage1 /solu antype,static nlgeom,on rescontrol,define,last,last nsubst,2,2,2 ! load step 1 - body load temperature tref,0 bf,all,temp,800 solve ! load step 2 - rotational velocity omega,,,50 solve finish /post1 msopt,expa,all,all set,last /view,,1,1,1 /show,png,rev,,,plot_static plnsol,u,sum /show,close finish save /com ------------------------------------------------------ /com --- PRESTRESSED SUBSTRUCTURE GENERATION --- /com ------------------------------------------------------ /filname,stage1 Sname = 'stage1' ! stage name Nmode = 3 ! number of CMS modes for primary stage (x2 for higher harmonics) HBMCYCHIGET,Nsec,EO,NH,'GEN' parsav,all,gen,parm /com ------------------------------------------------------ /com --- Primary stage generation (HI=0 - no duplicate) --- /com ------------------------------------------------------ /clear,nostart /filname,stage1 resume /solu antype,static,restart,,,perturb perturb,substructure,,,dzerokeep solve,elform parres,change,gen,parm HI=0 ! CMS parameters seopt,stage1_HI%HI%,3,,,,,,ON ! use SE name for files cmsopt,fix,Nmode ! Nmode for primary stage ! Update MS HI msopt,modify,stage1,HI cecycms !!! Static load vector cmsel,s,friction_node_low cmsel,r,_stage1_base_nod sf,all,pres,-1e8 allsel cmsel,s,friction_node_high cmsel,r,_stage1_base_nod sf,all,pres,-1e8 allsel cmsel,s,_stage1_base_nod cmsel,s,generation_elem cmsel,r,_stage1_base_elm solve allsel finish save,stage1_HI%HI%,db /com ------------------------------------------------------ /com --- Higher harmonic stage generation (HI=2) --- /com ------------------------------------------------------ /clear,nostart /filname,stage1 resume /solu antype,static,restart,,,perturb perturb,substructure,,,dzerokeep solve,elform parres,change,gen,parm HI=2 ! CMS parameters seopt,stage1_HI%HI%,3,,,,,,ON ! use SE name for files cmsopt,fix,2*Nmode ! 2*Nmode for non-primary stage ! Update MS HI msopt,modify,stage1,HI cecycms ! LV 1 - harmonic loading (base sector) cmsel,s,blade_pressure cmsel,r,_stage1_base_nod sf,all,pres,1.0 allsel cmsel,s,generation_elem solve allsel ! LV 2 - harmonic loading (duplicate sector) sfdele,all,all cmsel,s,blade_pressure cmsel,r,_stage1_dupl_nod sf,all,pres,1.0 allsel cmsel,s,generation_elem solve allsel finish save,stage1_HI%HI%,db /com ------------------------------------------------------ /com --- Higher harmonic stage generation (HI=4) --- /com ------------------------------------------------------ /clear,nostart /filname,stage1 resume /solu antype,static,restart,,,perturb perturb,substructure,,,dzerokeep solve,elform parres,change,gen,parm HI=4 ! CMS parameters seopt,stage1_HI%HI%,3,,,,,,ON ! use SE name for files cmsopt,fix,2*Nmode ! 2*Nmode for non-primary stage ! Update MS HI msopt,modify,stage1,HI cecycms cmsel,s,generation_elem solve allsel finish save,stage1_HI%HI%,db /com ------------------------------------------------------ /com --- Higher harmonic stage generation (HI=6) --- /com ------------------------------------------------------ /clear,nostart /filname,stage1 resume /solu antype,static,restart,,,perturb perturb,substructure,,,dzerokeep solve,elform parres,change,gen,parm HI=6 ! CMS parameters seopt,stage1_HI%HI%,3,,,,,,ON ! use SE name for files cmsopt,fix,2*Nmode ! 2*Nmode for non-primary stage ! Update MS HI msopt,modify,stage1,HI cecycms cmsel,s,generation_elem solve allsel finish save,stage1_HI%HI%,db /com ------------------------------------------------------ /com --- STATIC USE PASS (INITIAL SOLUTION) --- /com ------------------------------------------------------ /clear,nostart /filname,use_static parres,change,hbm_example5,parm Sname = 'stage1' ! stage name HBMCYCHIGET,Nsec,EO,NH,'USE' HBMCYCSEIMPORT,Sname /prep7 csys,1 ! create NL contact et,10,178 keyopt,10,1 ,0 ! unidirectional keyopt,10,2 ,1 ! penalty-based method keyopt,10,4 ,1 ! ignore node location keyopt,10,5 ,4 ! X-direction of element cs keyopt,10,10,0 ! standard contact r,10,-KN,,,-KT mp,mu,10,mu type,10 real,10 mat ,10 eread,contact,elem ! update element coordinate system local,12,0 ,0,0,0 ,90+alpSec/2 csys,1 esel,s,enam,,178 emodif,all,esys,12 emodif,all,real,10 allsel finish /SOLU antype,static !!! loading kbc,1 hload = 0 ! load time harmonic hlv = 1 ! load vector number sfe,hload+1,hlv,selv,0,1.0 solve FINISH save /post1 set,last presol,cont finish /com ------------------------------------------------------ /com --- HBM USE PASS WITH INITIAL SOLUTION --- /com ------------------------------------------------------ /clear,nostart /filname,use resume,use_static,db !!! read initial solution vector ! read harmonic 0 solution (real) jobn='use_static' *VEC,u0,D,IMPORT,RST,%jobn%.rst,1,,NSL uDim = u0_Dim ! size of the single harmonic solution vector umhDim = uDim*(1+2*NH) ! size of the multiharmonic solution vector ! fill multiharmonic vector with harmonic 0 solution *DIM,umh,ARRAY,umhDim *DO,i,1,uDim umh(i) = u0(i) *ENDDO ! read the mapping *xpl,open,%jobn%.rst *xpl,read,nod,BackVecI *xpl,close *vec,BackVecD,D,copy,BackVecI *export,BackVecD,apdl,UserBack /SOLU antype,harmic hropt,hbm,NH harfrq,Fmin,Fmax !!! HBM cyclic options hbmopt,cyclic,on,EO,stage1 !!! other HBM options hbmopt,contset,,ds hbmopt,contterm,200 hbmopt,scal,valu,60*1e-4,2*pi*(Fmin+Fmax)/2 hbmopt,uinit,APDL,umh,INT,UserBack hbmopt,aft,2 !!! loading kbc,1 ! static load h_load1 = 0 ! time harmonic lv_load1 = 1 ! load vector number sfe,h_load1+1,lv_load1,selv,0,1.0 ! harmonic load - base sector loading - Fbase = FT1real + i*FT1imag h_load2 = 1 ! load time harmonic lv_load2 = 1 ! load vector number sfe,h_load2+1,lv_load2,selv,0, FT1real sfe,h_load2+1,lv_load2,selv,2, FT1imag ! harmonic load - duplicate sector loading HBMCYCHIGET,Nsec,EO,NH,'expa' h_load3 = 1 ! load time harmonic lv_load3 = 2 ! load vector number EOalias = HBMCYCHIARRAY(h_load3+1) ! aliased EO value for h_load3 time harmonic *if,EOalias,lt,0,then sfe,h_load3+1,lv_load3,selv,0,-FT1imag ! for EOalias<0: Fdupl = i*Fbase sfe,h_load3+1,lv_load3,selv,2, FT1real *else sfe,h_load3+1,lv_load3,selv,0, FT1imag ! for EOalias>=0: Fdupl = -i*Fbase sfe,h_load3+1,lv_load3,selv,2,-FT1real *endif !!! global damping betad,1e-5 solve FINISH /com ------------------------------------------------------ /com --- POST-PROCESSING --- /com ------------------------------------------------------ ! primary stage node for post-processing esel,s,type,,1 nsle nd_cent = node(0.995*Rext+Lb/2,0,0) allsel ! post-process the transient amplitude (sum of time harmonics) sector = 1 ndpost = nd_cent *get,jobn,active,,jobnam 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 /gmarker,,4 /xrange,Fmin,Fmax /show,png,rev,,,plot_amplitude_sec1 *vplot,_hbm_freq(1),_hbm_ampl(1) /show,close *vwrite,_hbm_freq(1),_hbm_ampl(1) (F8.2,2X,E16.8) *get,Nss,parm,_hbm_freq,dim,x *dim,hbm_harm_ampl,table,Nss,NH+1 *do,ii,1,Nss hbm_harm_ampl(ii,1) = _hbm_coeff(ii,1) hbm_harm_ampl(ii,2) = sqrt(_hbm_coeff(ii,2)**2+_hbm_coeff(ii,3)**2) hbm_harm_ampl(ii,3) = sqrt(_hbm_coeff(ii,4)**2+_hbm_coeff(ii,5)**2) hbm_harm_ampl(ii,4) = sqrt(_hbm_coeff(ii,6)**2+_hbm_coeff(ii,7)**2) *enddo /axlab,x,Frequency (Hz) /axlab,y,Time harmonics amplitude (m) /gcolum,1,h0 /gcolum,2,h1 /gcolum,3,h2 /gcolum,4,h3 /gmarker,1,4 /gmarker,2,4 /gmarker,3,4 /gmarker,4,4 /xrange,Fmin,Fmax /show,png,rev,,,plot_harm_sec1 *vplot,_hbm_freq(1),hbm_harm_ampl(1,1),2,3,4 /show,close /exit,nosave
The displacement in the whole structure at the end of the prestress step are displayed in the following figure.
Post-processing of the HBM cyclic symmetry analysis is performed using the HBMCYCEXPAND macro. The amplitude of each time harmonic is plotted on figure Figure 8.19: Amplitude of time harmonics at the center of the blade. The amplitude of the sum of all harmonics is displayed on figure Figure 8.20: Multi-harmonic response amplitude at the center of the blade along with the linear reference cases (bonded and open contact). It illustrates the damping due to the frictional effect (lower peak amplitude) as well as the softening effect (shift of the peak toward a lower frequency).