Introduce a plume while restarting a model

Hi Everyone,
I’m trying to modify the continental extension cookbook to introduce a plume at the base of the model, and when i introduce at the beginning of the model, it works. But, when i try to introduce the plume after some iteration (using resume computation) and perturb the initial temperature field, i could not get the same plume geometry that i have while introducing at the 1st step. Herewith I attach some figures

  1. introduce plume at the initial step
  2. plume reaching the base of lithosphere
  3. 2nd model → the plume in restarted model have changed geometry compared to first model

    4)initial temperature fields with and without plume

  4. Also, when i restart the model, it resume form t=400000, while i set the end time to 500000. (line 1965 in log.txt)
    log.txt (243.3 KB)

Can anyone give me some suggestions to get the same plume geometry when i restart the model?

Best,
Chameera

Hi Chameera,

Thank you for including all of the images in your post, this was quite helpful.

But, when i try to introduce the plume after some iteration (using resume computation) and perturb the initial temperature field, i could not get the same plume geometry that i have while introducing at the 1st step.

In your first image, there is a thermal anomaly both at the boundary and the interior of the model domain. During a restart, all you can change via the prm file is the basal boundary condition.

I assume the latter approach (change basal temp BC) is what you did to try and introduce the plume during the restart?

Some options:

  1. Introduce a larger bottom boundary thermal anomaly at the restart

  2. Directly modify the solution during the restart to include a thermal anomaly similar to the one in your first image. This requires using a plugin to directly modify the solution. An example of how to do this for velocities can be found here. You would need to modify the plugin to change the temperature, and you would also likely need to put in a constraint on when (time) the plugin should adjust the internal temperature.

Cheers,
John

Hi John,
Thanks for the reply. I will try to follow your 2nd suggestion in a bit. Yes the only thing I changed was (as shown in figure 4 and 5) introduce the term for plume { DeltaT*sqrt((x-500.e3)^2 + (y-10.e3)^2 < (25.e3)^2) } in the initial temperature field, but i did not changed any BC. What did you mean by changing Basal BC ?
Just attached a figure for boundary temperature model :slightly_smiling_face:

Best,
Chameera

Hi Chameera,

What did you mean by changing Basal BC ?

I was referring to the Boundary temperature model settings for the bottom boundary. As your figure shows, it is based off the specified initial temperature field.

When this is changed partway through a model run via restart, the temperature on the boundary will change but not the model internal temperature.

Cheers,
John

1 Like

Hi John,
Thanks for the clarification. I will modify the plugin you shared.

Cheers,
Chameera

Hi John,
I made a shared library for prescribed temperature using the file you shared earlier. But when i include that in .prm file I ran into a problem (figures are attached here).


in .prm file for define the function expression

two files that I modified
prescribed_temperature_cc.txt (10.6 KB)
CMakeLists.txt (1.4 KB)

for me error seems like the function expression i wrote for Indicator function and Temperature function is not allowed. Could you give me some suggestions

Best,
Chameera

It was a typo when i wrote function as “fucntion” :sweat_smile:

Cheers,
Chameera

Hi John

the plugin i wrote is working but, it changes the temperature at the start. Could you give me some suggestion to add time constrain to perturb the temperature at desired time (ex. 0.5e^6)
I tried to change this “time” to 500000, but it always changes initial temperature in the beginning


Also, is there a way to add a constrain in .prm file when setting

Best,
Chameera