Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

How can I avoid intersecting parts?

Status
Not open for further replies.

rmettier

Geotechnical
Oct 6, 2006
63
0
0
CH
Here's some background into the model I'm trying to run:

This is a fairly large scale geological setting, done in 2D using Abaqus Explicit (6.8-3)and CAE. See attached file for a zoomed out view of the relevant bits. At this step, the parts are just settling under their own weight, and jostling a bit against each other while doing so. This is kind of a preliminary step to the actual model, which intends to push on some parts and see how that affects the others.
The starting geometry is clean, with no intersecting parts or overlapping surfaces. After a while however thing like shown in the inset detail start showing up.

Both of the involved part instances have surrounding surfaces defined, and the interaction between the two surfaces is defined as follows:

surface-to-surface contact (explicit)
Kinematic contact method
finite sliding
Weighting factor: use analysis default
Contact Controls: default

the interaction property looks like this:

Tangetial:
- Friction Formulation: Penalty (Isotropic, Coeff=0)
Normal:
-Constraint enforcement method: default
-Pressure Overclosure: Hard Contact
-do not allow separation after contact

Both part instances have the same material assigned (simple purely elastic medium).

What am I missing here? How can I make sure that these parts don't keep intersecting? I've tried different mesh sizes and that doesn't seem to make any difference.
 
Replies continue below

Recommended for you

They may well have intersected when you built it, but too small to notice. Use the overclosure option to move the nodes so that they don't overlap before the analysis starts.

corus
 
Corus: Thanks for your reply. I checked, and you're right, some of the parts are actually overlapping minimally at the beginning of the analysis, although why is unclear, seeing as I defined each part vertice directly by coordinates (maybe something to do with the meshing).
I combed the manual for the overclosure option you mentioned, but all I could find is that Abaqus/explicit is supposed to perform an overclosure analysis at the beginning of the first analysis step and fix any trouble, which it obviously isn't doing.
Next attempt was to try and define an initial clearance on all my contact pairs. To do this, sliding formulation has to be set to 'small sliding' in the interaction editor. This however provokes the error message:
SMALL SLIDING CONTACT CAN SPAN MORE THAN ONE STEP BUT IT CAN ONLY BE DEFINED IN THE FIRST STEP OF AN ANALYSIS.

I have tried defining the contact (and with it the clearance) in the initial step as well as in the first analysis step, and always get the same error.

What am I missing here?
 
I'm not sure why you're using explicit as your material is elastic and the only non-linearity is in the contact. Try running it in standard where you can apply the overclosure conditions. It may also indicate other problems you're not aware of before you run it in explicit, if that's what you want.

corus
 
Ok, so I tried converting the model to run in implicit (whew, lot of work), but it doesn't really help much.

I now have all the interactions defined as:

Discretization method: surface-to-surface
Sliding formulation: finite sliding
Adjust only to remove overclosure
Contact Controls: default

The interaction properties are like before.

I still have several occurances of intersecting parts, not right at the beginning, but after the first few increments.

So, any other ideas?
 
Ok, so I tried converting the model to run in standard (whew, lot of work), but it doesn't really help much.

I now have all the interactions defined as:

Discretization method: surface-to-surface
Sliding formulation: finite sliding
Adjust only to remove overclosure
Contact Controls: default

The interaction properties are like before.

I still have several occurances of intersecting parts, not right at the beginning, but after the first few increments. This then seems to cause the run to abort. So all-in-all, I'm even slightly worse off than before.

So, any other ideas?
 
If they intersect after the intial conditions of removing overclosure then the master surface must be moving through the slave surface at odd points. Pick the slave surface to be the more finely meshed surface, or as the softer material. Also use *contact controls, automatic tolerances.

corus
 
Actually, in the most obvious case, the slave surface (meshed at 1000m mesh size) is moving through the master surface (meshed at 5000m). Slave surface is also the softer material (barely).

Trying with automatic tolerance in contact controls now. I'll let you know if it helps.

Btw, thanks for all the hints you've given me so far, I really appreciate the help.
 
Ok, so no luck...don't see any difference.

I've now tried changing the constraint enforcement method of the normal behaviour in the interaction property definition from default to augmented Lagrange, so I can adjust the penetration tolerance in the contact controls. A relative tolerance of 0.01 didn't do any good, so I'm trying with an absolute tolerance of 0.01m now.
Automatic overclosure tolerances are selected at the moment, but I might try setting them more restricively if you think that might be helpful.

And further hints you might have...keep 'em coming.
 
With contact the normal practice is to impose a fixed displacement in the first step just to get everything in place and build up reaction forces wtihin the parts. Try that in the first step, then remove those fixed displacements in the 2nd step and impose your self weight.

ex-corus (semi-detached)
 
Not quite sure what you mean with 'fixed displacement'. Do you mean a displacement boundary condition applied to the entire model with displacements set to zero?
 
Fixed displacements means to apply a fixed value to one part and restrain the other part at some place to zero. Basically you 'nudge' the parts together with some small displacement so contact is made. By imposing fixed values then the structure is stable and you should get a solution. The parts will then initially act as a single part with contact made for the 2nd step where you impose the true conditions/loads etc.

ex-corus (semi-detached)
 
Ah, right...that makes sense, thank you.

I've tried this, but to no avail. I use a linear amplitude, which goes from 0 to 1 over 36'000 seconds, and a small displacement of 10km along the top of the model. The bottom is fixed. Runs fine for the first few increments, then suddenly the parts start overlapping again.

I've switched back to explicit btw, as standard was just too bug-ridden to work with. I can't open the Results file directly, getting an error message about the odb being corrupted. So I have to shut down CAE completely and restart it, then the odb opens without problems. But that means I can't check on the results of a running job, and keep have to check out new licenses...no thanks.

I think I might start with only two parts and then keep adding the others until I see where this weirdness is coming from.

As always...any ideas or hints are strongly appreciated.
 
Sounds like you have a bad install. I would fix that before going any further. I have never had any of those issues. Sometimes CAE crashes however it almost always can recover. I hope this helps.

Rob Stupplebeen
 
I've had the same issue with corrupt odb files and never properly resolved.

Explicit is more stable than standard as it's not so exacting as to reaching an equilbrium as parts can simply move about if they want. That's probably why it has run for a longer period.

Another issue with contact occurs with multiple parts. If you have more than two parts in contact then you'll have problems with convergence unless you first nudge them all together. Sometimes I've had to nudge two parts together in a step, then nudge the 3rd into the other two in a second step, and so on. The procedure will make the assembly act as a single part in the final step, whcih can then uncouple or couple up as the real loads are applied.

You could also define a double contact pair for each surface so that a single surface will be both master and slave to the opposing surface, which can also be a master and slave surface. It means defining two contact definitions for a pair of surfaces in contact but will ensure that the two surfaces can not pass through each other. It'll also increase the run-time.

ex-corus (semi-detached)
 
*g* yes, I have slightly more than 2 parts. 15 parts in a complex geometry forming 25 contact surfaces (think pack-ice).

The entire purpose of the model is to push one part and see how the others move in response.

I'll look into your idea of nudgeing each part into the others in a seperate step.

As for double contacts, I tried that a while back, but I keep getting an error:

SEPARATE *CONTACT PAIR REFERENCES TO THE SAME SURFACES, ASSEMBLY_GOTTHARD-1_SURF-1 and ASSEMBLY_PENNINIC-1_SURF-1, WITHIN A STEP

does that maybe only work in standard?
 
Status
Not open for further replies.
Back
Top