Contact sets getting generated despite not choosing to create them automatically

Contact sets getting generated despite not choosing to create them automatically

michaelbuffington
Advocate Advocate
1,203 Views
5 Replies
Message 1 of 6

Contact sets getting generated despite not choosing to create them automatically

michaelbuffington
Advocate
Advocate

I'd been working on a simulation all morning. Since you cannot undelete automatically generated contact sets I made very certain to not allow contacts to be created automatically. I've also rarely seen automatically generated contact sets actually work on the first try, so have always been dead certain I'm not allowing them when I create simulations.

 

After spending a few hours manually creating my contact sets and verifying the simulation was solving properly I took a break.

 

Later in the day I made some modifications to the models used in the simulation. The original contact sets would remain the same as the changes were independent of those. 4 new contact sets needed to be created though, so I manually added those.

 

Then ran the simulation again, except this time it was obvious that several of my original contact sets were being totally ignored.

 

I went to go manage my contacts and found 7 automatically generated contact sets (each lacking the [M] preface). Those new contact sets also actively conflict with my original manual contact sets, which is why mine were being ignored.

 

I think "wonderful, I can't delete those new contacts so I guess I'll just suppress them." The problem is that while I can suppress them I can't manually recreate my original contact sets because they conflict with the automatically generated, yet now suppressed, contact sets.

 

What possible value is there in not allowing automatically generated contact sets to be deleted?

Why would contact sets be automatically be generated without first asking me, especially since they can't be deleted?

Why is that automatically generated contact sets can ignore existing contact sets, yet manually created ones can't?

What value is there in preventing contact sets from being created that conflict with suppressed contact sets?

 

So now I'm totally stuck. I need trash the Load case I spent hours on and rebuild all the contact sets again. There will also be changes made to the models in the future, changes motivated in large part by the simulation. So I'll need to painstakingly create my contact sets over and over again.

 

I think there's an easy (conceptually speaking) solution to all of this. How complex it is, code-wise, only you can determine:

 

Allow the user to delete contact sets, whether manually created or not.

Don't automatically create contact sets if the user doesn't ask the software to automatically create contact sets.

 

Heck, globally, don't automatically do anything, ever, the user cannot fix. Whether you ask to do it automatically or not. That just seems like Software Usability 101 right there.

 

0 Likes
1,204 Views
5 Replies
Replies (5)
Message 2 of 6

henderh
Community Manager
Community Manager

Hi Michael,

 

First of all, we appreciate bringing this to our attention.  That said, I'll try to answer your questions to the best of my ability.

 

...I've also rarely seen automatically generated contact sets actually work on the first try, so have always been dead certain I'm not allowing them when I create simulations.

As you know, by default the contact type is bonded, which may not capture the design intent of the assembly (this is as-designed).  If it goes beyond this (such as missing an auto contact where it's needed, or creating an auto contact where it doesn't make sense) please provide a model or screenshot to show the behavior, and we'll take a look.

 

I went to go manage my contacts and found 7 automatically generated contact sets (each lacking the [M] preface). Those new contact sets also actively conflict with my original manual contact sets, which is why mine were being ignored.

That behavior doesn't seem correct.  Before we generate automatic contacts, we first check for the existence of a manual contact that's already using the geometry pair.  If the geometry pair is already used, we won't generate the auto contact (kind of the reverse behavior of not allowing a manual contact to be defined if the geometry pair is already included in an auto contact).  If you could provide a model that shows this behavior, we'll investigate it.

 

I think "wonderful, I can't delete those new contacts so I guess I'll just suppress them." The problem is that while I can suppress them I can't manually recreate my original contact sets because they conflict with the automatically generated, yet now suppressed, contact sets.

This is the correct behavior (as far as not being able to create a manual contact using the same geometry pair as an existing auto contact...whether suppressed or not).  Instead of suppressing the auto contact, you can edit it and define it the way you would have defined the manual contact.  I know in this model's situation it's a pain, because you already went through defining the manual one.

 

What possible value is there in not allowing automatically generated contact sets to be deleted?

I don't recall the technical reason for this, but we do allow suppression if it needs to be ignored (as already noted of course)

