Reuse CMS Superelement in Ansys Workbench with Expansion
Figure 1: CMS Reuse Project Schematic
In the previous two posts (here and here), the workflow requires another generation pass when reusing the model. This diminishes the advantage of using a component mode synthesis (CMS) superelement model. The difficulty is that when the model changes, the superelement node numbering no longer matches the new workbench (WB) model. Everything gets shuffled around.
To reuse a superelement body, we need the nodes to persist in the final Analysis for expansion.
We start out with an original modal analysis (Analysis A) that would have worked on it's own. Next, the original modal analysis is duplicated (becoming Analysis B). Analysis A will be modified to only have the superelement body while Analysis B will be modified to have the geometry and mesh of non-superelement body. When both analysis are assembled into a new modal Analysis C, Analysis B's element and nodes are automatically offset so that the ordering is correct. The trick is to maintain the node and element numbering the same as Analysis A.
Figure 2: Initial Schematic
This is named 'cms part' which is noted for named selection later. All geometrical bodies are deleted except the superelement part. It has two named selection:
1. 'body1' for the superelement body
2. 'interA' for interfaces
The solution command snippet is then added to compute myse.sub superelement matrix. Link to Command Snippet here. Note the natural frequency and mode shapes displayed are with superelement method FIX.
Analysis A Command Snippet
fini /filnam, myse ! **myse** is the SuperElement name /solu antype, subst ! substructure analysis type seopt, myse, 2 ! substructure and option for stiffness and mass cmsopt, fix, 15 ! cms options and **number of modes** cmsel, s, interA ! interface **component** m, all, all allsel save solve ! as a pretty picture /sys, copy myse.rst file.rst /eof
Figure 3: Analysis A for CMS Superelement Part
This is named 'non cms' for everything else. Delete the superelement element. A solution isn't needed in this Analysis. We are only after the mesh created by the geometry. Again, this mesh is malleable for future iterations as long as contact points are maintained.
Figure 4: Analysis B for Non-CMS Parts
The sequence for the following tap dance may be critical to get the sequencing just right:
1. In WB, create a new Modal Analysis in which will be Analysis C
2. Drag the Model from Analysis A3 to Analysis C4 as in Figure 2
3. Right click on Analysis C's Model to 'Update Upstream Components'
4. Double-click on Analysis C's Model to open up Mechanical
5. Drag the Model from Analysis B to Model in Analysis C
6. Right click on Analysis C's Model to 'Update Upstream Components'
7. Right click on Analysis C's Model to 'Update'
The prior flamingo dance should do the trick but it is wise to verify the nodes on the CMS body has lower numbers than those of the non-CMS body in Analysis C before proceeding.
Copying myse* Superelement Files to Analysis C
The purpose of this step is to have Analysis C be given access to the CMS superelement created previously in Analysis A. The quick and dirty way of doing so would be to ...
1. Open up Analysis A in Mechanical
2. Right click on Solution to 'Open Solver File Directory'
3. Copy all files that begins with myse.* (about 9 files)
4. Open Analysis C in Mechanical
5. Right click on Solution to 'Open Solver File Directory'
6. Paste all the myse.* files in this directory
Figure 5: Analysis C with Expanded Results
Both the CMS and non-CMS body should already be assembled here. The contacts are bonded in this example to the master nodes. Beside contacts, the command snippet similar to the previous post was created. Link to command snippet here. Being a assembled analysis, the named selection has the Analysis name with underscores '_' in place of spaces and wrapped-around the analysis name. For example, the named selection for the body for this instance is BODY1_CMS_PART_.
!!!!! Save full model
!!!!! perform use pass solution
! Deletes full body that will be replaced by CMS body
cmsel, s, BODY1_CMS_PART_ ! ** part named selection for deletion **
cmsel,u, interA_CMS_PART_ ! ** don't delete interface nodes **
*get, etmax, etyp, 0, num, max
et, etmax+1, 50 ! define substructure element type
se, myse ! define substructure element
!!!!! expand the solution
seexp, myse, use ! substructure name and the use pass jobname
numexp, all,,, yes ! Expand all modes
!!!!! merge results file
nsubsteps=12 ! **number of modes**
*do,ct, 1, nsubsteps
set, 1, ct
append, 1, ct
reswrite, file ! file name for results file
Now that everything is all set, one can go into Analysis B and change the model. As long as the interface is similar for the contacts to work, the original superelemnt could be reused thus saving computation time. The results are comparable (see archived file).
This is a rather tedious way to get CMS superelement to work in Workbench. There is a rumor Ansys will have it all integrated in the next release a year from now. Until then, hopefully this is helpful.
Resources to Replicate Above Analysis
Analysis A command snippet: Link
Analysis C command snippet: Link
Archived Ansys Workbench V18.0 with results: Link
All posts on Superelement
CMS Superelement Harmonic Analysis Link
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
In more recent version of Ansys Workbench, distributed file combinations defaults were changed to OFF. This needs to be corrected with appending the following commands to the Analysis A command snippet (Generation Pass).
dmpopt, esav, no
dmpopt, emat, no
dmpopt, full, no
A new post using Ansys 2019r3 was posted here.
I'd like to request a version of this method for a static structural analysis with multiple load steps and variable numbers of substeps as I can't get it to work.ReplyDelete
P.S. I think the dmpopt commands above should have yes rather than no on the end.
Static only has stiffness matrix so CMS isn't needed. The DMOPT option may be "yes" in more recently versions but I've not checked it myself.Delete
What if you wanted to perform CMS in a Static Structural instead of a Modal? Would anything have to be set up differently?
For example: Would you still need to specify number of modes in CMSOPT? And so on.
What would it take to make this work for a Static Structural?
For static, look for Substructuring tutorials. It's simpler as there are no dynamic modes to keep track of.Delete