Correct way to model internal material friction/damping?

Ingeniorator
Ingeniorator New Altair Community Member
edited February 2022 in Community Q&A

Hello everyone,

 

which is the correct way to model internal friction in RADIOSS? I'm leaning towards Rayleigh damping, but I'm not too sure since the description in the documentation is a bit unclear. As for the model, I'm simulating a drop test of a magnesium dummy head and plastic (polyamide for the moment) bicycle helmet against a rigid wall. There are some TYPE2 ties, type 20 contacts between solids/beams, beams/beams, solids/shells and beams/shells with a constant friction coefficient of 0.2 for all instances, as well as a 0.2 friction coefficient between the helmet shell and rigid wall. The plastic is modelled as M36_PLAS_TAB material with 3 strain rate curves, whereas the rest are linear elastic materials.

 

The issue is some unrestrained, high velocity vibrations stemming from a lack of material damping, as seen in the first attached picture (green/red curves). Applying an ideal high pass filter to the results shows some lower-velocity oscillations of around 2kHz, which is in line with the first eigenfrequency of the dummy head. The second image shows the same model with Rayleigh damping (alpha = beta = 0.01 for all nodes), with much less noise, but also very different kinetic and internal energy curves, which is quite unexpected. Also, the Z acceleration and accel. magnitude curves diverged quite a bit in the first model, they now almost overlap, so the X acceleration previously present seems to be cancelled out. I also noticed that the damping influences the gravitational acceleration measured at the head's center of mass, as it gets reduced from 9810mm/s^2 to 9755. Not a huge difference, but still odd.

 

So, is Rayleigh damping the right way to model internal friction? I assume to have made some wrong assumptions in the model, first of all by using the same damping coefficients for all components, and I'm lacking some validated or at least roughly estimated values for the damping coefficients. Is there a better way to approach this? Which coefficients would be appropriate for magnesium/plastic?

 

Also, the following is mentioned in the documentation:

Stiffness damping is a unit of time and for any DOF cannot be greater than the current time step. If stiffness damping becomes greater than the current time step, the time step value is used as the stiffness damping, instead.

However, I'm working with a time step of 1.2e-7s for this model, and this clearly is not the case as there's a noticeable difference between values of 0.01 and 1 for alpha/beta. In the RD-E: 1601 EXPLICIT Solver example, alpha/beta go up to 20, so I assume to be only of relevance in special cases?

