Dan,<br><br>You will need to call construct_id() after step (2) to update the id array as well.<br><br>Eh<br><br><div class="gmail_quote">On Tue, Jul 23, 2013 at 11:22 AM, Dan Bower <span dir="ltr"><<a href="mailto:dan@caltech.edu" target="_blank">dan@caltech.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi CIG,<br>
<br>
I have a CitcomS developer question relating to internal velocity<br>
boundary conditions. Broadly speaking, this is what I am doing (for<br>
each timestep):<br>
<br>
(1) read in internal velocity bcs from file<br>
(2) update NODE[level][m][nodel] (turning VBs on, SBs off). This<br>
requires a bit of work to be consistent with the multigrid solver, but<br>
I think I have that sorted.<br>
(3) recall 'get_bcs_id_for_residual' to update zero_resid[level][m][j]<br>
and E->num_zero_resid[level][m]<br>
<br>
This algorithm appears to work well for simple regional cases (simple<br>
meaning, e.g., applying internal velo bcs to a line of nodes at a<br>
fixed depth). For global cases, with a more complicated distribution<br>
of internal bcs, the solver does not converge (I'm testing with an<br>
isoviscous model to keep it simple), e.g.:<br>
<br>
Momentum equation force 9.832610840e+04<br>
* residual (050) = 5.075e+04 from 9.833e+04 to 4.916e+02 in 71.19 secs<br>
Warning: solver not converging! 0<br>
(000) 71.3 s v=1.245233e+04 p=0.000000e+00 div/v=1.72e+01<br>
dv/v=1.00e+00 dp/p=1.00e+00 step 0<br>
* residual (050) = 1.313e+03 from 4.688e+04 to 4.916e+02 in 71.37 secs<br>
Warning: solver not converging! 1<br>
(001) 142.7 s v=7.169507e+03 p=4.552888e+05 div/v=6.55e+00<br>
dv/v=1.26e+00 dp/p=1.00e+00 step 0<br>
* residual (050) = 1.661e+06 from 2.424e+04 to 4.916e+02 in 71.74 secs<br>
Warning: solver not converging! 1<br>
<br>
<br>
Therefore, I have a couple of questions:<br>
<br>
(1) I am missing something from my algorithm in 1-3 above?<br>
<br>
(2) Does anyone have any guiding principles in applying internal<br>
velocity bcs such that a solver (particularly the multigrid in<br>
CitcomS) will converge?<br>
<br>
Thanks in advance for any suggestions,<br>
<br>
Dan<br>
_______________________________________________<br>
CIG-MC mailing list<br>
<a href="mailto:CIG-MC@geodynamics.org">CIG-MC@geodynamics.org</a><br>
<a href="http://geodynamics.org/cgi-bin/mailman/listinfo/cig-mc" target="_blank">http://geodynamics.org/cgi-bin/mailman/listinfo/cig-mc</a><br>
</blockquote></div><br>