underworldcode / underworld2

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

Temperature field error #370

Closed jerryjohn42 closed 2 years ago

jerryjohn42 commented 5 years ago

Hi all, Last time I ran a subduction model with temperature influence. The results of mantle temperature field worked well at the begining, the range of temperature value is [261, 1756.5]. But suddenly that range turned to [-17064, 22901] and started to narrow to [192.4, 4785.3] after several steps. I guess it would finally narrow close to my initial temperature range set, but this temperature disturbance affect the convection mode and break the continuity. Anyone know why this happened and how to solve it? temperature0160 temperature0180

John

julesghub commented 5 years ago

Hi John, Are your temperature gradients high over a few elements initially? This can cause difficulties for the advection diffusion solver. Try to "diffusion" the temperature field out and then let the model evolve. You can do this by hand, setting the temperature field via the numpy array, or by running a uw.systems.SteadyStateHeat() initially. I recommend the uw.systems.SteadyStateHeat(). An example of running that is here. https://nbviewer.jupyter.org/github/underworldcode/underworld2/blob/master/docs/examples/01_Steady_State_Heat.ipynb

jerryjohn42 commented 5 years ago

Hi, I have tried to set the initial temperature gradients with uw.systems.SteadyStateHeat(). The results are still similar with previous results with temperature error. For this test model I set viscosity as 1 and density as 1. The top boundary temperature is 10 and bottom boundary temperature is 100. From step 0 to step 180 the results are normal. Since step 200 the value range of temperature start to increase, the max temperature increases to about 114, and mix temperature decreases to -3. It has beyond the max and min temperature I set for the models. After step 300 the range of temperature value narrow back to [10,100]. Any conjecture why the temperature range beyong my initial set? Best, John temperature0280

tingyang2004 commented 5 years ago

Increasing the resolution should help.

jerryjohn42 commented 5 years ago

Increasing the resolution should help.

The results still get temperature error. I test the model with and without slab, the former one gets temperature error, and the latter one does not. So I guess that is due to deformation of slab?

jmansour commented 5 years ago

@jerryjohn42, the forthcoming release will include a new advection-diffusion solver that you might like to try out.

alexstruc commented 4 years ago

Hi, jerry. Have you ever solved the issue? I also encountered the same error of temperature in my several models. I have no way to cope with it. If you successfully solved it, could you please share me your experience? Thanks a lot. Alex.