7.5. Example: Multiharmonic Linear Perturbation Modal Analysis of a Simplified Model with 3 Axial Stages

This example uses multiple stage clones to create a multiharmonic multistage system, which is used to perform a linear perturbation modal analysis. Specifically, it demonstrates the following key points:

  • Including additional meshes to the database for stage clones.

  • Creating stage clones.

  • Applying interstage constraints to all stages and stage clones.

  • Performing a static analysis of a multistage system followed by a linear perturbation analysis.

  • Modeling an axial multistage system.

  • Modifying stage constraints (harmonic indices).

7.5.1. Problem Description

The multistage system consists of three axially aligned cyclic stages. Because multiple harmonics participate in the solution, stage clones are needed for each physical stage. The three physical sector stages are shown in Figure 7.25: Multistage Model with Two Axially Oriented Stages. Stage 1 has 8 sectors, Stage 2 has 16 sectors, and Stage 3 has 8 sectors. This system is fundamentally cyclically symmetric. By creating a smaller sector angle for Stage 2, we can demonstrate the multiharmonic procedure while recovering familiar cyclic symmetry results.

For the base step in a linear perturbation multiharmonic multistage analysis, you must create a number of HI = 0 stage clones for each physical stage that is equal to the maximum number of stage clones included for any physical stage in the linear perturbation step. Not all stage clones will be used in the linear perturbation modal step, but they are required in the static analysis base step.

After the static analysis is run, the linear perturbation modal analysis is run for a fundamental harmonic index 0.

Figure 7.25: Multistage Model with Two Axially Oriented Stages

Multistage Model with Two Axially Oriented Stages


7.5.2. Analysis Steps

The following table describes the key steps and related commands used for the example analysis. See Input for the Analysis for the detailed command listing.

Step Description Mechanical APDL commands
1.Read in stage meshes for base and duplicate sectors.CDREAD,…
2.Create static analysis (HI = 0) stage clones. CDREAD,…
3.Create stage components for original stage and stage clones.CM,...
4.Create stage (HI = 0) for original stage and stage clones.

MSOPT,NEW,…

CECYCMS

5.Apply interstage constraints for all stage connections.CEIMS,…
6.Enter the solution processor./SOLU
7.Specify static analysis options.

ANTYPE,STATIC

RESCONTROL,LINEAR

8.Apply rotational load.CMOMEGA,…
9.Apply boundary conditions.D,…
10.Solve the analysis.SOLVE
11.Exit and reenter the solution processor.

FINISH

/SOLU

12.Perform static restart and reform matrices.

ANTYPE,STATIC,RESTART,,,PERTURB

PERTURB,MODAL

SOLVE,ELFORM

13.Specify modal options.

MODOPT,…

MXPAND,…

14.Modify used stages and delete unused stage clones.

MSOPT,MODIFY

MSOPT,DELE

CECYCMS

15.Apply interstage constraints for desired stages and stage clones.CEIMS
16.Solve the analysis.SOLVE
17.Post process the multistage results for all harmonics.

/POST1

MSOPT,EXPA,ALL,…

SET,…

18.Generate contour plot.PLNSOL,…

7.5.3. Input for the Analysis

Download the zipped .cdb file used for this example problem.

/batch
/com *************************************************************
/com *****    Case 1: Multistage Multiharmonic Model      ********
/com *************************************************************
! Read in the stages and stage clones for static case
cdread,db,multiH_Stage3,cdb 
cdread,db,multiH_Stage3,cdb 
cdread,db,multiH_Stage2,cdb 
cdread,db,multiH_Stage2,cdb
cdread,db,multiH_Stage1,cdb
cdread,db,multiH_Stage1,cdb  

/prep7
csys,1
! create components for stage 1
esel,s,type,,1
cm, stage_1_ELEM, ELEM
nsle
cm, stage_1_NOD, NODE
allsel
ESEL,,TYPE,,1
NSLE
NSEL,R,LOC,Y,0
CM,stage_1_LOW,NODE
ESEL,,TYPE,,1
NSLE
NSEL,R,LOC,Y,45
CM,stage_1_HIGH,NODE
ALLSEL
msopt,new, stage1, 8, 0,stage_1_ELEM,stage_1_NOD
CECYCMS,stage_1_LOW,stage_1_HIGH

