×
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

Nitinol Superelastic Model: Loading and unloading
2

Nitinol Superelastic Model: Loading and unloading

Nitinol Superelastic Model: Loading and unloading

(OP)
Hi,

I am currently working on a simulation with a thin Nitinol wire. A rigid body is displaced down until it contacts and bends the wire, producing ~3% max strain. The rigid body is then displaced back up until the two come out of contact.

The strange thing is, the simulation runs fine in the forward direction, with the rigid body coming into contact with the wire. However, upon unloading and detachment, the solution fails to converge ("Too many attempts for this increment"). If steel is instead selected as the material, this problem does not arise.

I have tried messing with various contact parameters and refining the mesh, but have not been able to resolve the issue. Any ideas?

More details:
Abaqus/Standard
Contact properties:
-Node-to-surface, no tangential friction, normal -> "Hard" contact, default setting
-Allow separation: on
Element type: C3D20

Thanks!

RE: Nitinol Superelastic Model: Loading and unloading

(OP)
I think I may have discovered the issue. I had left the parameter Sigma_CL^S, the "Start of transformation stress during loading in compression", blank.

Any insight as to why this would allow simulation of loading but not unloading? Strange.

Also: Changed element type to C3D8I

RE: Nitinol Superelastic Model: Loading and unloading

(OP)
It was actually the "Volumetric transformation strain", epsilon^L_V. I switched back to C3D8 to avoid element alignment issues.

Now I am experiencing convergence issues towards the very end of the simulation (98-99% complete). The message file indicates:
FORCE EQUILIBRIUM NOT ACHIEVED WITHIN TOLERANCE
and the elements which underwent the greatest deformation in loading are not fully recovering to their original position. Moment and contact equations are converging, and no errors from the UMAT.

Any insight appreciated.

Thanks

RE: Nitinol Superelastic Model: Loading and unloading

As you are bending, try using either:
C3D20R - as per abaqus 6.9 (or 10?) Abaqus changed the contact algorithm to make it work with quadratic hex.
C3D8R with at least 4 elements through thickness
C3D8I elements.

By looking at the .msg file, you can check to see which element(s) and node(s) are causing problems. You can also look at it in viewer/CAE (tools-> job diagnostics). The FORCE EQUILIBRIUM NOT ACHIEVED WITHIN TOLERANCE could be caused by ill defined BC's (in that case the node w problems will be one on or near a BC).

That's all I can think of without seeing the actual model.

RE: Nitinol Superelastic Model: Loading and unloading

(OP)
Sdebock,

Thank you. I have tried C3D20 and C3D8I elements with this model, but the C3D20R and C3D8R give me the error "Hourglass stiffness required." I know where to enter the hourglass stiffness, but I'm not sure what values to use. Are there defaults for this? The C3D20 and C3D8I yielded very long solution times and seemed to have more problems with convergence, but I can try again. The model consists of a round wire, with 4 elements through the thickness.

Anyway I checked on the node as you suggested and the node with the greatest residual force is in a region at the midpoint of the bending element, far away from the contact surface and the boundary conditions for the beam. There is little stress or strain here...

Would a screenshot or model file be more helpful?

Thanks,
Nucleophobe

RE: Nitinol Superelastic Model: Loading and unloading

You indeed need hourglass stiffness for the reduced integration elements, especially for the C3D8R (that's why i recommended at least 4 elements trought thickness). If it's a round wire, C3D20R seems the way to go, you can set hourglass stiffness to 'enhanced' (no values needed), it's under *section controls if I'm not mistaken.

It is true that the C3D8I and C3D20R will take longer, but you will not need as many elements as for the C3D8(R), normally the C3D20R are the most efficient 3D solid elements.
I still think it's a matter of mesh, perhaps the shape metric (how much your elements look like perfect cubes) is not optimal. Still it is strange to have it occurring at the the end of your simulation, and in a region with little to no stress.
If you feel comfortable sharing e.g. an input file, feel free, it will help us find out your problem :)
Uploading the .msg file might help too, if you dont wan't to share your model.

RE: Nitinol Superelastic Model: Loading and unloading

Nothing Here
The file you are looking for has been deleted or moved.

RE: Nitinol Superelastic Model: Loading and unloading

So, I found some errors, I'm running it now so I'm still not sure if it will work now.
But still.

