Flow123d  jenkins-Flow123d-linux-release-multijob-198
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 43 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 15 of file application_base.cc.

ApplicationBase::~ApplicationBase ( )
protectedvirtual

Destructor.

Definition at line 132 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 112 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 116 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 88 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 96 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 78 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 22 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 54 of file application_base.hh.

const int ApplicationBase::exit_output = 0
static

Definition at line 55 of file application_base.hh.

const int ApplicationBase::exit_success = 0
static

Return codes of application.

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

bool ApplicationBase::petsc_initialized = false
static

Definition at line 57 of file application_base.hh.

FILE * ApplicationBase::petsc_output_ =NULL
staticprotected

File handler for redirecting PETSc output.

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


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