Answers

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2022

    Hi, the guidance in /DAMP documentation is correct, and the example is misleading, Beta parameters larger than timestep will act as though they are set at timestep (in your case, you will be seeing difference as you are setting alpha differently too, if you ran with only Beta 0.01 and Beta 1.00, you should get the exact same result). So the example of using 10 for Beta in the example is not really helpful. In any case I am not sure rayleigh damping will help you too much as it may effect the model kinematics.

    From your description, there are a few things I might change initially. Type20 is a not often used contact, you may be better with Type24 or Type25. Any Elastic materials you have would be better modelled using LAW2, but with a yield set high (e.g. 1e10) (LAW2 has an inbuilt material damping that LAW1 lacks)

    If you could share your model, I could take a look for you?

    Paul

  • Ingeniorator
    Ingeniorator New Altair Community Member
    edited February 2022

    Hi, the guidance in /DAMP documentation is correct, and the example is misleading, Beta parameters larger than timestep will act as though they are set at timestep (in your case, you will be seeing difference as you are setting alpha differently too, if you ran with only Beta 0.01 and Beta 1.00, you should get the exact same result). So the example of using 10 for Beta in the example is not really helpful. In any case I am not sure rayleigh damping will help you too much as it may effect the model kinematics.

    From your description, there are a few things I might change initially. Type20 is a not often used contact, you may be better with Type24 or Type25. Any Elastic materials you have would be better modelled using LAW2, but with a yield set high (e.g. 1e10) (LAW2 has an inbuilt material damping that LAW1 lacks)

    If you could share your model, I could take a look for you?

    Paul

    Hi Paul, thank you very much for your insight. In the meantime, I tried out some combinations and got a bit more understanding of it.

    Concerning the alpha parameter, having a look at the Abaqus documentation on Rayleigh damping revealed that it practically adds viscous drag to any moving parts which is actually what was observed. Using estimated values of alpha = 123.9 and beta = 8.07e-4 yielded pretty odd results with a vastly different gravity acceleration acting on the dummy head's center of mass (see image below). So much so that the results are plainly wrong and unusable. Same goes for a test with an alpha and beta value of 1, but much less severe.

     

    image

    As for the beta parameter, only using this seems to introduce enough damping for the oscillations to disappear without influencing the model's kinematics. However, I don't know if the alpha parameter can/should just be ignored in this instance. Interestingly, without damping parameters the total energy drops by approx. 25% during the simulation, even without any friction at contact interfaces, so there clearly is an issue. But using alpha = 0 and beta = 1e-6 only yielded a 3.5% energy loss (with friction, see image below), so that's pretty odd in my opinion.

     

    image

     

    As for the interfaces, I chose Type20 since it can model shell/beam/solid contact. The helmet liner is composed of a 1D beam lattice instead of a solid, and the contact beam/beam, beam/solid and beam/shell needs to be modelled. This seemed to fit the purpose quite well. Is there a downside to using it? The documentation is sparse, as usual.

    The built-in damping in LAW2 sounds interesting, which parameter is used for the damping? I can't seem to find a mention of it in the documentation.

    Unfortunately, I can't share the model with you, even though it would make troubleshooting much easier.

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2022

    Hey you know, I think you are right on the LAW2 vs LAW1 thing, your question sent me down a bit of a rabbit hole!

    For as long as I can remember the advice has always been to use LAW2 with high yield in place of LAW1, but running a couple of check models, I can't actually find any significant difference between behaviour with LAW1 and LAW2, perhaps the advice goes back to a long since fixed bug?

    In fact, damping (dm) set on the /PROP/SHELL works for either/both, however there is no default value for either material law (so using LAW2 alone wouldn't help). The help says dm isn't active for law1 or law2, but that is only the case where dm is set 0 (blank), i.e. again, there is no default. 

    You can add different membrane damping to your shells (either LAW1 or LAW2) with dm = x on the /PROP/SHELL. The only remaining difference is that LAW1 shells use 'global integration' whereas LAW2 use the number of integration points through thickness set on the property.

    As for Interface Type 20, it has been deprecated (marked as obsolete in help) since v2019, that partially explains the sparse documentation, the reason for it being removed was it tended to be slow in SPMD (mpi) version compared to Inter Type 24 and the inter type 24 does much the same task... except:

    You are correct though, Type 24 has no means of entering beams for contact.

    My recommendation would be to use TYPE11 and TYPE7 in combination (small silly example attached)

    One other thought, are you using the 'raw' nodal pulse from the head centre? It would be more usual to define an accelerometer /ACCEL with a cutoff frequency to get a filtered output for the head motion. With this, you may be able to remove any and all damping and get a useful output?

  • Ingeniorator
    Ingeniorator New Altair Community Member
    edited February 2022

    Hey you know, I think you are right on the LAW2 vs LAW1 thing, your question sent me down a bit of a rabbit hole!

    For as long as I can remember the advice has always been to use LAW2 with high yield in place of LAW1, but running a couple of check models, I can't actually find any significant difference between behaviour with LAW1 and LAW2, perhaps the advice goes back to a long since fixed bug?

    In fact, damping (dm) set on the /PROP/SHELL works for either/both, however there is no default value for either material law (so using LAW2 alone wouldn't help). The help says dm isn't active for law1 or law2, but that is only the case where dm is set 0 (blank), i.e. again, there is no default. 

    You can add different membrane damping to your shells (either LAW1 or LAW2) with dm = x on the /PROP/SHELL. The only remaining difference is that LAW1 shells use 'global integration' whereas LAW2 use the number of integration points through thickness set on the property.

    As for Interface Type 20, it has been deprecated (marked as obsolete in help) since v2019, that partially explains the sparse documentation, the reason for it being removed was it tended to be slow in SPMD (mpi) version compared to Inter Type 24 and the inter type 24 does much the same task... except:

    You are correct though, Type 24 has no means of entering beams for contact.

    My recommendation would be to use TYPE11 and TYPE7 in combination (small silly example attached)

    One other thought, are you using the 'raw' nodal pulse from the head centre? It would be more usual to define an accelerometer /ACCEL with a cutoff frequency to get a filtered output for the head motion. With this, you may be able to remove any and all damping and get a useful output?

    Hey, too bad there's no built-in damping for materials. That would have been neat, but oh well.

    The beam properties P3 and P18 also include the membrane and flexural damping options, but as usual the documentation does not divulge any details. I truly wish that Altair would finally revamp that mess and get it up to the standard that, for example, Abaqus shows.

    According to the 2020 RADIOSS doc, the shell membrane damping is only active for material laws 19, 25, 27, 32 and 36 and not for law 1 or 2. In this model it could be applied, since the shell and beams use law 36. I will look into it and see what comes up.

    Type24 contact has the same option as Type20 to use a node set as slave set, with the solid or shell component being the master. I have not yet tried if it works, but it probably will. It was applied in this model as it was the first option that worked and it was easy enough to set up, but maybe Type24 will speed things up a bit. Type11 is already used for beam self contact with line segments.

    I've set up an accelerometer and separate node for measuring everything at the head's center of mass, but I did not use a cutoff frequency. The results were just filtered in Hyperview with an ideal lowpass filter. Would the accelerometer's filtering option bring a benefit over filtering the raw signal afterwards? Do you know what the best industrial practice concerning this would be? If the damping issues can be avoided altogether, it would of course be great.

    By the way, I noticed the large total energy difference of 25%, even when no friction is present in the model. Would you happen to know where to look for the issue? Interestingly, the energy loss drops to 3.5% when using a beta factor of 1e-6 or similar, but stays constant with an alpha factor >0. I don't quite know where this is coming from. The time step size is okay, the mass error is below 2.5%, and there are only a few initial penetrations of beam and shell elements that are sorted out after a few time steps.

  • PaulAltair
    PaulAltair
    Altair Employee
    edited February 2022

    Hey, too bad there's no built-in damping for materials. That would have been neat, but oh well.

    The beam properties P3 and P18 also include the membrane and flexural damping options, but as usual the documentation does not divulge any details. I truly wish that Altair would finally revamp that mess and get it up to the standard that, for example, Abaqus shows.

    According to the 2020 RADIOSS doc, the shell membrane damping is only active for material laws 19, 25, 27, 32 and 36 and not for law 1 or 2. In this model it could be applied, since the shell and beams use law 36. I will look into it and see what comes up.

    Type24 contact has the same option as Type20 to use a node set as slave set, with the solid or shell component being the master. I have not yet tried if it works, but it probably will. It was applied in this model as it was the first option that worked and it was easy enough to set up, but maybe Type24 will speed things up a bit. Type11 is already used for beam self contact with line segments.

    I've set up an accelerometer and separate node for measuring everything at the head's center of mass, but I did not use a cutoff frequency. The results were just filtered in Hyperview with an ideal lowpass filter. Would the accelerometer's filtering option bring a benefit over filtering the raw signal afterwards? Do you know what the best industrial practice concerning this would be? If the damping issues can be avoided altogether, it would of course be great.

    By the way, I noticed the large total energy difference of 25%, even when no friction is present in the model. Would you happen to know where to look for the issue? Interestingly, the energy loss drops to 3.5% when using a beta factor of 1e-6 or similar, but stays constant with an alpha factor >0. I don't quite know where this is coming from. The time step size is okay, the mass error is below 2.5%, and there are only a few initial penetrations of beam and shell elements that are sorted out after a few time steps.

    Ah, ok, I thought because you said some parts of your model were elastic, you were using LAW1, To reiterate. The statement in the help (that dm is only active for laws 19,25,27,32,36) is a little misleading, in fact it just means that only for those laws is there a 'default' level of membrane damping applied (i.e. even if dm is set =0 for those laws, a default, non 0, value of dm is still used). dm is also active for other laws, including 1 and 2 (but only if a value for dm is explicitly set on the property). If you are using LAW36, you already have default dm of 0.015, whether or not you set a dm manually.

    While type 24 contact has the ability to define a node set as secondary, it would only deal with beam node contact to shell segments (or solid faces) not with 'edge-edge' (either beam-beam or beam-shell edge) for that you need to use TYPE11 for the edge-edge behaviour.

    The advantage of using the /ACCEL accelerometer is that the acceleration is directly projected onto the local skew (see documentation for /TH/ACCEL) also there is no need to filter in post then either, the solver is doing it for you, best/normal practice in automotive at least is to use /ACCEL for extracting acceleration data.

  • Ingeniorator
    Ingeniorator New Altair Community Member
    edited February 2022

    Ah, ok, I thought because you said some parts of your model were elastic, you were using LAW1, To reiterate. The statement in the help (that dm is only active for laws 19,25,27,32,36) is a little misleading, in fact it just means that only for those laws is there a 'default' level of membrane damping applied (i.e. even if dm is set =0 for those laws, a default, non 0, value of dm is still used). dm is also active for other laws, including 1 and 2 (but only if a value for dm is explicitly set on the property). If you are using LAW36, you already have default dm of 0.015, whether or not you set a dm manually.

    While type 24 contact has the ability to define a node set as secondary, it would only deal with beam node contact to shell segments (or solid faces) not with 'edge-edge' (either beam-beam or beam-shell edge) for that you need to use TYPE11 for the edge-edge behaviour.

    The advantage of using the /ACCEL accelerometer is that the acceleration is directly projected onto the local skew (see documentation for /TH/ACCEL) also there is no need to filter in post then either, the solver is doing it for you, best/normal practice in automotive at least is to use /ACCEL for extracting acceleration data.

    Yes, the magnesium dummy head is modelled with LAW1, whereas the plastic shell is LAW36. This paragraph in the documentation is really oddly worded, then. It says " The shell membrane damping, dm, is only used for LAWS 25, 27, 19, 32 and 36" which would make anyone assume that it does not apply for any other material law. Thanks for mentioning the default damping coefficient for the shell property, I was not aware of it.

    Beam/beam-contact is probably best handled with TYPE11, the rest could be switched to TYPE24. I'll investigate if there's an advantage in doing so for this specific model.

    It may be best just to filter the results and not bother any further with the damping if it leads nowhere.

    Would you happen to know where to look in case of large total energy loss? I've edited the last reply, maybe it overlapped with yours.