1. you probably want the result at room temperature? abaqus default temp is 0, in the material
*User Material, constants=15
40000., 0.33,32000., 0.33, 0.055, 6.7, 440., 540.
0., 6.7, 250., 140., 440., 0.055, 0.
This parameter states at which temp you are giving the values, so either set this one to 0 (like I did), or set the temperature of ABQ to 22 (*temperature)

2. you have to name the material ABQ_SUPER_ELASTIC_N3D if you are using 3D elements, N2D if shell, N1D if beam. (According the the manual I have at least, don't really know what happens if you don't, maybe the default is 3D anyways)
3. changed elementtype to C3D8I, since you'll be bending
4. *Surface Behavior, PENALTY is faster than the default (hard contact), downside is you will have (small) penetrations of the surfaces into each other, you can decide if they matter.

and now for the big one.
5. USE NLGEOM=YES
You are clearly straining the material beyond 1%, there are large rotations, there is contact, you have a non linear material, about all the warning flags that should light op are lit.
*Step, name=removeFilter, inc=100000, NLGEOM=YES,UNSYMM=YES
6. From personal experience, unsymmetrical matrix storage works better with contact.
You can also try using TYPE=SURFACE TO SURFACE in the contact pair.

And I'm curious, what are you modeling? An embolic protection filter or a snare of sorts?


RE: Nitinol Superelastic Model: Loading and unloading

(OP)
sbebock,

That should help immensely; I wondered if I needed NIGeom on. To answer your last question first, yes; this is an IVC filter for preventing pulmonary embolism when anticoagulants are contraindicated.

1) Actually, we are trying to simulate in-vivo, hence 37C (the units are C, right?)
2) From my understanding of the UMAT document, N#D only applies to the Abaqus/Explicit, though I could be wrong. I'll check this.
3) Thanks; I have a paper on stents that recommends this as well, so that's two opinions. I'll switch to incompatible elements.
4) Trying penalty now too. This should be fine, I didn't realize it was faster
5) Again, thank you. >10% strain at the top (which seems awfully high...)
6) Surface to surface contact was really touchy and tended not to converge. When I was using it, though, I was selected ALL surfaces on the filter mesh (including internal). This also made runtimes unbearable. I'll look for a way to select only the outside surfaces and try again.

A simulation just finished with C3D20R elements, but it choked at 97.2% after 4 hours on 16 processors (Too many attempts for this increment). I hope the NIGeom fixes things.

Still seems strange for it to fail at the end... I'll let you know how it goes!

RE: Nitinol Superelastic Model: Loading and unloading

(OP)
Success! NLGeom seems to have done the trick. You can see that the end of the analysis is actually quite stable as well. Before I was seeing multiple cutbacks until the timestep was down to 1E-6 and lower, then finally it would abort.

I started using Abaqus just last month and made quite a bit of progress until I ran into this problem a couple weeks ago. Now I can finally move on! smile

Thanks again sdebock!

Recap for others who run into problems:
- Use NLGeom with non-linear geometry ie. large displacement!
- Use C3D8I elements when bending loads are dominant (also good in general for Nitinol wires I've now read)
- Penalty contact modelling is more efficient when contact tolerances are not crucial
- Even if come settings cause the model take much longer to run, they may lead to convergence (more refined mesh / more computationally taxing elements)

RE: Nitinol Superelastic Model: Loading and unloading

On the matter of temperature, the parameter I highlighted in red says 'temperature at which the values are specified'.
They then change with temperature according to the stress/delta_temp values (6.7N/C) in your case.
If you want to simulate at 37 degrees, you should add a *temperature keyword (or in CAE), with all the nodes of your device, or directly specify the material parameters at 37 degrees, and set the parameter in red to 0, as that is the default temperature off all nodes.
Abaqus is unitless, so it's not (or either) C or K (but definitely not Fahrenheit)

RE: Nitinol Superelastic Model: Loading and unloading

(OP)
Got it, I wasn't reading that carefully enough before. So by setting the temperature to 37 degrees in the material, I am really saying that at 37 degrees ABOVE room temperature the material properties are ... and I want to simulate at 0 degrees, or 37 degrees BELOW the temperature at which the properties are specified.

That's not good, I'll make sure to fix it.

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