# Introduce a plume while restarting a model

**URL:** <https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868>\
**Category:** ASPECT\
**Created:** [March 17, 2023, 4:30am UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868 "2023-03-17T04:30:31Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![chameerasilva](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/chameerasilva/32/1160_2.png) [@chameerasilva](https://community.geodynamics.org/u/chameerasilva)\
**Post date:** [March 17, 2023, 4:30am UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/1 "2023-03-17T04:30:31Z")

</div>

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  
 ![Screenshot from 2023-03-16 22-45-25](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/6/605ebd52635336d8cd06c28f893eedd55e2621c9.png)
2. plume reaching the base of lithosphere  
 ![Screenshot from 2023-03-16 22-45-47](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/8/855c74da94ddce5b6b1f2b970bd53bc944abd415.png)
3. 2nd model → the plume in restarted model have changed geometry compared to first model  
 ![Screenshot from 2023-03-16 22-46-33](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/1/1405e39a295f792b8381b817001bdde2e23714f5.png)  
4)initial temperature fields with and without plume  
 ![Screenshot from 2023-03-16 23-22-03](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/7/70b376eb6e9acc40af42be6af7c9247cf60a37ec.png)  
 ![Screenshot from 2023-03-16 23-22-54](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/9/9e4caee1b46b7db61c0ebe0f35ea56ebf84dc084.png)
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](https://community.geodynamics.org/uploads/short-url/gbct3mTtrlifRMQQlIuqd8u80R0.txt) (243.3 KB)

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

Best,  
Chameera

---

<div class="post-metadata">

**Author:** ![jbnaliboff](https://avatars.discourse-cdn.com/v4/letter/j/58956e/32.png) [@jbnaliboff](https://community.geodynamics.org/u/jbnaliboff)\
**Post date:** [March 17, 2023, 4:11pm UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/2 "2023-03-17T16:11:55Z")

</div>

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](https://github.com/geodynamics/aspect/tree/main/cookbooks/prescribed_velocity). 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

---

<div class="post-metadata">

**Author:** ![chameerasilva](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/chameerasilva/32/1160_2.png) [@chameerasilva](https://community.geodynamics.org/u/chameerasilva)\
**Post date:** [March 17, 2023, 4:26pm UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/3 "2023-03-17T16:26:51Z")

</div>

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 🙂

 ![Screenshot from 2023-03-17 11-50-39](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/1/1c6d1fe36d6fecf4ac06b1e0521b64aed9884b65.png)

Best,  
Chameera

---

<div class="post-metadata">

**Author:** ![jbnaliboff](https://avatars.discourse-cdn.com/v4/letter/j/58956e/32.png) [@jbnaliboff](https://community.geodynamics.org/u/jbnaliboff)\
**Post date:** [March 17, 2023, 6:09pm UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/4 "2023-03-17T18:09:34Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![chameerasilva](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/chameerasilva/32/1160_2.png) [@chameerasilva](https://community.geodynamics.org/u/chameerasilva)\
**Post date:** [March 17, 2023, 6:32pm UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/5 "2023-03-17T18:32:26Z")

</div>

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

Cheers,  
Chameera

---

<div class="post-metadata">

**Author:** ![chameerasilva](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/chameerasilva/32/1160_2.png) [@chameerasilva](https://community.geodynamics.org/u/chameerasilva)\
**Post date:** [March 19, 2023, 4:21pm UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/6 "2023-03-19T16:21:18Z")

</div>

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).

 ![Screenshot from 2023-03-19 11-11-02](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/4/4025b312630ff149152cd40d0b169ddde2976e00.png)  
in .prm file for define the function expression  
 ![Screenshot from 2023-03-19 11-11-24](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/e/efc50e9fb1010c384da6c7515ead5ddd83054652.png)  
two files that I modified  
[prescribed\_temperature\_cc.txt](https://community.geodynamics.org/uploads/short-url/uz3YUt1kvQyXdWecXmAVpDO7CNJ.txt) (10.6 KB)  
[CMakeLists.txt](https://community.geodynamics.org/uploads/short-url/jpgC9z5ilfi09oc22lWS2yWN2j2.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

---

<div class="post-metadata">

**Author:** ![chameerasilva](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/chameerasilva/32/1160_2.png) [@chameerasilva](https://community.geodynamics.org/u/chameerasilva)\
**Post date:** [March 19, 2023, 6:02pm UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/7 "2023-03-19T18:02:53Z")

</div>

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

Cheers,  
Chameera

---

<div class="post-metadata">

**Author:** ![chameerasilva](https://yyz2.discourse-cdn.com/flex036/user_avatar/community.geodynamics.org/chameerasilva/32/1160_2.png) [@chameerasilva](https://community.geodynamics.org/u/chameerasilva)\
**Post date:** [March 22, 2023, 1:35am UTC](https://community.geodynamics.org/t/introduce-a-plume-while-restarting-a-model/2868/8 "2023-03-22T01:35:14Z")

</div>

Hi John

> [@jbnaliboff](#):
>
> 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.

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

 ![Screenshot from 2023-03-21 20-28-12](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/6/63a95e54013b4b1af693fac6e16f67fdd6523b03.png)  
Also, is there a way to add a constrain in .prm file when setting  
 ![Screenshot from 2023-03-21 20-28-51](https://canada1.discourse-cdn.com/flex036/uploads/geodynamics/original/2X/2/287e5b2132af79279ae323f4c1f9499c7ff20e1d.png)  
Best,  
Chameera