! create components for stage 1B
esel,s,type,,2
cm, stage_1B_ELEM, ELEM
nsle
cm, stage_1B_NOD, NODE
allsel
ESEL,,TYPE,,2
NSLE
NSEL,R,LOC,Y,0
CM,stage_1B_LOW,NODE
ESEL,,TYPE,,2
NSLE
NSEL,R,LOC,Y,45
CM,stage_1B_HIGH,NODE
ALLSEL
msopt,new, stage1B, 8, 0,stage_1B_ELEM,stage_1B_NOD,,,stage1
CECYCMS,stage_1B_LOW,stage_1B_HIGH

! create components for stage 2
esel,s,type,,3
cm, stage_2_ELEM, ELEM
nsle
cm, stage_2_NOD, NODE
allsel
ESEL,,TYPE,,3
NSLE
NSEL,R,LOC,Y,0
CM,stage_2_LOW,NODE
ESEL,,TYPE,,3
NSLE
NSEL,R,LOC,Y,22.5
CM,stage_2_HIGH,NODE
ALLSEL
msopt,new, stage2, 16, 0,stage_2_ELEM,stage_2_NOD
CECYCMS,stage_2_LOW,stage_2_HIGH

! create components for stage 2B
esel,s,type,,4
cm, stage_2B_ELEM, ELEM
nsle
cm, stage_2B_NOD, NODE
allsel
ESEL,,TYPE,,4
NSLE
NSEL,R,LOC,Y,0
CM,stage_2B_LOW,NODE
ESEL,,TYPE,,4
NSLE
NSEL,R,LOC,Y,22.5
CM,stage_2B_HIGH,NODE
ALLSEL
msopt,new, stage2B, 16, 0,stage_2B_ELEM,stage_2B_NOD,,,stage2
CECYCMS,stage_2B_LOW,stage_2B_HIGH,,on

! create components for stage 3
esel,s,type,,5
cm, stage_3_ELEM, ELEM
nsle
cm, stage_3_NOD, NODE
allsel
ESEL,,TYPE,,5
NSLE
NSEL,R,LOC,Y,0
CM,stage_3_LOW,NODE
ESEL,,TYPE,,5
NSLE
NSEL,R,LOC,Y,45
CM,stage_3_HIGH,NODE
ALLSEL
msopt,new, stage3, 8, 0,stage_3_ELEM,stage_3_NOD
CECYCMS,stage_3_LOW,stage_3_HIGH,,on

! create components for stage 3B
esel,s,type,,6
cm, stage_3B_ELEM, ELEM
nsle
cm, stage_3B_NOD, NODE
allsel
ESEL,,TYPE,,6
NSLE
NSEL,R,LOC,Y,0
CM,stage_3B_LOW,NODE
ESEL,,TYPE,,6
NSLE
NSEL,R,LOC,Y,45
CM,stage_3B_HIGH,NODE
ALLSEL
msopt,new, stage3B, 8, 0,stage_3B_ELEM,stage_3B_NOD,,,stage3
CECYCMS,stage_3B_LOW,stage_3B_HIGH,,on

! Apply MS CEs - stage 1 <=> stage 2
ESEL,,TYPE,,1
NSLE
NSEL,R,LOC,Z,0.50
CM,INT_Stage1_NODE,NODE
NSEL,,LOC,Z,0.50
ESLN
ESEL,R,TYPE,,3
CM,INT_Stage2_ELEM,ELEM
ALLSEL
CMSEL,,INT_Stage1_NODE
CMSEL,,INT_Stage2_ELEM
CEIMS,,,stage1,stage2
ALLSEL

! Apply MS CEs - stage 1B <=> stage 2B
ESEL,,TYPE,,2
NSLE
NSEL,R,LOC,Z,0.50
CM,INT_Stage1B_NODE,NODE
NSEL,,LOC,Z,0.50
ESLN
ESEL,R,TYPE,,4
CM,INT_Stage2B_ELEM,ELEM
ALLSEL
CMSEL,,INT_Stage1B_NODE
CMSEL,,INT_Stage2B_ELEM
CEIMS,,,stage1B,stage2B
ALLSEL

