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
>>>> 
>>> 
>> 
> 


Reply via email to