Super Element Generator Script

Will Asproth
Will Asproth New Altair Community Member
edited August 29 in Altair Exchange

Overview

The included script is used to generate super elements and their associated residuals in HyperMesh.  The script allows the user to select the desired residual elements, the condensation method, and the loadsteps to include. It also permits choosing a save file directory and a file name suffix. The script supports the following methods:

  • CBN: Craig-Bampton nodal dynamic condensation method
  • GM: general dynamic condensation method
  • GUYAN: Guyan static condensation method
  • PARAM EXTOUT: static condensation by .pch file (available for NASTRAN solver interface)

While the script is not designed for anything other than the OptiStruct solver interface, the PARAM EXTOUT includes nothing solver specific, so it may work for the NASTRAN solver.

Pre-Requisite

To begin using this script you'd ideally start with a model that can run in OptiStruct without modification. This will allow easy validation between the residual and the base model. 

Usage/Installation Instructions

You can run the script buy just dragging and dropping the superelement.tcl file into your HyperMesh session with a base model open.

               When the script runs, it first checks the residual to ensure that no elements have a dependency on elements outside the residual, this could include 1d elements like rbe3 or MPCs. If now potential conflicts are detected it generates the following files:

  • (_cms.hm): includes sets of elements corresponding to the residual and super element
  • (_super_element.hm): the super element model file
  • (_super_element.fem): an export of the super element solve file
  • (_residual.hm): the residual model file
  • (_residual.fem): an export of the residual file

The method of generation is most similar too the OS-HWX-T: 7000 tutorial, but differs when using the PARAM EXTOUT method.

Post-Requisite

After a super element is generated successfully the user interface then provides the option to validate a residual’s eigen values against the base model. For this operation to complete successfully both the residual and the baseline need to be able to generate eigenmode results without modification. Validation requires running OptiStruct in batch through the same install location as the current HyperMesh session, i.e. you should have the same version of OptiStruct as you do HyperMesh. If validation is completed successfully a new page is generated in the user interface, that allows you to compare eigenvalues between the baseline and the residual. The process generates the following files:

  • (_baseline_validation.hm): an eigenmodes analysis of the starting model
  • (_baseline_validation.fem): an export of the baseline validation model
  • (_baseline_validation.h3d): the results of the baseline validation
  • (_baseline_validation.pch): the punch results of the baseline model, this is what the script uses to detect eigenvalues
  • (_super_element.h3d or _super_element_AX.pch): the result of a super element solve. H3DDMIG methods require the H3D file, while the PARAM EXTOUT method requires a punch. Both include mass and stiffness matrixes.
  • (_residual_validation.hm): an eigenmodes analysis of the residual, referencing the super element solve.
  • (_residual_validation.fem): an export of the residual validation model
  • (_residual_validation.h3d): the results of the residual validation
  • (_residual_validation.pch): the punch results of the residual model, this is what the script uses to detect eigenvalues

With a process as complicated as generating super elements, I can’t guarantee that the script will produce working results for every model, but it should at least be able to create a starting point for further refinement. Some common issues are:

  • The only supported solver interface is OptiStruct
  • References to sets that no longer contain any entities
  • Dependencies between elements crossing the aset boundary
  • The PARAM EXTOUT method not generating the PAX matrix
  • The GUYAN method not preserving loads and spcs

In the zip file I’ve attached an example model that demonstrates the expected inputs and outputs for a dynamic condensation via the CBN method and a static condensation using the PARAM EXTOUT method. The files include the suffixes “_CBM” and “_EXTOUT” respectively. For the residuals to solve on your computer successfully you’ll need to change the path to the super element results.