×
INTELLIGENT WORK FORUMS
FOR ENGINEERING PROFESSIONALS

Log In

Come Join Us!

Are you an
Engineering professional?
Join Eng-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Eng-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here

Jobs

General contact problems

General contact problems

General contact problems

(OP)
Good Afternoon fellow colleagues

Recently, I've been running a few tests with contacts in abaqus. The last one (a beam-solid contact) failed. It is basically a polymer pipe with four wires of helicoidal tensile armor inside. The contact seems to be ignoring the polymer layer and the wires are passing through. When I checked the status file, I found the following warning:

"Some nodes involved in general contact have penetrated their
            tracked faces by more than 50.000 percent of the typical element
            dimension in the general contact domain, 4.5263. Please check the
            node set "InfoNodeDeepPenetFirst" in Abaqus/Viewer for more
            information. Please make sure that these nodes and their
            contacting faces have sufficient mass to allow the code to
            calculate realistic contact penalties for enforcing the contact
            constraint."

How can I fix that?

I basically used penalty-hard contact properties and the default general contact setup. It is relevant to say that it worked with contact pairs.

Thanks in advance

PS.:

THE CONTACT SETUP SCRIPT

#Contacts#######################################################################

mdb.models['Model-1'].ContactProperty('IntProp-1')

mdb.models['Model-1'].interactionProperties['IntProp-1'].TangentialBehavior(
    dependencies=0, directionality=ISOTROPIC, elasticSlipStiffness=None,
    formulation=PENALTY, fraction=0.005, maximumElasticSlip=FRACTION,
    pressureDependency=OFF, shearStressLimit=None, slipRateDependency=OFF,
    table=((0.2, ), ), temperatureDependency=OFF)

mdb.models['Model-1'].interactionProperties['IntProp-1'].NormalBehavior(
    allowSeparation=ON, constraintEnforcementMethod=DEFAULT,
    pressureOverclosure=HARD)

mdb.models['Model-1'].ContactExp(createStepName='carga', name='Int-1')

mdb.models['Model-1'].interactions['Int-1'].includedPairs.setValuesInStep(
    stepName='carga', useAllstar=ON)

mdb.models['Model-1'].interactions['Int-1'].contactPropertyAssignments.appendInStep(
    assignments=((GLOBAL, SELF, 'IntProp-1'), ), stepName='carga')

 

RE: General contact problems

Hi,

You do not have to worry about the warning.
In many cases the results are still valid.
General contact use penalty formulation so it is almost impossible to avoid contact penetration during simulation.

Basically it means penalty force was not sufficient to remove contact penetration.
But if you did not see problem with contact on animation (one body going into another) your results should be fine.

If you want to fix the warning I see following options:
1. cut down your time step
2. use higher contact forces (scale them by one order up)
3. instead general contact use contact pair with kinematic formulation.
4. disable writing this warning into *.sta file with following keyword:
*DIAGNOSTICS, DEEP PENETRATION FACTOR=100.0

Point 4 works always smile

Regards,
Bartosz

RE: General contact problems

(OP)
Firstly, thanks for you reply Bartosz!

Its not only the warning message, but I saw the parts passing through each other in the results. I suspect the reason for that is the initial condition of the two bodies (initially bonded). When I put a small gap between them, the contact works fine.

I will try the penalty force ajustment, like you said.

If you know how to do it without adding this gap, I would be grateful.

Regards

Eduardo

 

RE: General contact problems

Hello Eduardo,

One short question, are You using Abaqus/Standart or Abaqus/Explicit.
I am asking since general contact behave in different ways for these two solvers.

Regards,
Bartosz

RE: General contact problems

(OP)
I am using Abaqus/Explicit.

RE: General contact problems

Hi Edumalta,

I'm having the exact same problem. Did you find a solution? I'm am going to try the contact pair method instead of general contact but I find it difficult to get right.

My problem has a strange aspect to it. I am running the contact problem with a user defined material model, which I know is identical to the holzapfel model included in abaqus. When I use the subroutine I get the horrible contact problem, but when I use the internal model, I don't....

Does anybody know why this would be? Does abaqus include something on contact behaviour in it's internal models that I would be missing in m subroutine? I've validated the subroutine against the internal model for non-contact problems and they're identical.

Thanks,

Aisling

RE: General contact problems

(OP)
Hi Aisling,

I found a temporary solution for my problem, but its not really what I wanted. I put a small gap between the contact parts and the model runs fine.

I have a few questions for you, regarding your problem:

