# [CIG-MC] Internal VBC's

Eh Tan tan2 at geodynamics.org
Fri Mar 20 12:43:11 PDT 2009

```Scott Burdick wrote:
> Hi all,
> I was wondering if there is a way in the current version of CitcomS to
> specify internal velocity conditions, or, barring that, any algorithms
> available to do so.  I am looking to impose a free slip condition
> between a slab and an overlying plate in a subduction zone.

Hi Scott,

You are looking to impose a free slip condition between a slab and an
overlying plate. I am not sure what is the physical meaning of "free
slip" inside a viscous fluid. Do you care to elaborate more?

Going back to your question: the only way to specify internal velocity
conditions is to modify the code. You will need to add your modification
in the end of function regional_velocity_boundary_conditions(),
lib/Regional_boundary_conditions.c.

A code for fixed horizontal velocity looks like this:

for (j=1;j<=E->sphere.caps_per_proc;j++)
for (node=1;node<=E->lmesh.nno;node++)
if(this node needs internal velocity conditions) {
/* X is colatitude, Y is longitude, Z is radius */

/* set flag of fixed velocity */
E->node[j][node] = E->node[j][node] | VBX
E->node[j][node] = E->node[j][node] | VBY

/* clear flag of fixed traction */
E->node[j][node] = E->node[j][node] & ~SBX
E->node[j][node] = E->node[j][node] & ~SBY

/* internal condition fixed at 0 */
E->sphere.cap[j].VB[1][node] = 0
E->sphere.cap[j].VB[2][node] = 0
}

Fixed internal traction is more problematic, and I am not sure I know

> One other question: is there any additional documentation on the
> boundary conditions involved with Lith_age?  I am attempting to use
> them to define the temperature structure of the lithosphere on the
> sides of the regional domain, but I can only seem to hold all of the
> lithosphere constant or none of it.

Lith_age is a way a assimilate the upper thermal boundary layer into the
convection. When lith_age is turned on, CitcomS will read the
half-spacing cooling age of each surface nodes from (time-dependent)
files, and will modify the upper thermal boundary layer accordingly.
There is some special treatment on the sidewalls, which I am not
familiar with. The lith_age code was written by Clint Conrad. Maybe he
can explain the sidewall treatment.

--
Eh Tan
Staff Scientist
Computational Infrastructure for Geodynamics
California Institute of Technology, 158-79