You are proposing 

> return _var_first_local_df[2*var]

and

> return _var_first_local_df[2*var+1]

??

That is not consistent with the way the bounds are stored.  As I mentioned,
consider the three-variable system with unknowns (u,v,w).  For simplicity
say there are 150 dofs total, split 50-50-50.  The the _var_first_local_df
array would look like this:

_var_first_local_df[] = {0, 50, 100, 150};


The the u variable (0) is in the range

[_var_first_local_df[0], _var_first_local_df[1]) = [0,50)

the the v variable (1) is in the range

[_var_first_local_df[1], _var_first_local_df[2]) = [50,100)

and the the u variable (2) is in the range

[_var_first_local_df[2], _var_first_local_df[3]) = [100,150)

What you propose would assign the upper bound of w to
_var_first_local_df[2*2+1], which is out-of-bounds.

-Ben
  


------------------------------------------------------------------------------
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to