Skip to main content

Modal Submodeling

This post was inspired by CAEAI's blog post on modal analysis sub-modeling and an XANSYS question. Their instructions were not explicit and everything was done in Ansys Classic. The goal here is to show modal submodeling in Ansys Workbench. Here's a walk through of an example:

Step 1
Solve the coarse model Modal Analysis (System A).
Fig 1: Coarse Model Modal Analysis (System A)

Step 2
Create a finely meshed submodel Harmonic Response Model (System B). This will be the submodel.
Fig 2: Project Schematic

After creating the desired mesh, add a named selection at the cut boundaries called cut_face. Add the following command snippet in the Setup branch.

!! Creates cut boundary NODE file
! WB will complain but boundarynodes.node file should be created
cmsel, s, cut_face
nwrite, boundarynodes, node

The above step writes out a file listing the nodes and their coordinates which will be used for interpolation. After solving for the model, Ansys Workbench will flash a lot of errors. Ignore them. The key output is boundarynodes.node which is located at the Solver File Directory (RMB Solution > Open Solver File Directory). Copy that file.

Step 3
Open the Solver File Directory of System A (Modal Analysis) and paste the boundarynodes.node file in that directory. In System A, add the following command snippet into the /POST1 snippet:

!! Creates interpolation file
set, list
set, 1, 7 ! extracts Mode #7 for submodeling later
cbdof, boundarynodes, node,, Dfile, cbdo

After solving, the Dfile.cbdo will be created in the working directory. This contains the interpolated displacements of the coarse model on the fine model's cut boundary nodes. Copy this file and paste it into the working directory of System B (Harmonic Analysis).

Step 4
Open System B (Harmonic Analysis). Firstly suppress the earlier snippet.
Fig 3: Only Second Snippet Used

Next, add another snippet (named HarmonicSubmodel3 in this example):

! Cut Boundary Conditions on Fine Model
/input, Dfile, cbdo

The one line script above will apply the cut boundary displacements as D commands.

For analysis settings, it is critical Full Solution method is used as non-zero imposed displacements are not supported in Mode Superposition Method.

The Range Maximum should be set at the natural frequency of the mode that was extracted earlier. Only 1 solution is required. Finally, Output Controls should have both Stress and Strain set to "yes".

The results should look as follows:
Fig 4: Submodel Stress

Step 5
Modal analysis amplitudes are by-themselves meaningless. Scale the mode shape as required by creating an Identifier in the Equivalent Stress result and use a User Defined Result to scale it. For example an Expression could be 3.1415*MySeqv shown below. The scaling number is used to match experimental results or expected deflections.

Fig 5: Scaled Submodel Stress

Associated Files
Archived Ansys Workbench v18.2:  File


  1. How we can insert the desire input acceleration. Also, the magnitude of stress is too bigger than real. how we can solve this problem?

  2. The amplitudes from modal results are not scaled. To get the acceleration that you want, you can determine the equivalent displacements and scale the modal results accordingly. The stresses should then reflect that.


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.