Problems to keep constant T at the free surface

Dear all,
I am running 2D delamination simulations with Aspect 2.4-pre. I use a free surface and it works very well. However, I don’t manage to keep the surface temperature constant through time, with the initial value (it works for the bottom boundary, instead). I think it is a problem of interpolation when deforming the mesh. As a consequence I got many artifacts when calculating the surface heat flow (many narrow peaks).
It is defined like this in the .prm file
subsection Boundary temperature model
set Fixed temperature boundary indicators = top, bottom
set List of model names = initial temperature
subsection Initial temperature
set Minimal temperature = 273
set Maximal temperature = 1573
end
end

Any tip to solve this problem? many thanks in advance
Ana

Hi Ana,

Thanks for posting to the forum. This is actually a really subtle/tricky issue, but fortunately a simple fix.

A summary of the issue:

  • As the name implies, the initial temperature boundary temperature model assigns the boundary temperatures based on the values of the initial temperature field. In your case (and in most models) these values are not constant and vary spatially. At the first time step this will give the correct surface temperature value (0).

  • However, as the free surface evolves the location of the upper boundary (or any boundary undergoing deformation) will change and the boundary temperature model will assign each point on the surface a temperature based on its current position relative to the initial temperature field.

  • If that point is below the initial surface it will be higher than 273, but if it is above the original surface it will project/interpolated to a lower value.

I realize this approach was originally implemented in the continental extension cookbook, but we have updated that cookbook to use the following approach that provides constant boundary temperatures:

subsection Boundary temperature model
  set Fixed temperature boundary indicators = bottom, top
  set List of model names = box
  subsection Box
   set Bottom temperature = 1573
   set Top temperature  = 273
  end
end

This will give a constant boundary temperatures on the top and bottom, independent of any mesh deformation.

Thank you again for posting to the forum and let us know if you have any further questions or if the above approach does not solve the issue!

Cheers,
John

Hi John,
Thank you very much. It’s very useful. Just a quick question, will then the lateral boundaries keep the same temperature as in the initial state (that’s why I used the initial temperature model for the boundaries).
Thanks again
Ana

Hi Ana,

Just a quick question, will then the lateral boundaries keep the same temperature as in the initial state (that’s why I used the initial temperature model for the boundaries).

In this case, only the top and bottom boundaries would have a constant temperature, while the temperatures on the side would be free to evolve.

However, in the original prm snippet you posted the temperatures was also only fixed on the top and bottom, and thus the temperature in your original models would also have been free to evolve along the side boundaries. Is this what you observed?

What are the constraints on velocity and composition on the model sides? I think having a fixed temperature would need to be done in combination with similar constraints for these two properties. In fact, if the vertical velocity is set to 0 on the model sides and they are far away from the regions of deformation, this should produce nearly no temperature evolution along those boundaries.

Aside, you can actually use model boundary temperature models and combine them in various ways: https://github.com/naliboff/aspect/blob/main/tests/boundary_temperature_list.prm

I think some permutation of this method should produce the desired outcome?

Cheers,
John

Hi John
I answer between your lines

| jbnaliboff
July 1 |

  • | - |

Hi Ana,

Just a quick question, will then the lateral boundaries keep the same temperature as in the initial state (that’s why I used the initial temperature model for the boundaries).

In this case, only the top and bottom boundaries would have a constant temperature, while the temperatures on the side would be free to evolve.

However, in the original prm snippet you posted the temperatures was also only fixed on the top and bottom, and thus the temperature in your original models would also have been free to evolve along the side boundaries. Is this what you observed?

Yes , you are right, I have a slight temperature variation with time at the sides .

What are the constraints on velocity and composition on the model sides? I think having a fixed temperature would need to be done in combination with similar constraints for these two properties. In fact, if the vertical velocity is set to 0 on the model sides and they are far away from the regions of deformation, this should produce nearly no temperature evolution along those boundaries.

Yes, you are right, as the boundaries are far away from the deformation zone, there is only a slight temperature variation, which is nice, as the corner between a linear temperature increase in the lithosphere and a constant initial temperature for the rest of the upper mantle is smoothed, which makes more physical sense.

Aside, you can actually use model boundary temperature models and combine them in various ways: aspect/boundary_temperature_list.prm at main · naliboff/aspect · GitHub

I think some permutation of this method should produce the desired outcome?

Yes, but for the moment I will keep using the box temperature boundary model, that I have checked that it works very well.
Thank you very much for your very useful indications.

Cheers,
Ana