Search
Close this search box.
Notifications
Clear all

ABAQUS Element Deletion -> deleting whole element

14 Posts
5 Users
0 Likes
4,190 Views
Posts: 8
Topic starter
(@johnlevis)
Active Member
Joined: 12 years ago

Hi guys,

I am using ABAQUS VUMAT with the element deletion. That is working fine so far, but now I am interested in deleting the whole element (that is all involved integration points) rather then only one single material point when the failure criterion is met.

Is this possible to do?

Thanks for your help in advance

Konrad

Topic Tags
13 Replies
Posts: 3998
(@jorgen)
Member
Joined: 4 years ago

Hello Konrad,

My understanding is that if an element point is deleted, then the whole element it deleted.
Do you not think that is the case?

Also note that some reduced integration point elements only have one integration point...

-Jorgen

Topic Tags
13 Replies
Posts: 8
Topic starter
(@johnlevis)
Active Member
Joined: 12 years ago

Hi Jorgen,

thank you very much for your reply.

I think it is the way I wrote. Abaqus only!! deletes the material/integration points.

See the section below taken out of the abaqus 6.12 vumat manual:

[I]Material point deletion

Material points that satisfy a user-defined failure criterion can be deleted from the model (see User-defined mechanical material behavior, Section 25.7.1 of the Abaqus Analysis Users Manual). You must specify the state variable number controlling the element deletion flag when you allocate space for the solution-dependent state variables, as explained in User-defined mechanical material behavior, Section 25.7.1 of the Abaqus Analysis Users Manual. The deletion state variable should be set to a value of one or zero in VUMAT. A value of one indicates that the material point is active, while a value of zero indicates that Abaqus/Explicit should delete the material point from the model by setting the stresses to zero. The structure of the block of material points passed to user subroutine VUMAT remains unchanged during the analysis, deleted material points are not removed from the block. Abaqus/Explicit will pass zero stresses and strain increments for all deleted material points. Once a material point has been flagged as deleted, it cannot be reactivated.[/I]

I double checked this by doing a simple calculation with the linear hexahedron-elements C3D8R (those elements are immediately deleted) and quadratic tetrahedron elements C3D10M (those are not immediately deleted).

My Problem is that I have to simulate an automatic genereated random microstructure which could be meshed by tetrahedron elements only.

When using the element deletion technique in the standard way, I got excessive elementdistortions because not the whole element but only a part is deleted.

At the moment I try to get acess to the actual element number in the vumat and globaly save wether an element has a failed integration point or not to then set the deletion flag for all integration points.

But this is quite a hassle because I would use COMMON BLOCK and the vumatXtrArg where everything has to be declared implicitly.

So I guessed this is just a creepy work around.

Do you think there is a better way to do that?

Reply
Posts: 93
(@kiranckst)
Trusted Member
Joined: 14 years ago

Yes it is the case that all integration points must be deleted for the element to be removed. I think I would have done mostly the same as you have to identify all integration points in an element. However, have you checked if all integration points for an element are in the same nblock (this may require a little trial and error)? If they are then no need for messy common blocks. If not things are messy like you say since it may be that not all integration points in an element will be removed in the same increment.

Reply
Posts: 8
Topic starter
(@johnlevis)
Active Member
Joined: 12 years ago

Hi lumpwood,

unfortunately not all integration points of one element are in one and the same block. It is more like the oposite. The vumat procedure is conducted integrationpoint wise.
For instance consider quadratic thetrahedron elements with reduced integration with four integration points (lets call them A B C and D).
In the first couple of nblocks all integretaion points named A are processed. Than in the next couple of blocks all integration points reffered to as B are processed and so forth.
I already checked this for a small model with 12 elements. In this model the vumat was called 4 times were as the value of nblock was 12.
So I sadly guess my problem must be done in the messy way 🙁

But thanks for your comment anyway. It shows that I am not completely on the wrong way.

Best regards

Reply
Posts: 5
(@sjk.akol@gmail.com)
Active Member
Joined: 11 years ago

Hi Konrad,

I have a similar problem... Im using S4R composite shell elements with an Abaqus VUMAT. I try to delete the whole element if the failure criterion in one of the layers is met. Did you find a way to solve your problem meanwhile? Does anybody have an idea how to do this?

Thank you very much,
Sebastian

Reply
Posts: 8
Topic starter
(@johnlevis)
Active Member
Joined: 12 years ago

Hi Basti,

yes I solved my problem although I did not solved it by removing the whole element. I had a very tricky bug in my vumat. So every time I an integration point was deleted everything just blow up. So removing the whole element did not solved my problem. However I was able to remove a whole element. But the way I did it is realy messy.

What you have to do is to use vumatXtrarg (vumat with extra arguments -> search this forum), then introduce a common block withe a huge array (dimension is the amount of elements of your model). In this array you would set a flag whether any of the element which is processed by the actual vumat call is still active or not.

So in the end if the integration point 1 of lets say element 1000 is deleted then a flag in the common block array at position 1000 is set. As soon as you process any other integration point of this element the next time, lets say integration point 2, it will show that the element is failed already and also this integration point should be set to inactive.

I hope this example makes things clearer.

Why do you want to delete the whole element anyway?

Reply
Page 1 / 2
Share: