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).
The example problem is presented in the following sections:
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.
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,… |
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 |
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 |
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. |
MSOPT,EXPA,ALL,… SET,… |
18. | Generate contour plot. | PLNSOL,… |
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