Skip to main content

Component Mode Synthesis(CMS) Substructure in ANSYS Workbench

Here is a basic example of how one may use CMS inside Workbench with APDL command snippets. These appropriately named superelements has the advantage of being quick to solve once the initial investment is put in. This saves time especially for multiple iteration of the same parts (condensed once with CMS) while changes are performed on a local full model part.

The archived workbench file (R18) can be downloaded here (download icon at top-right).

Original Model in ANSYS Work Bench

The model is rather simple with 3 parts. The bodies are in this case to be connected with CEINTF. The "MainBody" part will be condensed into a superelement (Craig-Bampton method) and will be used later when connected to "Leg1" and "Leg2". The system natural frequencies are then evaluated. The results are compared to the old fashion way of creating a full model for verification.

Step 1
Suppress all other bodies except for the "MainBody" which a superelement will be generated from. Create Named Selections of the surfaces which will join to "Leg1" and Leg2". In this case, named them "C1" and "C2". Add a command snippet CreateSE as follows:

/filname,myse  ! name of the super element
antype,substr     ! analysis type: substructure
seopt,myse,2  ! saves mass and stiffness matrix
cmsopt,fix,12  ! Craig-Bampton, 12 modes (CRITICAL)

cmsel,s,c1  ! selects interface name selection
cmsel,a,c2  ! additional interface name selection
m,all,all  ! creates master nodes

/eof  ! important such that it doesn't solve modal

Note that ANSYS Work Bench will complain of an Error even if everything went well. Check in the Solver File Directory to verify the file myse.sub was created. This can be done by clicking on Outline Tree > Solution, Right-Mouse-Button > Open Solver File Directory.

