Xiangyu-Hu / SPHinXsys

SPHinXsys provides C++ APIs for engineering simulation and optimization. It aims at complex systems driven by fluid, structure, multi-body dynamics and beyond. The multi-physics library is based on a unique and unified computational framework by which strong coupling has been achieved for all involved physics.
https://xiangyu-hu.github.io/SPHinXsys/
Apache License 2.0
314 stars 232 forks source link

General Continuum Consittue relation? #435

Closed Xiangyu-Hu closed 1 year ago

Xiangyu-Hu commented 1 year ago

https://github.com/Xiangyu-Hu/SPHinXsys/blob/b811e7571851c8d754f06ac163b4f03d9297bccf/tests/user_examples/extra_src/shared/general_continuum/general_continuum.cpp#L20-L28 Seems not in agree with the manuscript? What is the stress here for? update the rotation term? @Shuaihao-Zhang

Shuaihao-Zhang commented 1 year ago

This constitutive relation is for the nested formulation.

The Cauchy stress rate is calculated with Matd stress_rate = 2.0 * G_ * deviatoric_strain_rate;

We used the Jaumann stress rate (i.e., objective stress rate) here to remove the rigid body rotation. https://github.com/Xiangyu-Hu/SPHinXsys/blob/b811e7571851c8d754f06ac163b4f03d9297bccf/tests/user_examples/extra_src/shared/general_continuum/general_continuum.cpp#L26

The last two item shear_stress * (spin_rate.transpose()) + spin_rate * shear_stress is to exclude the rigid body rotation.

In the manuscript, I just illustrated the formulation of Cauchy stress tensor for the nested formulation. image

For all the cases, I used the Jaumann stress rate.

Maybe I can add this part to the manuscript later. But anyway, the nested formulation is not our focus here, and the reference paper about the nested formulation (such as Gray's paper) all talked about this. And also, the results are basically the same if we use this Jaumann stress rate or not.

Xiangyu-Hu commented 1 year ago

Yes. I think that we can put the rigid rotation later in the manuscript.

Xiangyu-Hu commented 1 year ago

@Shuaihao-Zhang However, this term may be important for plastic case. For example, if we consider pure plastic, the correction force magnitude should be the same, but it should rotate with rotation.

Shuaihao-Zhang commented 1 year ago

@Shuaihao-Zhang However, this term may be important for plastic case. For example, if we consider pure plastic, the correction force magnitude should be the same, but it should rotate with rotation.

These two items shear_stress * (spin_rate.transpose()) + spin_rate * shear_stress also don't have much impact for the result when modelling plastic materials like soils. Maybe they are important for the correction term in the hourglass control.