tan2 / DynEarthSol-old

A flexible modeling tool for geological/tectonic problems
MIT License
17 stars 15 forks source link

Jaumann rotation before or after force update? #3

Open echoi opened 4 years ago

echoi commented 4 years ago

I realized that Jaumann stress is currently computed AFTER force update. This means that forces, velocities and displacements are all being computed based on non-objective stresses.

The next stress update step would start with corrected stresses but new stress increments are still non-objective. So, the current work flow will only accumulate non-objective results.

I propose to move the call to rotate_stress() between update_stress() and NMD_stress().

tan2 commented 4 years ago

The current computation order follows the order in geoflac, where the stress rotation is done after the node points are moved spatially. I feel the current order is more natural: when the elements are rotated, the stresses are rotated as well.

I have no idea whether the current order or your proposed order is better. We need to test the results of real models.

On Wed, Dec 4, 2019 at 11:17 PM Eunseo Choi notifications@github.com wrote:

I realized that Jaumann stress is currently computed AFTER force update. This means that forces, velocities and displacements are all being computed based on non-objective stresses.

The next stress update step would start with corrected stresses but new stress increments are still non-objective. So, the current work flow will only accumulate non-objective results.

I propose to move the call to rotate_stress() between update_stress() and NMD_stress().

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/tan2/DynEarthSol/issues/3?email_source=notifications&email_token=AABWQQXPG2ECK64WDYJSQVTQW7CXPA5CNFSM4JVKHWS2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H6BESSA, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABWQQTTAVHQ24IXRJIAI3LQW7CXPANCNFSM4JVKHWSQ .

echoi commented 4 years ago

I focused more on the fact that what should be objective is stress rate. Since an elastic stress increment is computed as elastic stress rate times dt before added to the old Cauchy stress, I thought the increment should be based on an objective stress rate. If you agree that force calculations should involve Cauchy stress updated with an objective increment, rotate_stress() would have to be called before update_force().

Perhaps I might be just splitting hairs: Rotating stresses before updating forces might not make much difference compared to the current work flow.

Whatever decision is made, I think Eh is right that we should base it on the results of real models. In fact, I've never compared results with and without Jaumann correction because it was just always there since I started using FLAC and its variants.

I'll run three 2D core-complex models with the current work flow, with the sequence I proposed and without stress rotation and report results back here. Then, I'll move on to 3D ones.

echoi commented 4 years ago

My intention was to compare 2D results first but got 3D results by mistake. I'm posting them any way. I used examples/core-complex.cfg for all three models.

Not much can be said without the true solution. So, maybe a simple shear experiment is more appropriate. Any way, I observe that

  1. with rotation applied, the cliff is steeper and the valley deeper.
  2. differences in topography are less between the original and the new sequence than between either rotation sequence and no rotation.

Please see if you can agree and let me know if we can say anything else about which sequence to take.

tan2 commented 4 years ago

Can you plot the principal stresses in the 3 models? I am wondering can we observe any difference between the models in the regions with strong bending/rotation?

On Thu, Dec 5, 2019 at 11:26 PM Eunseo Choi notifications@github.com wrote:

My intention was to compare 2D results first but got 3D results by mistake. I'm posting them any way. I used examples/core-complex.cfg for all three models.

Not much can be said without the true solution. So, maybe a simple shear experiment is more appropriate. Any way, I observe that

  1. with rotation applied, the cliff is steeper and the valley deeper.
  2. differences in topography are less between the original and the new sequence than between either rotation sequence and no rotation.

Please see if you can agree and let me know if we can say anything else about which sequence to take.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/tan2/DynEarthSol/issues/3?email_source=notifications&email_token=AABWQQQKLQ57ORLQP2JLYRTQXEMSXA5CNFSM4JVKHWS2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEGBCSLI#issuecomment-562178349, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABWQQXSMTU7OM2AQ3V5OQDQXEMSXANCNFSM4JVKHWSQ .