Trouble with velocity boundary conditions


I am trying to create a boundary condition where the top 20% of a box model is under compression from the left and right and the lower 80% is free.

I was using the following if statement when I had the entire left and right boundary under compression at a rate of 0.5 cm/year:

((x<600e3) ? 0.5cm/year : -0.5cm/year)

which works fine but when I try to only apply it to the top 120 km using a nested if statement:

((y>=480e3) ? ((x<600e3) ? 0.5cm/year : -0.5cm/year) : (0))

I get strange behavior where the velocity appears to only reach the first 100 km or so from the boundary instead of spanning the whole width of the box.

I was thinking because I set other values to 0 (I actually want the lower portion to be free to expand so its really a placeholder for now) there might be a constraint issue but I’m not sure.

Any help is appreciated.


Hi Stephanie,

I am still a bit confused about what exactly goes wrong with the velocity you prescribe, so I think it would be really helpful to post a picture to illustrate what does not work.

But mainly I wanted to say: Do you know of the box with lithosphere boundary indicators geometry model (assuming that your model is a box)? You could use that to set your lithosphere thickness to 120 km, and then you can prescribe the velocity as compressive for the lithosphere boundary indicators, but use traction boundary conditions for the mantle below (for example, using the initial lithostatic pressure would allow free in and outflow). From what you’re writing, this seems like the setup that should do what you want.


Thanks Juliane for your response.

I attach the two scenarios but no I wasn’t aware of that geometry model and I think you are right in that I can achieve what I’d like with it.

Thanks for the suggestion.

I’d still like to know why I’m seeing what I’m seeing here - just curious.


Hi Stephanie,

This looks correct to me (assuming you have set the prescribed velocity boundary indicators to left, right, and perhaps bottom). It looks like the top boundary is a free surface instead, so it makes sense that the boundary velocity would not be applied there. At the side boundaries, the velocity is 5 mm/yr in the top 20% of the box and zero below. How the box is then deforming depends on the viscosity within. So it looks like there is just very little deformation happening far away from the boundaries. In the case at the bottom, it looks like the velocity is also set to 5 mm/yr (rather than 0) at the bottom, so there is more deformation.


I see now, that makes sense. Thanks very much for the explanation.

I’m trying to go forward with using the box with lithosphere boundary indicators as you suggested and am having some trouble with inputs to the parameter file. I couldn’t find a good explanation of the setup in the manual.

Is there a good way to look up (in the source code perhaps) what the statements need to be when assigning parameter values in the parameter file. Specifically, I can use the manual’s index to find what can be defined in the a subsection (i.e. X & Y extent, lithosphere thickness) but I can’t seem to find what exactly to call the subsection for this geometry model.