On 07/06/2017 06:25 PM, Weixiong Zheng wrote:
I suspect it would not be about the weak form directly. So, every time I give
an set of initial cells, I need to make sure total initial cell number
N_cell_tot % n_process == 0. If this condition is fulfilled, solution will
always be correct. Say, I want to use 5 processors, then I have to give N_cell
= 5 or 10 or 5 * some integer.
You see what's going wrong?
No :-) I only see from your description when something works correctly. So try
a case where you have a 2x2 mesh and 3 processors. Or a 3x3 mesh and 2 processors.
I'm willing to believe that the problem is not in the weak form, but has to do
with incorrectly setting up some vector, matrix, or other data structure. The
question is where that happens. What I wanted to suggest is that if you look
at the rhs vector, for example, and it is wrong, then the problem must have
happened *during or before assembly*, not during the solution process. If,
however, system matrix and rhs are correct, then the problem must have
happened *after* assembly.
Debugging these sorts of problems always comes down to bisection the space of
code where the problem could possibly be. For now, it is very large -- in
essence the entire time your program executes. The task then is to find a
convenient point in the middle to determine whether the problem happens in the
first half or second half of the execution. And then to repeat.
Best
W.
--
------------------------------------------------------------------------
Wolfgang Bangerth email: bange...@colostate.edu
www: http://www.math.colostate.edu/~bangerth/
--
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see
https://groups.google.com/d/forum/dealii?hl=en
---
You received this message because you are subscribed to the Google Groups "deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.