Have you tried the following combinations?

-User defined material with general contact;
-User defined material with contact pairs;
-Internal model with general contact;
-Internal model with contact pairs;

Are you using penalty method?

Are you using UMAT or VMAT?

Are you using Abaqus/Explicit?

You see, this will help me to narrow the possibilities of error in your model.

Regards

Eduardo

 

RE: General contact problems

Hello Eduardo,

As I understand the root of the problem is initial penetration between parts in contact.
The best way is to remove all penetration manually before submit the analysis.
If for some reason this is difficult or impossible to do the penetrations in general contact are removed automatically by Abaqus/Explicit.
Perhaps your penetration is too big to be removed with default settings.
Please take a look for following chapters in Abaqus documentation:
34.4.4 Controlling initial contact status for general contact in Abaqus/Explicit
37.2.1 Contact diagnostics in an Abaqus/Explicit analysis

Regards,
Bartosz

RE: General contact problems

(OP)
Bartosz,

Thanks to your tip, I was able to find some interesting information in the Abaqus manual.

"The terminology "contact edges" refers to feature edges of surface facets (on both shells and solids) as well as to segments representing beam and truss elements. The contact edges representing beam and truss elements have a circular cross-section, regardless of the actual cross-section of the beam or truss element. The radius of a contact edge representing a truss element is derived from the cross-sectional area specified on the truss section definition (it is equal to the radius of a solid circular section with an equivalent cross-sectional area). For beams with circular cross-sections, the radius of the contact edge is equivalent to the section radius. For beams with non-circular cross-sections, the radius of the contact edge is equal to the radius of a circumscribed circle around the section. If connected edges have different radii, a nodal radius is first computed as the minimum radius of the adjacent contact edges, and the radius of the edge cross-section is interpolated linearly over the length of the contact edge from the nodal values. Shell element edges reflect the shell thickness in the normal direction and do not extend past the perimeter (similar to shell nodes and facets). Some numerical rounding of features occurs for both node-to-facet and edge-to-edge contact."

I guess this is it. The beam elements have a contact surface with a defined radius. Whe modeling a contact between a beam and a certain surface, a small distance between them is needed (this distance varies depending on the cross-section).

Regards

Eduardo

RE: General contact problems

Hi Eduardo,

so the main issue for me seems to be the user-defined material V abaqus material rather than the general contact V contact pair.

I'm using the vuanisohyper subroutine. I tried the following combinations

1) vuanisohyper + contact pair (kinematic)
2) vuanisohyper + general contact
3) Abaqus Holzapfel model + contact pair (kinematic)
4) Abaqus Holzapfel model + general contact

I get different results for 3&4 but the big problem is with 1&2. I have a submodel boundary condition driving the edges of the model as shown in the picture, but the top surface isn't displaced by the rigid body at all. (i realise the mesh is very coarse but that's just so I can debug faster for now)

I've attached image of 2) and 4) to illustrate the problem. There is very little difference in the code between these two models, only the material definition...

2)
*anisotropic hyperelastic,user,formulation=invariant, local directions=2,type=compressible,properties=6, dependencies=2
 <C10>, <D>, <K1>, <K2>, <Kappa>, <FS>
*DEPVAR, delete=2
2
1,USVM,"User stressVM"
2, damage, "damage flag"
*USER DEFINED FIELD
......
......
*FIELD, Variable=1
Set

4)
*anisotropic hyperelastic,holzapfel, local directions=2
 <C10>, <D>, <K1>, <K2>, <Kappa>

I'm no longer sure if this is a contact problem or a problem implementing the user material!

Thanks,

Aisling

RE: General contact problems

(OP)
Aisling,

Since you are using solid elements, the general contact should work fine. I guess your problem is with the user defined material. I am not used to work with subroutines, so I can't help you much.

My suggestion is:

If you modified another subroutine to do yours, you should run the original one first. See if it runs...

Another option is to try a functioning subroutine (there are plenty on the web).

If you started yours from zero, I say you should debug your code using visual studio and similars to see what happens to your internal variables.

These measures are for you to guarantee that your problem is in the subroutine and not the contact.

Well, good luck to you. I'm still here if you need.

Regards

Eduardo

RE: General contact problems

I found the problem and it was just a silly mistake with the subroutine!

Thanks for your patience all the same Eduardo,

Aisling

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Eng-Tips Forums free from inappropriate posts.
The Eng-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Eng-Tips forums is a member-only feature.

Click Here to join Eng-Tips and talk with other members!


Resources