<div dir="ltr"><div class="gmail_extra">On Mon, Jan 7, 2013 at 5:02 PM, Barry Smith <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":55i">  How would this be done in the code? Ideally there is a functional interface with a corresponding OptionsData base interface. Something like the equivalent of PCFactorSetMatSolverPackages(pc,{MATSOLVERSUPERLU_DIST,MATSOLVERMUMPS, MATSOLVERPETSC,PETSC_NULL})<br>
</div></blockquote><div><br></div><div style>It could, but I'd prefer to have a generic routine that created an alternative from the array of types (by joining them with ':').</div><div style><br></div><div style>
Otherwise it's just more boilerplate for every object.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":55i">
   Then follow this paradigm for all set types and packages? But then since there is  a PCFactorSetMatSolverPackage() and a PCFactorSetMatSolverPackages() should there be<br>
a -pc_factor_mat_solver_package  package AND -pc_factor_mat_solver_packages  package1:package2  ?</div></blockquote></div><br></div><div class="gmail_extra" style>No need, if it containts a ':' then it's an alternative. The implementation of PCFactorSetMatSolverPackages() would just join the strings and call PCFactorSetMatSolverPackage().</div>
</div>