! Apply MS CEs - stage 3 <=> stage 3
ESEL,,TYPE,,5
NSLE
NSEL,R,LOC,Z,1
CM,INT_Stage2S_NODE,NODE
NSEL,,LOC,Z,1
ESLN
ESEL,R,TYPE,,3
CM,INT_Stage3_ELEM,ELEM
ALLSEL
CMSEL,,INT_Stage2S_NODE
CMSEL,,INT_Stage3_ELEM
CEIMS,,,stage3,stage2
ALLSEL

! Apply MS CEs - stage 3B <=> stage 2B
ESEL,,TYPE,,6
NSLE
NSEL,R,LOC,Z,1
CM,INT_Stage2SB_NODE,NODE
NSEL,,LOC,Z,1
ESLN
ESEL,R,TYPE,,4
CM,INT_Stage3B_ELEM,ELEM
ALLSEL
CMSEL,,INT_Stage2SB_NODE
CMSEL,,INT_Stage3B_ELEM
CEIMS,,,stage3B,stage2B
ALLSEL

! Static base step
/solu
antype,static
rescontrol,linear

csys,1
allsel
! Rotational loading
cm,rotation,elem
cmomega,rotation,,,2500
allsel
! BC
nsel,s,loc,Z,0
nsel,a,loc,Z,1.5
d,all,all
allsel

solve
finish

! LP Modal step
/solu
antype,,restart,,,perturb 
perturb,modal
solve,elform
modopt,lanb,30
mxpand,30,,,yes

! modify HIs - CEs are deleted
msopt,modify,stage1,0
cecycms
msopt,delete,stage1B     
msopt,modify,stage2,0
cecycms
msopt,modify,stage2B,8
cecycms
msopt,modify,stage3,0
cecycms
msopt,delete,stage3B 


ESEL,,TYPE,,1
NSLE
NSEL,R,LOC,Z,0.5
CM,CM_INTF1_NODE,NODE
NSEL,,LOC,Z,0.5
ESLN
ESEL,R,TYPE,,3
CM,CM_INTF2_1_ELEM,ELEM
ALLSEL
CMSEL,,CM_INTF1_NODE
CMSEL,,CM_INTF2_1_ELEM
CEIMS,,ALL, stage1, stage2
ALLSEL

NSEL,,LOC,Z,0.5
ESLN
ESEL,R,TYPE,,4
CM,CM_INTF2_2_ELEM,ELEM
ALLSEL
CMSEL,,CM_INTF1_NODE
CMSEL,,CM_INTF2_2_ELEM
CEIMS,,ALL, stage1, stage2B
ALLSEL

ESEL,,TYPE,,5
NSLE
NSEL,R,LOC,Z,1
CM,CM_INTF3_NODE,NODE
NSEL,,LOC,Z,1
ESLN
ESEL,R,TYPE,,3
CM,CM_INTF3_1_ELEM,ELEM
ALLSEL
CMSEL,,CM_INTF3_NODE
CMSEL,,CM_INTF3_1_ELEM
CEIMS,,ALL, stage3, stage2
ALLSEL

NSEL,,LOC,Z,1
ESLN
ESEL,R,TYPE,,4
CM,CM_INTF3_2_ELEM,ELEM
ALLSEL
CMSEL,,CM_INTF3_NODE
CMSEL,,CM_INTF3_2_ELEM
CEIMS,,ALL, stage3, stage2B
ALLSEL
msopt,list,all,1

solve
finish

*DIM,FREQ,array,13
*do,ii,1,13
   *get,FREQ(ii),MODE,ii,FREQ
*enddo
*status,FREQ

/POST1 
msopt,expa,all,all
set,last
file,,rstp 

/show,png,rev
/graphics,power
/view,,1,1,1
/edge,,1
set,1,10
plnsol,u,sum
*get,ModeUSUM_10,plnsol,,max
plnsol,s,eqv
*get,ModeSEQV_10,plnsol,,max
*stat,ModeUSUM_10
*stat,ModeSEQV_10
/exit,nosave
/com *************************************************************
/com *****    Case 2: FULL 360 MODEL (REF)    ********************
/com *************************************************************
/clear,nostart

