17 THROW( ExcSignal() << EI_Signal(signal) << EI_SignalName(strsignal(signal)) );
47 stringstream log_name;
49 if ( log_filename ==
"//" ) {
67 PetscErrorCode ApplicationBase::petscvfprintf(FILE *fd,
const char format[], va_list Argp) {
71 if (fd != stdout && fd != stderr) {
72 ierr = PetscVFPrintfDefault(fd,format,Argp); CHKERRQ(ierr);
74 const int buf_size = 65000;
77 ierr = PetscVSNPrintf(buff,buf_size,format,&length,Argp);CHKERRQ(ierr);
82 PetscFunctionReturn(0);
91 PetscVFPrintf = this->petscvfprintf;
95 PetscInitialize(&argc,&argv,PETSC_NULL,PETSC_NULL);
110 PetscErrorCode ierr=0;
112 ierr = PetscFinalize(); CHKERRQ(ierr);
void system_init(MPI_Comm comm, const string &log_filename)
virtual ~ApplicationBase()
Destructor.
virtual void parse_cmd_line(const int argc, char **argv)
int xfclose(FILE *stream)
FCLOSE WITH ERROR HANDLING.
static bool petsc_initialized
static FILE * petsc_output_
File handler for redirecting PETSc output.
string petsc_redirect_file_
PetscErrorCode signal_handler(int signal, void *context)
void init(int argc, char **argv)
Dedicated class for storing path to input and output files.
void petsc_initialize(int argc, char **argv)
ApplicationBase(int argc, char **argv)
#define THROW(whole_exception_expr)
Wrapper for throw. Saves the throwing point.
static void init()
initialize XIO library
FILE * xfopen(const std::string &fname, const char *mode)