Trouble with contact on an ironing-like problem

I’m trying to run a contact simulation between a “stiff” eraser and a “soft” block. In Abaqus the simulation should look something like this:
Frictionless w/ Implicit Dynamics (Backward Euler)

and this:
Friction w/ Implicit Statics

I understand that friction isn’t supported yet in the end-user Flex/Crunch stack, so I’m working on the former, frictionless problem. I seem to be having all sorts of issues with losing contact as the eraser passes over element interfaces on the block. I’ve used Uniform30 for master seeds and slave quadrature in the video below. I’ve tried swapping master and slave surfaces, soft-contact, varying penalty, only gpts_2D works (the other formulations crash at instantiation), tighter tolerances… I’m just a bit lost. I was wondering if someone could help me understand what’s going wrong and how to fix / alleviate the problem.

Crunch_Eraser (1)

Here are the Trelis file and a set of cards to import, in case you want to build a different U-spline (example above is P2C1).
Ironing.trelis (87.0 KB)
SimulationParameters.json (6.7 KB)

And here’s just a simulation input deck – I think it’s the one that made the video above.
Ironing_P2C1.json (260.1 KB)

I downloaded the simulation parameters.json file and it seems you are using QP1 for slave quadrature. Is that correct? If so, try running the simulation using Q10 for the slave quadrature

@Pulama Bhattacharya my best results have been using Uniform30 for both master seeds and slave quadrature – which is what I use in the above animation. Contact seems to miss altogether, or allow deep (~1 element) penetration if I use anything less. I mostly put this simulation together because I suspected it might present some challenges (e.g. element interfaces interacting with each other etc.)

The parameters.json file really just contain the parameter-set from my first simulation attempt. I’ve then made modifications directly in the actual JSON inputs and tried re-running.

Okay, I have had issues myself in the past with UNIFORM K Quadrature rules. Use Q10 on the slave side and UNIFORM10 on the master.

I have worked on similar ironing problems with almost similar geometry in the past and they worked fine for me. So I am not sure what is going on. But if you have the same issues with Q10, then let me know and I can run it myself

Here’s the results from using Q10 on the slave and UNIFORM10 on master:
Crunch_Erase_Q10

And if I swap the master and slave surfaces in the contact formulation:
Crunch_Erase_Q10_surfswap

Okay can you send me your most updated json file so that I can run it

Here’s the Q10-U10 model you suggested:
Ironing_P2C1_U10_Q10.json (260.1 KB)

And here’s my best solution so far (gets past the first element interface, dies near the second).
Ironing_P2C1_U30_U30_soft_seeds-100.json (260.1 KB)

Thanks Greg. Actually I am looking at it right now. Will let you know once I figure out the issue.

greg_contact_problem.json (675.0 KB)

Thanks @PulamaBhattacharya! Figured I’d upload the results.

P4C3
Crunch_Eraser_P4C3 (2)

Just wondering, what was the fix?

1 Like

Per a conversation that Pulama and I had:

Maybe not so much a fix as a “here are parameters that happen to work.” I brought up that I was even having trouble solving the initial contact without having the drastic penetration - Pulama doesn’t know why that is/was happening and is investigating. There are some other things she’s going to look into which may end up being more real fixes.

But as far as finding parameters that worked, Pulama’s contact model had these key differences:
"master_seeds": "UNIFORM10"
"slave_quadrature": "Q10"
"nearest_point_max_iteration_n": 15,
"search_sphere_tolerance": 2
She also used a penalty that was ~100x larger than mine (which was itself ~100x larger than my stiffest material), but that didn’t seem to be as useful as the above modifications.

Also, as a note, we would expect an augmented Lagrange mortar formulation to work better, but this isn’t implemented yet. Also, this is frictionless due to the lack of friction contact implementation - friction would help dissipate energy and give some stability to the solutions.

1 Like

@gvernon
I am documenting my results for this problem. The only thing that I have changed in the input file is instead of using a linear elastic material model, I am using a non-linear elastic material model
GPTS with penalty constant 100 * E_stiff( soft contact : true)
https://drive.google.com/file/d/14jfQK_DHiyIvdJJkxdX1Cq9UTRBYcd2I/view?usp=sharing
Mortar with penalty constant 100 * E_stiff( soft_contact : true)
https://drive.google.com/file/d/13BqawBkQoUb6gE_MI_5MhwuK75kJx9M8/view?usp=sharing
Mortar with penalty constant 10 * E_stiff (soft_contact : true)
https://drive.google.com/file/d/1iLvtHxPTLBhS3A24LcZwB1KuA8ECtmB5/view?usp=sharing
The overall performance of Mortar is better with GPTS. The analysis being dynamic, we are seeing some oscillations of the eraser. This is due to the ill-conditioning introduced into the system due to a high penalty constant. As I reduce the penalty constant the analysis runs till termination in fewer time step but we are losing accuracy. I think this the reason why you get better results with ABAQUS bcz ABAQUS uses AL method for constraint enforcement.

1 Like