PetscInfo#

Logs informative data

Synopsis#

#include <petsclog.h>
PetscErrorCode PetscInfo(PetscObject obj, const char message[], ...)

Collective

Input Parameters#

  • obj - object most closely associated with the logging statement or NULL

  • message - logging message using standard “printf” format

Options Database Key#

  • -info [filename][:[~]<list,of,classnames>[:[~]self]] - specify which informative messages are printed

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.

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 keyword self specifies that PetscInfo() is enabled only for a communicator size of 1 (e.g. PETSC_COMM_SELF). 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);

Examples using Options#

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 PETSc `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`
    -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 Notes#

This function does not take the obj argument, there is only the PetscInfo() version, not PetscInfo() etc.

See Also#

Interpreting -info Output: Informative Messages, PetscInfoAllow(), PetscInfoSetFromOptions(), PetscInfoEnabled(), PetscInfoSetFile(), PetscInfoGetFile(), PetscInfoSetClasses(), PetscInfoGetClass(), PetscInfoGetInfo(), PetscInfoProcessClass(), PetscInfoSetFilterCommSelf(), PetscInfoDestroy(), PetscInfoDeactivateClass(), PetscInfoActivateClass()

Level#

intermediate

Location#

src/sys/info/verboseinfo.c

Examples#

src/ksp/ksp/tutorials/ex72.c
src/sys/tutorials/ex3f.F90
src/snes/tutorials/ex56.c
src/ts/tutorials/ex11.c
src/ts/utils/dmplexlandau/tutorials/ex1.c
src/mat/tutorials/ex7.c
src/ksp/ksp/tutorials/ex73.c
src/dm/impls/plex/tutorials/ex10.c
src/ts/utils/dmplexlandau/tutorials/ex2.c
src/ts/tutorials/ex10.c


Index of all Profiling routines
Table of Contents for all manual pages
Index of all manual pages