-
Notifications
You must be signed in to change notification settings - Fork 203
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
draft PR -- hourglass control (updated Lagrangian) for elasticity and plasticity #478
base: master
Are you sure you want to change the base?
draft PR -- hourglass control (updated Lagrangian) for elasticity and plasticity #478
Conversation
This is the method we discussed just now. We only calculate the inverse of shear strain for Lines 545 to 553 in 06d36e8
As Prof. Hu mentioned, if the particle is plastic, then the inverse of shear strain exists. However, there are some other problems, and the simulation crash after several steps. And it looks like tensile instability. I think this may because the scale matrix is too small at the bottom of the bar, as shown in the following figure. I suppose, if the scale matrix is very small, the effect of this hourglass control method is also very small. So hourglass and tensile instability occurs. |
Are you sure that you have 1/2 in front of (\phi_i + \phi_j)? |
So the parameter \xi has not effect to the solution? |
Also, in the first part of the equation should it be \tild{\sigma_i} + \tild{\sigma_j}? |
The parameter |
I have checked you code and found, besides quite intervened coding, a serious consistent issue. Then the scaling factor should be Identity even we are applying However, the simulation still gives crashed results. |
Also. in the TL version, we use full strain to obtain scaling factor. Please have a look. |
(1) Sorry for the coding. I have deleted some unnecessary code blocks and comments to make it more clear. SPHinXsys/tests/user_examples/extra_src/shared/general_continuum/general_continuum.cpp Lines 92 to 114 in 2eac06a
We just change the Line-112 to return shear_stress_rate_elastic; , then we can get this elastic behavior.And the scale matrix is an identity matrix for all particles. |
I will check this in detail tomorrow. |
@Shuaihao-Zhang, the returning map you wrote is to return the deviatoric part. The inconsistency between the elastic and plastic behaviors may arise due to the incompressible assumption. Pls, check it. Could you write down the plastic constitutive relation formulation in detail? |
@Xiangyu-Hu @Shuaihao-Zhang Form the derivation, we should use the shear strain to obtain the scaling factor. But we can have a try for full strain. |
Further more, the TL version use the full strain tensor not only the shear tension for the scaling factor.
Sorry. If I do as you said the
If I do as you said by: return shear_stress_rate_elastic; |
Because it does not blowup if we simply constrain scale factor to identity in any case. |
To transfer to elasticity, we should switch to |
Yes, this is the constitutive for J2 plasticity. |
@Xiangyu-Hu @DongWuTUM |
I think that I am wrong here because the shear stress became plastic at next time step then the scale factor is not identity anymore. |
You can have check the TL version. For the scaling factor, the method add the isotropic part back to the right hand cauchy strain. |
It is clear that if we included the isotropic part the variation of the scaling factor will be smaller. |
Sure, I will check this. |
Another thing is that the transformation between 2 and 3 d may introduce consistent issue. |
We better begin with the simplest plastic case first. |
I think this is ok. We can use the case |
I am still confused about why "the stress and strain after return mapping are very small, so the scale matrix |
The shear stress is changing, but the J2 remains the same. I am not sure. Please check it. I think the stress-strain relationship is reversible as they are tensors. |
I have summarized the differences between the TL and UL.
|
I have the feeling that the inconsistency is coming from the \phi term and \hat{v}_ij term. |
@Xiangyu-Hu @DongWuTUM |
@Shuaihao-Zhang I have upload the newest houglass control code to my branch https://github.com/DongWuTUM/SPHinXsys/tree/plastic_hourglass_control. I don't have time to test in Linux, but it already works in Windows. |
@Shuaihao-Zhang Could you update the code with this formulation? Thanks. |
Sure, I have add the new formulation and the simulation still crashes quick after the bar touches the plate. Lines 551 to 561 in 4352844
I used the difference of the shear strain after return mapping between time t and t-1 to calculate the effective shear strain rate. Then I also added the hydrostatic strain rate to get the effective total strain rate. I also tried with only the shear strain rate, and it also crashed. |
Thanks! I will check it in detail. |
Please have a check on a simple formulation at the branch https://github.com/Xiangyu-Hu/SPHinXsys/tree/hourglass-control-ul_xy |
Thanks. Line 547 in 7dacc3d
If I skip return mapping and use return shear_stress_rate_elastic; , ideally, the bar should bounce back like elastic material, but it didn't and the scale matrix is 0 everywhere.Another thing is that I changed my branch to plane stress condition based on your branch for the J2 plasticity. I checked Dong's code, and he used plane stress assumption for TLSPH, which means that the stress is 2D for 2D cases and 3D for 3D cases. Since his result is good, I suppose the plans stress is also ok for the J2 plasticity (for soils, it's not ok). |
|
It works for elastic (both elastic shear stress rate and no returnning map) |
@Shuaihao-Zhang It is the plane strain (not plane stress) problem for 2D case. The stress in third coordinate is not needed for calculation. (I remember the stress in third coordinate is needed for soil. You can ignore this stress now.) |
Thanks. I checked you branch. The 3D Taylor bar seems elastic if we use elastic shear stress rate and no return mapping. |
Thanks! Then I will just use 2D matrix for 2D cases. |
@Shuaihao-Zhang @DongWuTUM |
Thanks! Now the elastic deformation can be totally reproduced. |
Here, I will show the results when dealing with the hourglass control method for ULSPH.