PetscTools.hpp File Reference

#include <string>
#include <vector>
#include <cstdlib>
#include <petsc.h>
#include <petscvec.h>
#include <petscmat.h>
Include dependency graph for PetscTools.hpp:

Go to the source code of this file.

Classes

class  PetscTools

Defines

#define EXIT_IF_PARALLEL   if(PetscTools::IsParallel()){TS_TRACE("This test does not pass in parallel yet.");return;}
#define EXIT_IF_SEQUENTIAL   if(PetscTools::IsSequential()){TS_TRACE("This test is not meant to be executed in sequential.");return;}
#define PETSC_DESTROY_PARAM(x)   x
#define TRY_IF_MASTER(method)

Detailed Description

Contains the PetscTools class.

Definition in file PetscTools.hpp.


Define Documentation

#define EXIT_IF_PARALLEL   if(PetscTools::IsParallel()){TS_TRACE("This test does not pass in parallel yet.");return;}

For use in tests that do not work when run in parallel.

Definition at line 53 of file PetscTools.hpp.

#define EXIT_IF_SEQUENTIAL   if(PetscTools::IsSequential()){TS_TRACE("This test is not meant to be executed in sequential.");return;}

For use in tests that should ONLY be run in parallel.

Definition at line 55 of file PetscTools.hpp.

#define PETSC_DESTROY_PARAM (  )     x
#define TRY_IF_MASTER ( method   ) 
Value:
{              \
    if (PetscTools::AmMaster())              \
    { try {                                  \
        method;                              \
    } catch (Exception& e) {                 \
        PetscTools::ReplicateException(true);\
        throw(e);                            \
    } }                                      \
    PetscTools::ReplicateException(false);   \
    }

A macro to allow code to be attempted by just the master process, but to replicate any exceptions that occur to other processes. Useful for file access.

Note:
MUST be called collectively, as it contains a barrier.
Parameters:
method a command or block of code to run if master process

Definition at line 92 of file PetscTools.hpp.

Referenced by CardiacSimulation::CreateAndRun(), CardiacSimulation::CreateResumeXmlFile(), and AbstractCardiacTissue< SPACE_DIM >::save().


Generated by  doxygen 1.6.2