underworldcode / underworld2

underworld2: A parallel, particle-in-cell, finite element code for Geodynamics.
http://www.underworldcode.org/
Other
168 stars 58 forks source link

About the shear heating in sandbox compression model #659

Closed Cheese-Lvjx closed 1 year ago

Cheese-Lvjx commented 1 year ago

Hi guys, I have some doubts about shear heating in sandbox compression model . I wonder how they show like other fields. Based on the information given in Farrington et al, 2014, and I found some descriptions in UWGeoUsersguide,There's a switch that turns on the shear heat,but when I turn on the shear heating,The program will keep reporting that the shear heat is not defined. https://github.com/underworldcode/underworld2/blob/6e428f97922c17bc32cf36715d16f9ce795383d8/docs/development/docs_generator/UWGeoUserGuide.rst I can't find solutions and have trouble in this,Also I'm a new learner , Could anyone givemore information about shear heating, Thanks a lot.

julesghub commented 1 year ago

Hi @Cheese-Lvjx, The shear heating term described in the user guide only effects thermomechanical models in Underworld. The sandbox compression model is only a mechanical model ( no energy equation, temperature boundary conditions nor thermal properties ) the shear heating term will not do anything.

If you only want to visualise shear heating (viscous dissipation) you can do that by adding a new mesh variable and evaluating (stress tensor * strain rate tensor) values into it. I can help you with that if needed.

Cheese-Lvjx commented 1 year ago

Hi julesghub, Thank you so much for your answer to solve my doubts,I would appreciate it if you could write a visualized shear heating example for my reference.

Peigen-L commented 1 year ago

I have one file for creating an additional swarm field for viscous dissipation with visualization using UWGeodynamic 2.11(@bknight1 shared with me before) DissipationToolTest-BK.txt

Cheese-Lvjx commented 1 year ago

Hi,Luo        I have trouble in adding viscous dissipation into sandbox model,I just use the part of your section,but it's show wrong in my model.          Attached is my code. If it is convenient for you, could you please help me to see what the problem is? I would really appreciate it,And thank you again for your help!!     ------------------ Original ------------------ From: @.>; Date:  Thu, Apr 13, 2023 05:16 PM To: @.>; Cc: @.>; @.>; Subject:  Re: [underworldcode/underworld2] About the shear heating in sandbox compression model (Issue #659)

 

I have one file for creating an additional swarm field for viscous dissipation with visualization using UWGeodynamic @.*** shared with me before) DissipationToolTest-BK.txt

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

Peigen-L commented 1 year ago

@Cheese-Lvjx Sorry, we can’t see your attached files from your reply.

You may need to attach the .py or .txt file in this conversation directly so we can see it(not from email attachment).

kind regards Peigen

Cheese-Lvjx commented 1 year ago

@Cheese-Lvjx Sorry, we can’t see your attached files from your reply.

You may need to attach the .py or .txt file in this conversation directly so we can see it(not from email attachment).

kind regards Peigen @Peigen-L sorry about that,I reuploaded the.TXT file here. sandbox.txt

Peigen-L commented 1 year ago

@Cheese-Lvjx Hi, I made some modifications with the code you send me.

I am not familiar with your model but it seems a compression sandbox with temperature BC for me. Here are some modifications I did:

  1. added the temperature diffusivity and capacity which you missed.
  2. added the VD swarm field

Now you have a model with VD field and temperature BC. You can create your own frictional boundary by making some modifications based on this. CompressionSandbox_with_tempBC.txt

Cheese-Lvjx commented 1 year ago

@Cheese-Lvjx Hi, I made some modifications with the code you send me.

I am not familiar with your model but it seems a compression sandbox with temperature BC for me. Here are some modifications I did:

  1. added the temperature diffusivity and capacity which you missed.
  2. added the VD swarm field

Now you have a model with VD field and temperature BC. You can create your own frictional boundary by making some modifications based on this. CompressionSandbox_with_tempBC.txt Hi,luo, So thank you for your help!I have successfully applied it in my examples.by the way,I have serach many times about the VD field on github,but I didn't find it,so may I ask Is there another way for me to learn as a beginner,I am a bit frustrated in what I can find.

julesghub commented 1 year ago

Hi @Cheese-Lvjx,

I just had a look at your uploaded model. Please ensure your scaling for the DruckerPrager rheology is appropriate for the model. I see you've used something like the original Compression Sandbox model (https://github.com/underworldcode/underworld2/blob/master/docs/UWGeodynamics/examples/1_26_NumericalSandboxCompression-MovingWall.ipynb) but have increased the length scale from cms -> kms and modified the material viscosities 1e12 -> 1e21.

This kind of redefinition will change the internal stress and the resolution of shear bands. Please be aware of this and test the resultant viscosityField (particles).

Fig = vis.Figure(figsize=(1200,400))
Fig.Points(Model.swarm, Model.viscosityField, fn_size=1.0)
Fig.show()

You may want to disable yielding altogether in the first place to assess the internal stress of the layers after a single timestep. You can use the projStressField (2nd invariant of the stress tensor) to analyse the stresses.

Fig = vis.Figure(figsize=(1200,400))
Fig.Points(Model.swarm, Model.projStressField)
Fig.show()

Hope this helps.

Thanks for the pointers @Peigen-L. Appreciate your contributions.

Cheese-Lvjx commented 1 year ago

Hi,@julesghub I don't know how to solve the problem you mentioned above,when I increased the length scale from cms to kms,the VD field can't not show properly,so what should I do about that? image

julesghub commented 1 year ago

I think the values of inf. are because of bad scaling.
Disable the plasticity and then take a look at the viscosity. As I mentioned the numbers in the DruckerPrager() rheology will significantly effect the model. By disabling the plasticity DruckerPrager(), or testing out different coefficient values, you should be able to get the model to behave better. Underworld models are dependent on numerical scaling. If you increase a length scale you must ensure the other physical equations used in the model (rheological [constitutive], heat, continuity, momentum) are appropriate for new scaling.

Cheese-Lvjx commented 1 year ago

Hi, @julesghub I have modified the material viscosities 1e8 -> 1e25,but VD fields still can't display properly,I don't know the scaling of VD fields and how I can slove this problem,And how can I ensure that when I change the size of the model, I still want to use the model parameters I need (such as viscosity) because I want to simulate a model that is closer to the real-world problems of GEO-science. Expect your reply.

julesghub commented 1 year ago

Have you disabled all plastic rheologies? That will simplify the model at this stage. Once that is in order you can increase the complexity and include earth like numbers.

Cheese-Lvjx commented 1 year ago

Hi@julesghub , I have tried many times to modify the viscosity parameter and still haven't got the VD field,The data and scale I used are to describe the model I want to describe, but I can't get the answer I want now. The following is my txt. If you are free, could you help me to have a look,I really appreciate the help you have given me. sandbox.txt