Step 2
Without getting out of Mechanical, suppress "MainBody" and unsuppress "Leg1" and "Leg2" bodies. Verify that there are no unintended connections created when you do this. Next, insert the command snippet below (don't forget to suppress previous SE generation snippet):

et,etmax+1,50              ! SuperElement Type

se,myse                    ! Creates Super Element

!! Joins Things Together
ceintf, ,all               ! Joins interfaces


Running the above should solve the modes and get something like this:
Use of SE in Modal Analysis

The original superelement part was not expanded, thus hidden. This would require another step not covered here.

Verification Step
To verify the method above, all bodies are unsuppressed and command snippet needs to be configured the same as the previous CMS for connections:
ceintf, ,all ! Joins interface the same way

The solved full solution should look similar to this:
Full Model Verification

The natural frequencies and mode shapes are almost the same which is what we're looking for.

Update: Expansion of CMS results discussed in new blog post.

All posts on Superelement 
Reuse CMS Superelement in Ansys Workbench with Expansion Link
Component Mode Synthesis (CMS) with Results Expansion in Ansys Workbench Link
Craig Bampton Method Overview Link
Component Mode Synthesis(CMS) Substructure in ANSYS Workbench Link


  1. Thank you very much for this great introduction. Could you please extend your tutorial with the expansion in Ansys workbench.


  2. Hi,
    Is it possible to have the wbpz in an earlier version; ex: v17.
    Many thanks

    1. Apologies, but I don't have v17 installed so I can't recreate it there.

  3. Could this method be applied in flexible multibody dynamics analysis?

    1. Yes, this method works for flexible multibody dynamic analysis.

  4. Hi,
    Thank you very much for your tutorial regarding CMS. Could you please explain the CMS procedure for harmonic analysis too??

    1. Please see another post here:

  5. Hi,
    Thanks for a great web site. Really useful stuff in here.
    I am trying to implement the creation of super elements myself, but get the following error when running your script, modified to work with my project, from "step 1":

    The option of SUBSTR on the ANTYPE command is either not available for
    this version of ANSYS or the appropriate product was not selected for
    this session.

    Have you maybe come across this error before? I assumed this was the error you said ANSYS would give and still process the commands, but unfortunately I get no file "myse.sub" in my solver directory. It seems as the solver stops at this line, and does not process the following commands.
    I have run the same commands directly in APDL without problems, so I find it strange that Mechanical is complaining.

    I am using ANSYS Mechanical Release 19.2, with an ANSYS Academic Research license.

    Any help is greatly appreciated.

    1. This sounds strange to me as well when you can do it in Ansys Classic but not Workbench. Is it possible the license selected is different for the two modules?

      Good luck,

    2. Well, yes. I finally figured it out. It was licensing trouble causing it. So, for future reference, here is the fix that worked for me:

      In Workbench, go to Tools -> License Preferences.
      Then, I "moved up" my license for ANSYS Academic Associate Mechanical and CFD in all tabs, resulting in this being the license that is checked out first.
      Restarting Workbench and Mechanical session seemed to fix it, and I do now get a super element matrix, "super.sub" generated in the solver files directory.

  6. quick question. I am trying to combine multiple superlements. Say in this example I create all 3 bodies as superelements. then I am unable to use the ceintf command, only cpintf command works (I am trying this in Mechanical APDL). But if course cpintf needs a conformal mesh. Do you know how to fix it? or your general comments on interface coupling between superelements.

    1. There are many ways to tie degrees-of-freedom together. Please see this presentation by PADT on this subject: Hopefully one of them would meet your analysis requirements.

  7. If I have only one body to perform the reduction (eg beam), and I want to perform the modal analysis of only the superelement, how can I do this?

    1. Unfortunately this blog post is woefully outdated. Recent versions of Ansys now has built in capabilities to do CMS.

  8. Hi Jason,

    I need to model one of the component as a flexible body to use it in Simscape Multibody.
    For this, I need to perform finite element of the component, reduce it using Craig Bampton ROM and extract the mass and stiffness matrix at reduced locations.
    I have performed the modal analysis of the component and evaluated the mode shapes and natural frequencies of the component. I am finding it difficult to proceed further.
    Can you please guide me on achieving this task?
    Goutham Sajja

    1. Dear All; Sze Kwan and Goutham Sajja;
      I'm following now an exemple of flexible beam in mathworks wich is about two methods Lumped Parameter and Finite element Method. I'm currently discontinued in your question above , plz tell me if you get a results about Craig-bamptom method.
      I have performed the modal analysis in ansys workbench for wing structure, and i extracted stiffness and mass matrices, now i want to performe craig-bamptom method (supperelement); plz can you guide me to achieve this task????
      Thanks in advance

    2. Hi Goutham & Atef,

      Similar to steps 1 and 2 above, you are able to create the superelement with its corresponding master nodes. Clear everything and only bring in the superelement of interest.

      Next, do the steps described in to export the mass and stiffness.

      Finally you can export it to Matlab using MMF as described in

      Good luck!


Post a Comment

Popular posts from this blog

ANSYS User Defined Results

There is an abundant of options in ANSYS classic when one wishes to post process results. ANSYS workbench default pull down menu post processing options are more limited but they can still be accessed via the User Defined Results. One way not commonly used but can come in handy is as follows: Zeroth: Under Analysis Settings, there is "Output Controls" where you can toggle to "Yes" what you would like to save before the solution starts. This is like OUTRES in APDL. Output Controls First: After solving the model, click on Solution in the tree to highlight it. Solution Second: Click on Worksheet in the toolbar. Worksheet Third: In the worksheet, you will see list of results that are saved. Right click on it to create the User Defined Results. Create User Defined Results So here we have it. You could of look up the different expressions in the help document but I find this method of accessing the results convenient.  Example: Aspec

Export Stiffness Matrix from Ansys

It is sometimes useful to extract the mass and stiffness matrix from Ansys.     *SMAT, MatK, D, IMPORT, FULL, file.full, STIFF       *PRINT, matk, matk, txt Exporting mass matrix would be similar:       *SMAT, MatM, D, import, full, file.full, MASS The above script uses APDL Math to get the job done. (Please see previous post for another example). The ordering of the matrix is unfortunately not concurrently exported. To verify the sequencing is as expected, we will work to replicate a truss example in the  Finite Element Trusses course notes by Bob Greenlee. Figure 1: Truss Problem Setup Model Creation Script to create model: /prep7 !! Creates Model to reflect course notes ! Properties et ,1,1  mp , ex, 1, 29.5e6 r , 1, 1 ! Geometry n ,1 $  n ,2, 40 $  n ,3, 40, 30 $  n ,4, 0, 30 e ,1,2 $  e ,2,3 $  e ,1,3 $  e ,3,4 ! Boundary Conditions d ,1,ux,0 $  d ,1,uy,0 d ,2,uy,0 d ,4,ux,0 $  d ,4,uy,0 f ,2,fx,20e3 f ,3,fy,-25e3 ! solves /solu eqslv , sparse

ANSYS APDL Syntax Highlighting editor

Notepad++ with APDL User Defined Language The editor of my choice is Notepad++  with the available User Defined Language Files for APDL . You can install it without administrative privileges via the zip file. The best part of it is, it's FREE! After installing Notepad++, go to "Language>Define Your Language..." then "Import" the XML file downloaded from the above link. Remember to restart Notepad++ so that the language changes will take into effect. Opening up any *.inp or *.ans files should automatically switch highlighting to APDL. I made some minor edits. Here's my XML file: LINK . I also heard Sublime Text and  Ultraedit  has more advance features but they aren't (totally) free.