# [CIG-MC] internal vbcs in CitcomS

Dan Bower dan at caltech.edu
Mon Jul 22 20:22:26 PDT 2013

```Hi CIG,

I have a CitcomS developer question relating to internal velocity
boundary conditions.  Broadly speaking, this is what I am doing (for
each timestep):

(1) read in internal velocity bcs from file
(2) update NODE[level][m][nodel] (turning VBs on, SBs off).  This
requires a bit of work to be consistent with the multigrid solver, but
I think I have that sorted.
(3) recall 'get_bcs_id_for_residual' to update zero_resid[level][m][j]
and E->num_zero_resid[level][m]

This algorithm appears to work well for simple regional cases (simple
meaning, e.g., applying internal velo bcs to a line of nodes at a
fixed depth).  For global cases, with a more complicated distribution
of internal bcs, the solver does not converge (I'm testing with an
isoviscous model to keep it simple), e.g.:

Momentum equation force 9.832610840e+04
*  residual (050) = 5.075e+04 from 9.833e+04 to 4.916e+02 in 71.19 secs
Warning: solver not converging! 0
(000)  71.3 s v=1.245233e+04 p=0.000000e+00 div/v=1.72e+01
dv/v=1.00e+00 dp/p=1.00e+00 step 0
*  residual (050) = 1.313e+03 from 4.688e+04 to 4.916e+02 in 71.37 secs
Warning: solver not converging! 1
(001) 142.7 s v=7.169507e+03 p=4.552888e+05 div/v=6.55e+00
dv/v=1.26e+00 dp/p=1.00e+00 step 0
*  residual (050) = 1.661e+06 from 2.424e+04 to 4.916e+02 in 71.74 secs
Warning: solver not converging! 1

Therefore, I have a couple of questions:

(1) I am missing something from my algorithm in 1-3 above?

(2) Does anyone have any guiding principles in applying internal
velocity bcs such that a solver (particularly the multigrid in
CitcomS) will converge?

Thanks in advance for any suggestions,

Dan
```