8.4. Example 4: Cyclic Spring-Mass System with Cubic Nonlinearity

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:

8.4.1. Problem Description

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.

Figure 8.13: Cyclic Spring-Mass Model

Cyclic Spring-Mass Model


Table 8.1: Model Parameters

Spring/damper locationStiffness value (106N/m)Damping value (N.s/m)
mass 1 – mass 22.01.3
mass 2 – mass 31.00.7
mass 3 – mass 440.026.7
mass 4 – mass 550.033.3
mass 1 – ground0.1 
mass 4 – ground0.60.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 harmonic01234567891011
Spacial harmonic0369129630369


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.

8.4.2. Input for the Analysis

To download the input 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 non-linearity 

!!! 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 
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 

 

!!! POSTPROCESSING 

*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 

8.4.3. Results

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.

Figure 8.14: Direct postprocessing of time harmonics 1 (top) and 3 (bottom)

Direct postprocessing of time harmonics 1 (top) and 3 (bottom)
Direct postprocessing of time harmonics 1 (top) and 3 (bottom)

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.15: Multi harmonic response in frequency domain

Multi harmonic response in frequency domain

Figure 8.16: Multi harmonic response in time domain at f =225.615 Hz in sector 1 (top) and 3 (bottom)

Multi harmonic response in time domain at f =225.615 Hz in sector 1 (top) and 3 (bottom)
Multi harmonic response in time domain at f =225.615 Hz in sector 1 (top) and 3 (bottom)