So shell can 1) use some random partitioner or 2) allow the user to provide 
the partitioning?

  This is a strange combination. Won't it be better to have 
PETSCPARTIONERRANDOM and PETSCPARTITIONERSHELL?

  You could use the random for the tests (but as command line options not 
hardwired in the examples).

   Barry


> On Feb 9, 2017, at 9:45 PM, Matthew Knepley <[email protected]> wrote:
> 
> On Thu, Feb 9, 2017 at 9:36 PM, Barry Smith <[email protected]> wrote:
> 
>   Matt,
> 
>    I don't understand PETSCPARTITIONSHELL.
> 
>    Why does it exist? Why not just use PETSCPARTITIONSIMPLE when no other 
> partitioner exists?
> 
>    Why is it called shell? Other XXSHELL allow users to provide their own 
> routines to provide the XX functionality, this does not seem to do that. So 
> it is not shell in the PETSc sense.
> 
>    Why hard wire examples to use it? Why not just have list it as an args: in 
> the test cases with -petscpartitioner_type shell (but why not just simple?) 
> putting the ugly shit directly into the source code seems unnecessary and 
> annoying.
> 
> 1) The two partitioners do different things:
> 
>   Simple: It divides the cells evenly without reordering.
> 
>   Shell: It allows the user to set a prescribed partition
> 
> It is clear to me that Shell is needed because sometimes you want to 
> prescribe the partition, if for no
> other reason than you know that a certain partition has a bug. Simple is 
> questionable, but we were
> using it for testing.
> 
> 2) It is called Shell because for a shell the user prescribes the behavior 
> directly, which is exactly what happens.
> 
> 3) I did not put it in arguments because it can get very long, and I thought 
> it was easier to see and manipulate in the code. I am open to moving it.
> 
>   Matt
>  
> 
> 
>   Barry
> 
> 
> 
> 
> 
> 
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener

Reply via email to