Flow123d  release_1.8.3-6-gc7eaf42
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
ApplicationBase Class Referenceabstract

#include <application_base.hh>

Inheritance diagram for ApplicationBase:
Inheritance graph
[legend]
Collaboration diagram for ApplicationBase:
Collaboration graph
[legend]

Public Member Functions

void init (int argc, char **argv)
 

Static Public Attributes

static const int exit_success = 0
 Return codes of application. More...
 
static const int exit_failure = 1
 
static const int exit_output = 0
 
static bool petsc_initialized = false
 

Protected Member Functions

 ApplicationBase (int argc, char **argv)
 
virtual ~ApplicationBase ()
 Destructor. More...
 
virtual void run ()=0
 
void system_init (MPI_Comm comm, const string &log_filename)
 
virtual void parse_cmd_line (const int argc, char **argv)
 
void petsc_initialize (int argc, char **argv)
 
int petcs_finalize ()
 
virtual void after_run ()
 

Protected Attributes

string log_filename_
 
string petsc_redirect_file_ =""
 

Static Protected Attributes

static FILE * petsc_output_ =NULL
 File handler for redirecting PETSc output. More...
 

Detailed Description

Base virtual class of Flow123D application.

Contains base methods of application for initialization, run and finalization which is used in derived class.

Usage:

class Application : public ApplicationBase {
public:
Application(int argc, char ** argv); // constructor
protected:
virtual void run(); // implementation of pure virtual method
virtual void after_run(); // overriding of parent method
}

Definition at line 47 of file application_base.hh.

Constructor & Destructor Documentation

ApplicationBase::ApplicationBase ( int  argc,
char **  argv 
)
protected

Constructor

Construction is done in init method. We need to call virtual methods during construction.

Definition at line 23 of file application_base.cc.

ApplicationBase::~ApplicationBase ( )
protectedvirtual

Destructor.

Definition at line 142 of file application_base.cc.

Member Function Documentation

virtual void ApplicationBase::after_run ( )
inlineprotectedvirtual

Execute part of program after run of simulation.

Method can be override in derived class.

Reimplemented in Application.

Definition at line 116 of file application_base.hh.

Here is the caller graph for this function:

void ApplicationBase::init ( int  argc,
char **  argv 
)

Contains basic structure of application (initialization, run and finalization). Method is call after constructor and allows to call virtual methods.

Definition at line 126 of file application_base.cc.

Here is the caller graph for this function:

virtual void ApplicationBase::parse_cmd_line ( const int  argc,
char **  argv 
)
inlineprotectedvirtual

Parse command line parameters before Flow123D initialization.

Method can be override in derived class.

Reimplemented in Application.

Definition at line 92 of file application_base.hh.

Here is the caller graph for this function:

int ApplicationBase::petcs_finalize ( )
protected

Finalize PETSC. If finalization failed return nonzero value.

Definition at line 106 of file application_base.cc.

Here is the caller graph for this function:

void ApplicationBase::petsc_initialize ( int  argc,
char **  argv 
)
protected

Implement printf function for PETSc with support for redirecting. Initialize PETSC.

Definition at line 87 of file application_base.cc.

Here is the caller graph for this function:

virtual void ApplicationBase::run ( )
protectedpure virtual

Run application.

Method must be implemented in derived class.

Implemented in Application.

Here is the caller graph for this function:

void ApplicationBase::system_init ( MPI_Comm  comm,
const string &  log_filename 
)
protected

Read system parameters, open log.

Definition at line 30 of file application_base.cc.

Here is the caller graph for this function:

Member Data Documentation

const int ApplicationBase::exit_failure = 1
static

Definition at line 58 of file application_base.hh.

const int ApplicationBase::exit_output = 0
static

Definition at line 59 of file application_base.hh.

const int ApplicationBase::exit_success = 0
static

Return codes of application.

Definition at line 57 of file application_base.hh.

string ApplicationBase::log_filename_
protected

Log file name argument - passed to system_init; "" means default, "\n" means no logging TODO: move whole system_init into Application, use singleton for some runtime global options for the Flow123d library.

Definition at line 123 of file application_base.hh.

bool ApplicationBase::petsc_initialized = false
static

Definition at line 61 of file application_base.hh.

FILE * ApplicationBase::petsc_output_ =NULL
staticprotected

File handler for redirecting PETSc output.

Definition at line 130 of file application_base.hh.

string ApplicationBase::petsc_redirect_file_ =""
protected

Optional file name for output of PETSc parameters. Has to be set in parse_cmd_line()

Definition at line 127 of file application_base.hh.


The documentation for this class was generated from the following files: