Well that is the default one (hence the name). Different formats lead to using
different parts of the code in the specific viewer routines.
Barry
On Sep 30, 2010, at 4:29 PM, Shri wrote:
> PETSC_VIEWER_STDOUT_XXX uses the format PETSC_VIEWER_DEFAULT. Is the same
> format used for storing matrices in ascii to a file too?
>
> Shri
> ----- Barry Smith <bsmith at mcs.anl.gov> wrote:
>>
>> Currently each individual matrix type (seqaij, mpiaij, ....) provides its
>> own code to print out in ASCII (some provide several codes depending on
>> viewer format flag).
>>
>> You could add to (some,all?) of these specific codes a call to
>> PetscObjectPrintClassNamePrefixType() to print that. For example, in
>> MatView_SeqAIJ_ASCII()
>>
>> } else if (format == PETSC_VIEWER_ASCII_COMMON) {
>> ierr = PetscViewerASCIIUseTabs(viewer,PETSC_NO);CHKERRQ(ierr);
>> for (i=0; i<m; i++) {
>>
>> change to
>>
>> } else if (format == PETSC_VIEWER_ASCII_COMMON) {
>> ierr = PetscViewerASCIIUseTabs(viewer,PETSC_NO);CHKERRQ(ierr);
>> PetscObjectPrintClassNamePrefixType(....);
>> for (i=0; i<m; i++) {
>>
>>
>> I think it is fine if you add this.
>>
>> Barry
>>
>>
>> On Sep 30, 2010, at 1:25 PM, Shri wrote:
>>
>>> Can the object name be also displayed when the option -<object>_view is
>>> provided or <object>View() is called? Maybe only for matrices,vectors and
>>> DAs??
>>>
>>> Instead of
>>>
>>> row 0: (0, 4)
>>> row 1: (1, 4)
>>> row 2: (2, 4)
>>> row 3: (3, 4)
>>> row 4: (4, 4)
>>>
>>> It should display
>>>
>>> Matrix Object : <matrix_name>
>>> row 0: (0, 4)
>>> row 1: (1, 4)
>>> row 2: (2, 4)
>>> row 3: (3, 4)
>>> row 4: (4, 4)
>>>
>>> Shri
>>> ----- Barry Smith <bsmith at mcs.anl.gov> wrote:
>>>>
>>>> I have added PetscObjectPrintClassNamePrefixType() which is now (in
>>>> theory) used uniformly in all the XXXView ASCII info formats to display
>>>> this information appropriately. A nice improvement, eliminated lots of
>>>> duplicate code and makes it easier to have uniform output.
>>>>
>>>> PetscObjects are NOT given names by default, you should call
>>>> PetscObjectSetName() to give it a name. In a small number of places when
>>>> an object NEEDS a name, for example when it is saved to Matlab with that
>>>> variable name then PetscObjectName() is called to generate a "unique" name.
>>>>
>>>> Thanks for the suggestion,
>>>>
>>>> Barry
>>>>
>>>>> What does PetscObjectName() do??Generate a random name??
>>>>
>>>> Currently it generates a name that looks like
>>>>
>>>> classname_commid_number
>>>>
>>>> where number is incremented sequentially.
>>>>
>>>> I would lean towards always naming everything so that a unique
>>>> identifier is available. Unfortunately, doing so would make all the
>>>> test output non-reproducible because the identifier (for generated
>>>> names) includes some run-dependent information (commid above). Maybe
>>>> name everything, but have an option to turn it off?
>>>>
>>>>
>>>> On Sep 29, 2010, at 2:28 PM, Shri wrote:
>>>>
>>>>> Is there a way to print the matrix name so that -mat_view_info prints it
>>>>> out.
>>>>>
>>>>> Instead of
>>>>>
>>>>> Matrix Object:
>>>>> type=mpiaij, rows=200, cols=200
>>>>> total: nonzeros=40000, allocated nonzeros=40000
>>>>> total number of mallocs used during MatSetVal
>>>>>
>>>>> it should print
>>>>>
>>>>> Matrix Object: <MATRIX_NAME>
>>>>> type=mpiaij, rows=200, cols=200
>>>>> total: nonzeros=40000, allocated nonzeros=40000
>>>>> total number of mallocs used during MatSetVal
>>>>>
>>>>> It'll be nice to have the matrix name printed out cause sometimes it gets
>>>>> confusing when there are a lot of matrices you are working with.
>>>>> Either the user can set a name and it could be printed out in
>>>>> mat_view_info or even better if in some way the variable name can be used
>>>>> directly.
>>>>>
>>>>> What do you think?
>>>>>
>>>>> Shri
>>>>
>>>
>>
>