Well, it was not so easy to change the options name...

We would need to update docs, tests, tutorial examples, and at this
point it is not clear if we could agree on better options names...

I'm now following a different approach, hope the diff attached make it
clear enough... Just take a look to changes to SNESSetFromOptions()

-


On Thu, May 7, 2009 at 10:26 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
> ?How about?
>
> ?-snes_mf ? (means what it currently means)
>
> ?-snes_mf operator (means what -snes_mf_operator means)
>
> ? Barry
>
> On May 7, 2009, at 6:03 PM, Lisandro Dalcin wrote:
>
>> On Thu, May 7, 2009 at 6:14 PM, Jed Brown <jed at 59a2.org> wrote:
>>>
>>> Barry Smith wrote:
>>>>
>>>> ? I understand this. I just don't view this as a big deal worth
>>>> changing the code over.
>>>
>>> I agree. ?My comment was that *if* the options were to be changed, as
>>> Lisandro was suggesting, then it would be better to eliminate
>>> unnecessary options conflicts.
>>>
>>
>> Well, now that I'm actually writing the code, things are a bit more
>> clear...
>>
>> perhaps we should have just two options
>>
>> 1) -snes_mf, if passed, should be string "full" or "operator" (not
>> sure about these)
>> 2) -snes_mf_version, if passed, should be integer 1 or 2
>>
>> In Python pseudocode (thinking options like a Python dict)
>>
>>
>> if "snes_mf" in options:
>>
>> ?version = options.get("snes_mf_version", 1)
>> ?if version == 1:
>> ? ? MatCreateSNESMF(...)
>> ?elif version == 2:
>> ? ? SNESDefaultMatrixFreeCreate2(...)
>> ?else:
>> ? ? raise PetscError
>>
>> ?value = options["snes_mf"]
>> ?if value == "operator":
>> ? ? SNESSetJacobian(J,0,0,...)
>> ?elif value == "full":
>> ? ? SNESSetJacobian(J,J,MatMFFDComputeJacobian)
>> ?else:
>> ? ? raise PetscError
>>
>>
>> Note that I expect snes_mf_version=2 (despite being MatShell based) to
>> work with snes_mf="operator"
>>
>> What do you think?
>>
>> --
>> Lisandro Dalc?n
>> ---------------
>> Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
>> Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
>> Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
>> PTLC - G?emes 3450, (3000) Santa Fe, Argentina
>> Tel/Fax: +54-(0)342-451.1594
>
>



-- 
Lisandro Dalc?n
---------------
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594
-------------- next part --------------
A non-text attachment was scrubbed...
Name: snes.diff
Type: application/octet-stream
Size: 7935 bytes
Desc: not available
URL: 
<http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20090508/ede01669/attachment.obj>

Reply via email to