Static Cyclic Analysis#

Run a static cyclic analysis of an example rotor sector using the imperial unit system at 1000 RPM.

from ansys.mapdl.reader import examples

from ansys.mapdl.core import launch_mapdl

# launch mapdl
mapdl = launch_mapdl()

Load in the mesh#

Load in the example sector and plot it.

mapdl.cdread("db", examples.sector_archive_file)
mapdl.eplot()
cyclic static

Make the rotor cyclic#

Enter the preprocessing routine and make the mesh cyclic.

mapdl.prep7()
mapdl.shpp("off")
mapdl.nummrg(label="NODE", toler=1e-3)

mapdl.cyclic()
USE EXISTING MODEL FOR CYCLIC SYMMETRY

 ******************************************************
 ****** COMPUTED QUANTITIES ***************************
 ******************************************************
 *  NUMBER OF SECTORS =                 15            *
 *  SECTOR ANGLE =                  24.000            *
 *  CYCLIC COORDINATE SYSTEM =           1            *
 *  EDGE COMPONENTS CONTAIN NODES                     *
 *  LOW  EDGE COMPONENT = CYCLIC_M01L       MATCHED   *
 *  HIGH EDGE COMPONENT = CYCLIC_M01H                 *
 *  LOW  EDGE COMPONENT = CYCLIC_M02L       MATCHED   *
 *  HIGH EDGE COMPONENT = CYCLIC_M02H                 *
 ******************************************************

Set material properties#

Units are in imperial units and the material is (approximately) structural steel.

mapdl.mp("NUXY", 1, 0.31)
mapdl.mp("DENS", 1, 4.1408e-04)
mapdl.mp("EX", 1, 16900000)
MATERIAL          1     EX   =  0.1690000E+08

Apply boundary conditions#

Apply a cyclic rotation at 1000 RPM and constrain the rotor at the center.

mapdl.omega(0, 0, 1000)  # 1000 RPM

mapdl.csys(1)  # enter the cyclic coordinate system

mapdl.nsel("S", "loc", "x", 0, 0.71)  # radial between 0.69 - 0.71
mapdl.d("ALL", "ALL")  # all DOF for those 8 nodes

mapdl.allsel()
mapdl.csys(0)  # return to cartesian coordinate system
ACTIVE COORDINATE SYSTEM SET TO          0  (CARTESIAN)

Run a static analysis#

Run the MAPDL solver and print the output of the solution.

