Continuing the trend of shipping more and more features in 2019, here comes another big one. While FEM simulations on CAD assemblies have been possible with SimScale before, depending on the size of your model and the number of parts in the assembly, the step of properly constraining your model has always been a major point of frustration for many of our users. This was due to the lack of a feature to automatically detect contacts between parts of the assembly, making the process of defining contacts a time-consuming, manual step. This time has now come to an end.
What's New At SimScale? Introducing Automatic Contact Detection for FEA
For the following analysis types, a new feature to automatically detect contacts has been released:
Take a look at our feature release video to get a quick overview of the newly introduced functionality or read the detailed description below:
Triggering Contact Detection
Automatic contact detection will be triggered automatically whenever a new multi-part geometry is assigned to a simulation. This also includes simulation creation. By default, all contacts in the assembly will always be created as Bonded contacts and can then be edited by the user.
Contact detection can also be triggered manually via the context menu of the Contact node in the simulation tree.
While contacts are being detected in the background, the contact node in the simulation tree can not be accessed by the user. The time required for contact detection depends on the size and complexity of the geometry, and can take anything from between a few seconds up to a few minutes. A loading indicator on the contact tree node signals that contact detection is still ongoing.
Constraining the System
Once completed, all detected contacts are grouped in order to create a constrained system. Remaining conflicts that cannot be resolved by grouping and swapping assignments are marked with a warning icon in the contact list. A more detailed description of the conflict type and how to resolve it can be found on top of the contact settings panel.
Another warning in case of remaining conflicts is shown on run creation, along with an additional check to detect underconstraints in the system.
For more information about conflicts in the contact setup and how to prevent it, take a look at the contact conflict resolution and optimization section in the SimScale documentation.
Bulk Selection & Filtering Contacts
Depending on the size and complexity of an assembly, the number of contacts created can become quite large very quickly. In order to give users an easy way to find and edit a single contact or a set of contacts, two additional features have been introduced.
It’s now possible to bulk select multiple contacts from the contact list via CTRL + Click and SHIFT + Click.
Another way of selecting multiple contacts is to filter the entire list of contacts based on the current selection context. Simply select one or more solids or faces and the Filter contacts by selection option will bulk select all contacts on or between the selected entities.
The bulk selection panel exposes all contact options besides assignments to the user for editing.
Additional Features
Besides the above mentioned, a few additional helpful features have been introduced.
It’s now possible to convert one or multiple contacts into a physical/nonlinear contact. Simply make a selection of contacts and convert all selected into physical contacts via the convert button.
Additionally, another contact-specific filter for the viewer has been introduced. Beside the ‘Isolate active assignment’ option (formerly ‘Isolate visible assignment’) it is now possible to isolate both lead and follow assignments together via the ‘Isolate all assignments‘ option. This allows for easy inspection of assignments for one or multiple contacts together.
SimScale Product Updates What's Next?
As automatic contact detection for FEA already improves the workflow for many applications, a similar problem exists for Interfaces in conjugate heat transfer analyses. While interfaces have so far already been created automatically in the background if not specified differently by the user manually, in many cases interfaces required manual adjustments. This left users with no other choice than to define each interface that needed to be modified manually—a tedious process, which we are working on to solve with a similar feature in the near future. Stay tuned!