Why would contact sets be automatically be generated without first asking me, especially since they can't be deleted?

I have to step back a bit and explain why this is the case.  Before we can solve, we need to have certain pre-processing operations to occur:

  • First we create a copy of the geometry, to prepare it for the mesher.  That may entail cleaning up the geometry a bit for 'bad geometry' like hanging faces that sometimes occur with imported geometry
  • Next we have to generate auto-contacts for a few reasons.  We need determine which faces are in contact with each other, so that when the mesh is generated, we can have a refined (more dense) mesh for the geometries at the contact interfaces.  We also want the model to be fully constrained so that the model can be solved without unconstrained DOFs (i.e. more unknowns than equations)
  • We can then mesh the model, apply the loads and constraints to the mesh nodes, and finally solve it

Whether you created auto contacts or not before generating the mesh or solving, we need to generate them before either of those operations.  We do this implicitly as you've discovered.

 

Why is that automatically generated contact sets can ignore existing contact sets, yet manually created ones can't?

This should not happen.  We check if the face pair is already referenced by a contact (whether automatically or manually created, suppressed or not) to avoid duplication or contradictory definitions.

 

What value is there in preventing contact sets from being created that conflict with suppressed contact sets?

I suspect that we didn't see a need for this situation to be allowed (to avoid duplication) or there is an architectural limitation that won't allow it.

  

I think there's an easy (conceptually speaking) solution to all of this. How complex it is, code-wise, only you can determine: 

Allow the user to delete contact sets, whether manually created or not.

I tend to be in agreement with you here, but we do offer suppression of an auto-contacts, and we allow deletion of a manual one.

Don't automatically create contact sets if the user doesn't ask the software to automatically create contact sets.

The only solution we currently offer for this is to auto-generate the contacts, then suppress them by Shift + select all -> right-click -> Suppress.  When meshing or solving is called, we'll honor those suppressed contacts.

 

I hope this helped Michael.  We'll follow up with any additional questions you may have, and look forward to getting a hold of the model that shows the unexpected behaviors you noted.



Hugh Henderson
QA Engineer (Fusion Simulation)
0 Likes
Message 3 of 6

michaelbuffington
Advocate
Advocate

Thanks for the detailed response. I understand what's happening now with auto created sets. I'll admit though, I can't see how automatically creating contact sets without allowing me to delete them is a feature that provides any value.

 

You're certainly not saving me from my own human error. If they're needed to solve the simulation, fine, create them as needed. If I delete them and you need them again, just do what's already done when contact sets are needed - create them again. Preventing me from deleting them has no value for me as a user. Instead it opens up a lot of potential problems I might encounter. From a technical perspective there is little value in preventing me from deleting them if they can just be created automatically again.

 

But also, why assume at all that a new component should be automatically part of the simulation? What if it was added as a visual reference or to ensure that even when deformed the simulated components still have clearance? I think this goes back to honoring the answer I give when asked "do you want to automatically create contact sets?" - if I say no, don't create them. I'll understand why the solved simulation doesn't do what was expected.

 

 

If you ask the question, you should honor the answer. If you're not going to honor the answer, don't ask the question. Just create contact sets automatically and require they be edited or suppressed, ditching manual creation entirely.

 

If you absolutely must have the contact sets for every body in the design that "touches" you shouldn't solve the simulation until I've allowed the contact sets to be automatically created, or I've manually created them myself. Or, as I said earlier, just ignore bodies that don't have associated contact sets.

 

 

The most problematic part of the automatic contact set behavior is that they cannot be deleted. There are times when I don't want to undo. Or worse, there are times when the contact sets are created automatically and there's obvious indication (aside from seeing them as you scroll through a list in the contact manager) that Fusion 360 created them and you've gone and done dozens of changes. This isn't just a problem for people who don't know contact sets are created automatically - it's easy to miss creating a contact set manually in a complex design. You may not realize that the missing set was created until it's impractical to simply undo.

 

Anticipating the "if the auto-contact-set is wrong, just modify it" angle, consider this scenario:

 

