Flow123d
Public Member Functions | Static Public Attributes | Protected Member Functions | 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
 

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_
 

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 42 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 12 of file application_base.cc.

ApplicationBase::~ApplicationBase ( )
protectedvirtual

Destructor.

Definition at line 104 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 102 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 84 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 85 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 66 of file application_base.cc.

Here is the caller graph for this function:

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

Initialize PETSC.

Definition at line 53 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 17 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 53 of file application_base.hh.

const int ApplicationBase::exit_output = 0
static

Definition at line 54 of file application_base.hh.

const int ApplicationBase::exit_success = 0
static

Return codes of application.

Definition at line 52 of file application_base.hh.

string ApplicationBase::log_filename_
protected

Log file name argument - passed to system_init; "" menas 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 109 of file application_base.hh.


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