cdread,db,multiH_Stage3,cdb 
cdread,db,multiH_Stage2,cdb 
cdread,db,multiH_Stage1,cdb 
*get,nnode,node,,num,max

/prep7
csys,1
theta1 = 45
theta2 = 22.5
theta3 = 45
nsect1 = 360/theta1
nsect2 = 360/theta2
nsect3 = 360/theta3
! form 360 stage 1
esel,,type,,1
nsel,s,loc,z,0,0.50
esel,,CENT,Z,0,0.50
nsle
egen,nsect1,nnode,all,,,,,,,,0,theta1,0
allsel
esel,s,type,,1
nsle
nummrg,node
esel,,type,,1
nsle
nsel,r,loc,z,0.50
cm,stage1_node_intf,node
allsel

! form 360 stage 2
esel,,type,,2
nsel,s,loc,z,0.50,1
esel,,CENT,Z,0.50,1
nsle
egen,nsect2,nnode,all,,,,,,,,0,theta2,0
allsel
esel,,type,,2
nsle
nummrg,node
allsel
nsel,s,loc,z,0.50
esln
esel,r,type,,2
cm,stage2_elem_intf,elem
allsel

! tie stages 1 and 2
cmsel,,stage1_node_intf
cmsel,,stage2_elem_intf
ceintf,,all
allsel

! form 360 stage 3
esel,,type,,3
nsel,s,loc,z,1,1.50
esel,,CENT,Z,1,1.50
nsle
egen,nsect3,nnode,all,,,,,,,,0,theta3,0
allsel
esel,,type,,3
nsle
nummrg,node
esel,,type,,3
nsle
nsel,r,loc,z,1
cm,stage3_node_intf,node
allsel
nsel,s,loc,z,1
esln
esel,r,type,,2
cm,stage2_elem_intf,elem
allsel

! tie stages
cmsel,,stage3_node_intf
cmsel,,stage2_elem_intf
ceintf,,all
allsel

! BC
nsel,s,loc,Z,0
nsel,a,loc,Z,1.5
d,all,all
allsel
finish

/solu
antype,static
allsel
csys,1
allsel
cm,rotation,elem
cmomega,rotation,,,2500
allsel
rescontrol,linear
solve
finish

/solu
antype,,restart,,,perturb 
perturb,modal
solve,elform
modopt,lanb,145
mxpand,145,,,yes

solve
finish

*DIM,FREQ_REF,array,13
*get,FREQ_REF(1),MODE,5,FREQ
*get,FREQ_REF(2),MODE,14,FREQ
*get,FREQ_REF(3),MODE,18,FREQ
*get,FREQ_REF(4),MODE,25,FREQ
*get,FREQ_REF(5),MODE,26,FREQ
*get,FREQ_REF(6),MODE,30,FREQ
*get,FREQ_REF(7),MODE,39,FREQ
*get,FREQ_REF(8),MODE,50,FREQ
*get,FREQ_REF(9),MODE,58,FREQ
*get,FREQ_REF(10),MODE,71,FREQ
*get,FREQ_REF(11),MODE,80,FREQ
*get,FREQ_REF(12),MODE,103,FREQ
*get,FREQ_REF(13),MODE,104,FREQ

*status,FREQ_REF

/POST1 
file,,rstp 
/graphics,power
/view,,1,1,1
/edge,,1
set,1,71
plnsol,u,sum
*get,ModeUSUM_71,plnsol,,max
plnsol,s,eqv
*get,ModeSEQV_71,plnsol,,max
*stat,ModeUSUM_71
*stat,ModeSEQV_71
finish
/exit,nosave

7.5.4. Results

The analysis results are shown below.

Figure 7.26: Multistage Displacement

Multistage Displacement


Figure 7.27: Multistage Stress

Multistage Stress


Figure 7.28: Full Reference Displacement

Full Reference Displacement


Figure 7.29: Full Reference Stress

Full Reference Stress