Auto-contact-sets have been created during a solve. You know about them and they're doing the right thing. Then you go make changes to the model that make the automatically generated contact set "sick." When you try to fix it, you can't. You can get into edit mode for it, but the dialog that is displayed has one section labeled "General Options" and there are no options to choose from. Totally empty (see the attached screenshot). One of the contact set bodies is shown, isolated, and the load indicator is shown, but otherwise nothing else. Further, you can't do anything. You can't select any bodies or the load that's being shown. You can hit ESC or click on the cancel button.

 

So now you're stuck. To make that sick contact set editable, you need to revert back to your original model or do some hacky thing where it touches the original master body, just to make it no longer sick.

 

In this scenario if I manually created the contact set I could simply delete it. But nope, an automatically generated contact set which isn't even needed anymore is making my simulation fail when I try to solve it, and the best I can do is suppress it. And once I run the simulation with the suppressed (and sick) contact set, the simulation deletes the contact set. Wait, what. It deletes the automatically created contact set. Clearly there's no technical issue with deleting auto-created-sets, sense the simulation deletes them without even telling you sometimes. It gets more weird though. When you suppress a manually created contact set and solve, it sticks around, sick or not.

 

But wait. What if I still want that contact set to function like it used to? I can't edit the sick contact set (which, in itself, is likely another bug). If I suppress it, it'll get deleted. And I can't create a manual contact set because it has conflicts with the existing contact set (even when suppressed). So I'm forced to suppress it, run the solve, and let it magically go away so I can manually recreate it.

 

I know I'm being a bit of a pedant here, but seriously, this has all sorts of funkiness going on.

 

And I could go on about how many weird dead ends there are with contact sets. I've found more as I've double checked my descriptions above. All of these dead ends start with the fact that you cannot delete automatically generated contact sets.

 

If you simply allow users to delete any contact set then what was once an expanding network of combinatorial dead ends becomes an opinion of the software that I can override and move past. Create contact sets automatically only when I've said it's cool, and even then let me delete them when I want.

 

 

0 Likes
Message 4 of 6

neljoshua
Advisor
Advisor

@michaelbuffington, & @henderh,

 

This is still an issue. I had a design with two components in which I am trying to do a Thermal Stress analysis. I created ONE manual contact, but Fusion created at least ten automatic contacts--which I now cannot delete.

 

Here is a link to a forum post with a similar topic and an IdeaStation Idea to allow automatic contacts to be deleted.

__

If this post answered your question, please select "Mark as Solution" in order to help others who may have the same (or a similar) question.

Lenovo Thinkpad P1, 2.70 GHz Intel Xeon, 32.0 GB, Windows 10 Pro
0 Likes
Message 5 of 6

max_mcdougall
Community Visitor
Community Visitor

I am also suffering this issue with contacts. It is very difficult to trust the software to maintain a constant boundary condition state.

 

I agree that neither of the following makes any sense from a logic or workflow perspective:

1) That contacts are added automatically without warning or notification

2) That you can't delete automatically created contacts

 

I am evaluating Fusion for FEA only, and find it a pretty decent offering for the price point, but this is such an annoying feature I am actually considering choosing a different package as a result.  

 

Renaming contacts also has a bug where you can't see the text you are writing.

 

2.0.21528 arm64 [Native] on MacOS.

 

 

0 Likes
Message 6 of 6

henderh
Community Manager
Community Manager

Hi @max_mcdougall,

 

  1. It is by design that Automatic Contacts are generated as a part of the solve, before the meshing step.
    • As a workaround, you can generate the Automatic Contacts locally, then suppress the ones that should be ignored.
  2. Although we don't allow deletion of automatically generated contacts, those can be suppressed either individually, or as a batch selection in the Contacts Manager. 

The contacts renaming issue is logged in our system as FUS-55439. I've added the link to your concerns to increase attention for the Simulation team.

 

We thank you for the feedback,

 

Edit: We are tracking the feedback in our internal system:

  1. FUS-105925 for adding the deletion ability to automatic contacts
  2. FUS-192406 to be notified that auto-contacts may be created or deleted in a solve or local mesh. Additionally, it proposes an option to turn off auto-contact generation in a solve or local mesh. I've added everyone's comments to FUS-192406 for consideration in a future release.


Hugh Henderson
QA Engineer (Fusion Simulation)
0 Likes