PetscInfo#
Logs informative data
Synopsis#
#include <petscsys.h>
PetscErrorCode PetscInfo(PetscObject obj, const char message[])
PetscErrorCode PetscInfo(PetscObject obj, const char formatmessage[],arg1)
PetscErrorCode PetscInfo(PetscObject obj, const char formatmessage[],arg1,arg2)
...
Collective
Input Parameters#
obj - object most closely associated with the logging statement or
NULL
message - logging message
formatmessage - logging message using standard “printf” format
arg1, arg2, … - arguments of the format
Notes#
PetscInfo()
prints only from the first processor in the communicator of obj.
If obj is NULL, the PETSC_COMM_SELF
communicator is used, i.e. every rank of PETSC_COMM_WORLD
prints the message.
Extent of the printed messages can be controlled using the option database key -info as follows.
-info [filename][:[~]<list,of,classnames>[:[~]self]]
No filename means standard output PETSC_STDOUT
is used.
The optional <list,of,classnames> is a comma separated list of enabled classes, e.g. vec,mat,ksp. If this list is not specified, all classes are enabled. Prepending the list with ~ means inverted selection, i.e. all classes except the listed are enabled. A special classname sys relates to PetscInfo() with obj being NULL.
The optional self keyword specifies that PetscInfo() is enabled only for communicator size = 1 (e.g. PETSC_COMM_SELF
), i.e. only PetscInfo()
calls which print from every rank of PETSC_COMM_WORLD
are enabled.
By contrast, ~self means that PetscInfo() is enabled only for communicator size > 1 (e.g. PETSC_COMM_WORLD
), i.e. those PetscInfo()
calls which print from every rank of PETSC_COMM_WORLD
are disabled.
All classname/self matching is case insensitive. Filename is case sensitive.
Example of Usage#
Mat A;
PetscInt alpha;
...
PetscInfo(A,"Matrix uses parameter alpha=%" PetscInt_FMT "\n",alpha);
Options Examples#
Each call of the form
PetscInfo(obj, msg);
PetscInfo(obj, msg, arg1);
PetscInfo(obj, msg, arg1, arg2);
is evaluated as follows.
-info or -info :: prints msg to PETSC_STDOUT, for any obj regardless class or communicator
-info :mat:self prints msg to PETSC_STDOUT only if class of obj is Mat, and its communicator has size = 1
-info myInfoFileName:~vec:~self prints msg to file named myInfoFileName, only if the obj's class is NULL or other than Vec, and obj's communicator has size > 1
-info :sys prints to PETSC_STDOUT only if obj is NULL
Note that
-info :sys:~self
deactivates all info messages because sys means obj = NULL which implies PETSC_COMM_SELF but ~self filters out everything on PETSC_COMM_SELF.
Fortran Note#
This function does not take the obj argument, there is only the PetscInfo()
version, not PetscInfo()
etc.
See Also#
Level#
intermediate
Location#
Examples#
src/sys/tutorials/ex3f.F90.html
src/mat/tutorials/ex7.c.html
src/dm/impls/plex/tutorials/ex10.c.html
src/ksp/ksp/tutorials/ex72.c.html
src/ksp/ksp/tutorials/ex73.c.html
src/snes/tutorials/ex56.c.html
src/ts/tutorials/ex10.c.html
src/ts/tutorials/ex11.c.html
src/ts/utils/dmplexlandau/tutorials/ex1.c.html
src/ts/utils/dmplexlandau/tutorials/ex2.c.html
Index of all Profiling routines
Table of Contents for all manual pages
Index of all manual pages