Debugging Guide for Linear Analysis – Solver Checks
When building a CAE model, there are a lot of information you should input in order to successfully run your analysis and of course, to have reasonable results. In this article we will show a couple of tools and features we have available within HyperWorks and OptiStruct to validate your model and avoid error messages and wrong results.
Unit System
Even before start meshing your geometry, it is important to keep in mind the unit system that will be used for your particular model. This is because OptiStruct will accept whatever it is provided as input, without giving any warning as it will not be able to recognize any unit system discrepancies. Therefore, it is a user responsibility to work with consistent unit systems in HyperWorks for modeling and analysis. The table below presents various systems of consistent units. The most used systems are highlighted:
Unit System | Length | Mass | Force | Time | Density | Stress | Gravity | |
MKS | m | kg | N | s | kg/m³ | Pa | 9.81 m/s² | |
MMKS | mm | kg | N | s | kg/mm³ | MPa | 9810 mm/s² | |
MPA | mm | t | N | s | t/mm³ | MPa | 9810 mm/s² | |
CGS | cm | g | dyn | s | g/cm³ | dyn/cm² | 981 cm/s² | |
IPS Std | in | pounds | lbf | s | lb/in³ | psi | 386.09 in/s² | |
FPS Std | ft | pounds | lbf | s | lb/ft³ | lbf/ft² | 32.17 ft/s² |
Model Checker
Under Validate > Model, the user can check if the model will return any warnings or errors before running OptiStruct. The tool will check common mistakes that will lead into errors, such as:
- Components without property or material assigned
- Component with solids and shells
- Duplicated mesh
- Material without Young’s modulus or density
- Free 1D elements
- Rigid elements with double dependency
- Empty Sets and Groups
NOTE: Not all the reported points will cause a fatal error in OptiStruct, only the ones under “ERROR” list. The recommendation is to use the model checker as a guide to double check the model and verify if the inputs are correct and meant to be as they are.
All checks and issues can be reviewed and fixed inside the tool.
Check Run
After fixing the potential error messages using Model Checker, the user can do a “check run” to verify for any syntactical issues or other errors that model checker could not capture. This can be done by adding “-check” to the running options in OptiStruct:
In the check run, the user can not only check for other errors, but also have a memory estimation for that model:
General Checks
- Under Validate > Mass, check if the mass value is reasonable based on your unit system:
- In the post-processing, plotting animation will show obvious mistakes and helps in engineering judgement, such as:
- Missing boundary conditions or loading conditions
- Material and property definitions
- Mass properties
- Verify for force balance within the model requesting SPCF output in the .out file
- Force balance is satisfied (epsilon in .out file) – Epsilon should be numerically zero
- Check stress discontinuities
Modal Analysis as verification tool
We know that a Normal Modes analysis is performed when you are interested in the natural frequencies and the mode shapes of the structure. Besides understanding the dynamic behavior of the structure, we can also use the normal mode analysis to verify if there are any disconnected component in the assembly, based on the rigid body modes on the system and understand if the boundary conditions applied to the system are correct.
Rigid body modes are mores with really low frequency (close to zero) where we can see the structure with no deformation, the whole assembly will move in a certain direction as it is totally rigid. In a structure with no boundary conditions (free in the space), we should be able to see 6 rigid body modes, one for each dof: translation and rotation in X,Y and Z. Let’s see in practice how we can identify potential connection issues in two different models:
In the first case, the user forgot to apply enough constraints to fix the X direction, the animation shows the free movement in this direction and the corresponding frequency tending to zero in the output file.
In a second case, the user forgot to connect the mesh of one of the components to the rest of the structure, and we realize that this "loose" component in the model will present 6 rigid body modes (in all possible directions), we observe in the output file six frequencies tending to zero and the animation shows us one of these modes.