[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(),

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
the right answer.

> 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
Pasadena, CA 91125
(626) 395-1693

More information about the CIG-MC mailing list