mapdl.run("/SOLU")
mapdl.antype("STATIC")
output = mapdl.solve()
mapdl.finish()
print(output)
*** WARNING ***                         CP =       0.000   TIME= 00:00:00
 The cyclic sector model contains volume and area element types.  Please
 verify the auto detected LOW and HIGH nodal edge component pairs
 (CYCLIC command) for cyclic symmetry solution.

 *** NOTE ***                            CP =       0.000   TIME= 00:00:00
 There is no title defined for this analysis.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Element shape checking is currently inactive.  Issue SHPP,ON or
 SHPP,WARN to reactivate, if desired.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 SOLID185 wedges are recommended only in regions of relatively low
 stress gradients.

 *** NOTE ***                            CP =       0.000   TIME= 00:00:00
 The model data was checked and warning messages were found.
  Please review output or errors file ( ) for these warning messages.

 GENERATE CYCLIC SYMMETRY CONSTRAINT EQUATIONS

 NUMBER OF CONSTRAINT EQUATIONS GENERATED=   102
   (USING THE MATCHED NODES ALGORITHM -- MAX NODE LOCATION ERROR NEAR ZERO)

 *****  MAPDL SOLVE    COMMAND  *****

 *** SELECTION OF ELEMENT TECHNOLOGIES FOR APPLICABLE ELEMENTS ***
                ---GIVE SUGGESTIONS ONLY---

 ELEMENT TYPE         2 IS SOLID185. IT IS ASSOCIATED WITH LINEAR MATERIALS ONLY
 AND POISSON'S RATIO IS NOT GREATER THAN 0.49. KEYOPT(2)=3 IS SUGGESTED.


   *****MAPDL VERIFICATION RUN ONLY*****
     DO NOT USE RESULTS FOR PRODUCTION

                       S O L U T I O N   O P T I O N S

   PROBLEM DIMENSIONALITY. . . . . . . . . . . . .3-D
   CYCLIC SYMMETRY SECTOR ANGLE. . . . . . . . . .   24.000     DEGREES
   DEGREES OF FREEDOM. . . . . . UX   UY   UZ
   ANALYSIS TYPE . . . . . . . . . . . . . . . . .STATIC (STEADY-STATE)
   GLOBALLY ASSEMBLED MATRIX . . . . . . . . . . .SYMMETRIC

 *** NOTE ***                            CP =       0.000   TIME= 00:00:00
 Present time 0 is less than or equal to the previous time.  Time will
 default to 1.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UX at unused node 31.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UY at unused node 31.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UZ at unused node 31.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UX at unused node 33.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UY at unused node 33.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UZ at unused node 33.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UX at unused node 35.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UY at unused node 35.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UZ at unused node 35.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UX at unused node 37.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UY at unused node 37.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UZ at unused node 37.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UX at unused node 58.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UY at unused node 58.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UZ at unused node 58.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UX at unused node 59.

 *** WARNING ***                         CP =       0.000   TIME= 00:00:00
 Specified degree of freedom constraint UY at unused node 59.

 ************************************************************************
 The number of ERROR and WARNING messages exceeds 20.
 Additional messages suppressed.  See ( ) for suppressed messages.
 ************************************************************************

 *** NOTE ***                            CP =       0.000   TIME= 00:00:00
 The step data was checked and warning messages were found.
  Please review output or errors file ( ) for these warning messages.

 *** NOTE ***                            CP =       0.000   TIME= 00:00:00
 The conditions for direct assembly have been met.  No .emat or .erot
 files will be produced.



     D I S T R I B U T E D   D O M A I N   D E C O M P O S E R

  ...Number of elements: 105
  ...Number of nodes:    678
  ...Decompose to 0 CPU domains
  ...Element load balance ratio =     0.000


                      L O A D   S T E P   O P T I O N S

   LOAD STEP NUMBER. . . . . . . . . . . . . . . .     1
   CYCLIC SYMMETRY HARMONIC INDEX. . . . . . . . .     0
   TIME AT END OF THE LOAD STEP. . . . . . . . . .  1.0000
   NUMBER OF SUBSTEPS. . . . . . . . . . . . . . .     1
   STEP CHANGE BOUNDARY CONDITIONS . . . . . . . .    NO
   INERTIA LOADS                        X           Y           Z
      OMEGA. . . . . . . . . . . .  0.0000      0.0000      1000.0
   PRINT OUTPUT CONTROLS . . . . . . . . . . . . .NO PRINTOUT
   DATABASE OUTPUT CONTROLS. . . . . . . . . . . .ALL DATA WRITTEN
                                                  FOR THE LAST SUBSTEP





            **** CENTER OF MASS, MASS, AND MASS MOMENTS OF INERTIA ****

  CALCULATIONS ASSUME ELEMENT MASS AT ELEMENT CENTROID

  TOTAL MASS =  0.56778E-04

                           MOM. OF INERTIA         MOM. OF INERTIA
  CENTER OF MASS            ABOUT ORIGIN        ABOUT CENTER OF MASS

  XC = -0.46671          IXX =   0.7738E-04      IXX =   0.5872E-05
  YC =  -1.0376          IYY =   0.2744E-04      IYY =   0.4694E-05
  ZC = -0.42760          IZZ =   0.8087E-04      IZZ =   0.7379E-05
                         IXY =  -0.2923E-04      IXY =  -0.1734E-05
                         IYZ =  -0.2474E-04      IYZ =   0.4481E-06
                         IZX =  -0.1290E-04      IZX =  -0.1567E-05


  *** MASS SUMMARY BY ELEMENT TYPE ***

  TYPE      MASS
     2  0.567777E-04

 Range of element maximum matrix coefficients in global coordinates
 Maximum = 3710503.22 at element 0.
 Minimum = 117780.539 at element 0.

   *** ELEMENT MATRIX FORMULATION TIMES
     TYPE    NUMBER   ENAME      TOTAL CP  AVE CP

        2       210  SOLID185      0.000   0.000000
 Time at end of element matrix formulation CP = 0.

 DISTRIBUTED SPARSE MATRIX DIRECT SOLVER.
  Number of equations =        1008,    Maximum wavefront =      0
  Memory available (MB) =    0.0    ,  Memory required (MB) =    0.0

 Distributed sparse solver maximum pivot= 0 at node 0 .
 Distributed sparse solver minimum pivot= 0 at node 0 .
 Distributed sparse solver minimum pivot in absolute value= 0 at node 0
 .

   *** ELEMENT RESULT CALCULATION TIMES
     TYPE    NUMBER   ENAME      TOTAL CP  AVE CP

        2       210  SOLID185      0.000   0.000000

   *** NODAL LOAD CALCULATION TIMES
     TYPE    NUMBER   ENAME      TOTAL CP  AVE CP

        2       210  SOLID185      0.000   0.000000
 *** LOAD STEP     1   SUBSTEP     1  COMPLETED.    CUM ITER =      1
 *** TIME =   1.00000         TIME INC =   1.00000      NEW TRIANG MATRIX

Plot the cyclic result#

Plot the result using the legacy

mapdl.result.plot_nodal_displacement(0)
cyclic static

Exit MAPDL#

Finally, exit MAPDL.

mapdl.exit()

Total running time of the script: (0 minutes 2.215 seconds)