Page 1 of 2

Error in `ElmerSolver': free(): invalid next size

Posted: 20 Nov 2019, 13:11
by maike151
Hello everyone,

I keep on getting this Error: *** Error in `ElmerSolver': free(): invalid next size (fast): 0x0000000003ed8970 ***

I remeshed my geometry with different parameters about twenty times now and it keeps on failing in the second elasticity iteration. I did the exact same simulation on the same geometry just with a coarser mesh and it worked without any problems. Now I want to refine my mesh for validation reasons and it does not work anymore.

Here you can find my mesh and my sif: https://www.dropbox.com/s/881jio48cjbke ... m.zip?dl=0
The Mesh was made with Salome. The Simulation is the tensile test of a woven structure out of metal wires including contact between the wires.

I would appreciate any help.

Sincerely
Maike

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 21 Nov 2019, 02:51
by kevinarden
My guess is you ran out of RAM, mesh is too big. I tried it and ran out of RAM. I have 6 GB, and 6 GB swap. I have a 32 Gb machine at work I can try it on tomorrow.

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 21 Nov 2019, 12:08
by maike151
I checked that via the "top" command in a terminal. I did not run out of RAM. I have a 80 GB machine with 20 GB Swap and the Swap wasn't even used. I already ran bigger simulations with more nodes.

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 21 Nov 2019, 12:10
by maike151
It has something to do with a pointer error. I think the Solver wants to free something it didn't allocate. This is not an error thrown by ElmerSolver, but by the system itself.

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 21 Nov 2019, 12:21
by maike151
It's also not always the same error. Sometimes I also get

*** Error in `ElmerSolver': corrupted size vs. prev_size: 0x0000000002893b10 ***

This is also pointer related.

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 21 Nov 2019, 12:46
by maike151
After remeshing a thousand times it acutally ran through until Elasticity iteration 10 and almost made it through the first timestep. But then again crashed, this time with the error:

*** Error in `ElmerSolver': double free or corruption (!prev): 0x00000000034d9a00 ***

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 23 Nov 2019, 01:23
by raback
Hi Maike

I had a quick look. Your case looks just wonderful!

Unfortunately, the contact mechanics features of Elmer have not been fully generic. We started the work actually first creating projection matrices for rotating boundaries and periodic systems. For these the assumption was that the surfaces may be mapped using some coordinate transformation to two planar or cylindrical meshes. Hence the contact mechanics between arbitrary boundaries have not really been supported. The "Level Projector" keyword means that the we map the system to xy-plane. This can't be done for your case.

Now, there are also some other projects that would require generation of projector matrices in a more generic case. So I took a go yesterday and wrote a new routine for generating projection matrices. This one takes each slave element and uses local normal-tangential coordinate system when finding the mapping. A rough search is used to narrow down the candidate elements, and for each candidate we use the same local coordinate system to perform the integration. Seems to work nicely but it didn't work out of the box for your case.

This new developments may be found in "NormalProjector" branch.

So we may be getting there but it is definite that you cannot solve the problem without a more generic projector. You might put additional effort to create contact pairs that are mappable to a plane, but I would not try to take that route.

-Peter

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 25 Nov 2019, 12:18
by maike151
Hello Peter,

thank you for your answer and effort.

I am a little confused now, because the exact same case works using this mesh for example: https://www.dropbox.com/s/8inxaiv10bgkh20/mesh.zip?dl=0
This is the same geometry just with a coarser mesh. It actually delivers pretty good results close to the values that were measured in the lab. I was just refining the mesh to see if the error could get even smaller.
I also already tried it with a bigger cutting of the weave with nine contact pairs and it worked too. Now I am afraid these were only coincidences.

Sincerely,
Maike

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 25 Nov 2019, 12:49
by raback
Hi Maike,

Ok, that's good if it works. I guess this just happens to also work with the "Plane Projector" even though it looks to me like it would not. I think it creates at least redundant projections between the "wrong" sides but they are probably eliminated later due to the larger distance.

I may get back to contact mechanics later in the week and might look at this as well. It is much easier to compare a working and non-working case than to look just at a non-working case.

-Peter

Re: Error in `ElmerSolver': free(): invalid next size

Posted: 13 Mar 2020, 11:30
by maike151
Hi Peter,

i would be very thankful if you could inform me about any new developments in the contact mechanics area, especially concerning projectors that would be more suitable for my problem.

Sincerely,
Maike