Feel++ 0.91.0
Static Public Member Functions | Protected Member Functions
Feel::Application Class Reference

provides information about the Application More...

#include <applicationserial.hpp>

Inheritance diagram for Feel::Application:
Feel::ApplicationXML Feel::Bratu< Dim, Order, Entity > Feel::NonLinearPow< Dim, Order, Entity > Feel::Stokes MyApp Convection< Order_s, Order_p, Order_t >

List of all members.

Public Types

Typedefs
typedef boost::ptr_list< Simgetsimgets_type
 Simget collection type.
typedef simgets_type::iterator simget_iterator
 Simget iterator over the collection.

Public Member Functions

Constructors, destructor
 Application (AboutData const &ad, MPI_Comm Comm=MPI_COMM_WORLD)
 Application (AboutData const &ad, po::options_description const &od, MPI_Comm Comm=MPI_COMM_WORLD)
 Application (int argc, char **argv, AboutData const &ad, MPI_Comm Comm=MPI_COMM_WORLD)
 Application (int argc, char **argv, AboutData const &ad, po::options_description const &od, MPI_Comm Comm=MPI_COMM_WORLD)
 Application (Application const &app)
virtual ~Application ()
 Application (int argc, char **argv, AboutData const &ad, MPI_Comm Comm=MPI_COMM_WORLD)
 Application (int argc, char **argv, AboutData const &ad, po::options_description const &od, MPI_Comm Comm=MPI_COMM_WORLD)
 ~Application ()
 Application (int argc, char **argv, AboutData const &ad, MPI_Comm Comm=MPI_COMM_WORLD)
 Application (int argc, char **argv, AboutData const &ad, po::options_description const &od, MPI_Comm Comm=MPI_COMM_WORLD)
 ~Application ()
 Application (int argc, char **argv, AboutData const &ad)
 Application (int argc, char **argv, AboutData const &ad, po::options_description const &od)
 Application (Application const &)
 ~Application ()
Mutators
void setName1 (std::string const &name1)
void setName2 (std::string const &name2)
void setH (double h, int precision=4)
void setDimension (int dim)

Static Public Member Functions

static mpi::communicator const & comm ()
static void barrier ()

Protected Member Functions

void doOptions (int argc, char **argv)
void processGenericOptions ()
void parseAndStoreOptions (po::command_line_parser parser, bool extra_parser=false)
void setLogs ()

Accessors

po::options_description const & optionsDescription () const
po::variables_map const & vm () const
AboutData const & about () const
int unknownArgc () const
char ** unknownArgv () const
uint16_type nProcess ()
uint16_type processId ()
bool isMPIInitialized () const
std::string rootRepository () const
simget_iterator begin ()
simget_iterator end ()
size_type nSimgets () const
bool verbose () const
bool isMPIInitialized () const
static bool initialized ()
static bool finalized ()
static std::string processorName ()
static bool initialized ()
static bool finalized ()
static std::string processorName ()

Methods

static MPI_Comm COMM_WORLD = MPI_COMM_NULL
ApplicationchangeRepository (boost::format)
mpi::communicator & comm ()
mpi::communicator const & comm () const
void barrier ()
void add (Simget *simget)
virtual void run ()
virtual void run (const double *X, unsigned long P, double *Y, unsigned long N)
template<class T >
static void Send (const T &obj, int proc, int tag, const MPI_Comm &comm=COMM_WORLD)
template<class T >
static void Broadcast (T &obj, int root=0, const MPI_Comm &comm=COMM_WORLD)
template<class T >
static void Recv (T &obj, int proc, int tag, const MPI_Comm &comm=COMM_WORLD)
template<class T >
static void Broadcast (T &, int=0)
static void barrier ()

Detailed Description

provides information about the Application

SERIAL Application.

petsc application

MPI Application.

Author:
Christophe Prud'homme
Christophe Prud'homme
See also:
Author:
Christophe Prud'homme
See also:
Application

Constructor & Destructor Documentation

Feel::Application::Application ( AboutData const &  ad,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Construct an MPI Application

Parameters:
adAboutData structure for this Application
CommMPI communicator
Feel::Application::Application ( AboutData const &  ad,
po::options_description const &  od,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Construct an MPI Application

Parameters:
adAboutData structure for this Application
odpo::options_description structure for this Application
CommMPI communicator
Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Construct an MPI Application

Parameters:
argcnumber of arguments on the command line
argvarguments in the command line
adAboutData structure for this Application
CommMPI communicator

std::cout << "processor name = " << M_env->processor_name() << "\n";

Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
po::options_description const &  od,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Construct an MPI Application

Parameters:
argcnumber of arguments on the command line
argvarguments in the command line
adAboutData structure for this Application
odpo::options_description structure for this Application
CommMPI communicator
Feel::Application::Application ( Application const &  app)

copy constructor

Parameters:
appApplication to be copy constructed
Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Construct an MPI Application

Parameters:
argcnumber of arguments on the command line
argvarguments in the command line
adAboutData structure for this Application
CommMPI communicator
Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
po::options_description const &  od,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Construct an MPI Application

Parameters:
argcnumber of arguments on the command line
argvarguments in the command line
adAboutData structure for this Application
odpo::options_description structure for this Application
CommMPI communicator
Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Initialize the petsc application

Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
po::options_description const &  od,
MPI_Comm  Comm = MPI_COMM_WORLD 
)

Initialize the petsc application and pass options to super classes

Feel::Application::~Application ( )

Finalize the petsc application

Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad 
)

Construct an SERIAL Application

Parameters:
argcnumber of arguments on the command line
argvarguments in the command line
adAboutData structure for this Application
Feel::Application::Application ( int  argc,
char **  argv,
AboutData const &  ad,
po::options_description const &  od 
)

Construct an SERIAL Application

Parameters:
argcnumber of arguments on the command line
argvarguments in the command line
adAboutData structure for this Application
odpo::options_description structure for this Application

Member Function Documentation

AboutData const& Feel::Application::about ( ) const [inline]

get the about data of the application

Returns:
the about data ofthe application
See also:
AboutData

Referenced by Feel::Bratu< Dim, Order, Entity >::Bratu(), doOptions(), main(), Feel::NonLinearPow< Dim, Order, Entity >::NonLinearPow(), Feel::Stokes::run(), MyApp::run(), and unknownArgv().

void Feel::Application::add ( Simget simget)

add a new simget to the application

Referenced by main().

static void Feel::Application::barrier ( ) [inline, static]
Returns:
the barrier
static void Feel::Application::barrier ( ) [inline, static]
Returns:
the barrier
void Feel::Application::barrier ( ) [inline]
Returns:
the barrier
simget_iterator Feel::Application::begin ( ) [inline]
Returns:
the begin() iterator
Application & Feel::Application::changeRepository ( boost::format  fmt)
static mpi::communicator const& Feel::Application::comm ( ) [inline, static]
Returns:
the communicator
mpi::communicator& Feel::Application::comm ( ) [inline]
Returns:
the communicator
mpi::communicator const& Feel::Application::comm ( ) const [inline]
Returns:
the communicator
void Feel::Application::doOptions ( int  argc,
char **  argv 
) [protected]

parse and store application options from cmdline

Parameters:
argcnumber of arguments
argvarguments

References about(), Feel::AboutData::appName(), Feel::Environment::localConfigRepository(), processGenericOptions(), and Feel::Environment::systemConfigRepository().

simget_iterator Feel::Application::end ( ) [inline]
Returns:
the end() iterator

Referenced by run().

static bool Feel::Application::finalized ( ) [inline, static]

Determine if the MPI environment has already been finalized.

The routine is equivalent to a call to MPI_Finalized.

Returns:
true if the MPI environment has been finalized.

References finalized().

static bool Feel::Application::finalized ( ) [inline, static]

Determine if the MPI environment has already been finalized.

The routine is equivalent to a call to MPI_Finalized.

Returns:
true if the MPI environment has been finalized.

Referenced by finalized().

static bool Feel::Application::initialized ( ) [inline, static]

Determine if the MPI environment has already been initialized.

This routine is equivalent to a call to MPI_Initialized.

Returns:
true if the MPI environment has been initialized.

References initialized().

static bool Feel::Application::initialized ( ) [inline, static]

Determine if the MPI environment has already been initialized.

This routine is equivalent to a call to MPI_Initialized.

Returns:
true if the MPI environment has been initialized.

Referenced by initialized(), and isMPIInitialized().

bool Feel::Application::isMPIInitialized ( ) const [inline]
Returns:
true if MPI is initialized, false otherwise
bool Feel::Application::isMPIInitialized ( ) const [inline]
Returns:
true if MPI is initialized, false otherwise

References initialized().

uint16_type Feel::Application::nProcess ( ) [inline]
Returns:
the number of processes
size_type Feel::Application::nSimgets ( ) const [inline]
Returns:
the number of simgets
po::options_description const& Feel::Application::optionsDescription ( ) const [inline]
void Feel::Application::processGenericOptions ( ) [protected]
uint16_type Feel::Application::processId ( ) [inline]
Returns:
the id of the current process
static std::string Feel::Application::processorName ( ) [inline, static]

Retrieve the name of this processor.

This routine returns the name of this processor. The actual form of the name is unspecified, but may be documented by the underlying MPI implementation. This routine is implemented as a call to MPI_Get_processor_name.

Returns:
the name of this processor.
static std::string Feel::Application::processorName ( ) [inline, static]

Retrieve the name of this processor.

This routine returns the name of this processor. The actual form of the name is unspecified, but may be documented by the underlying MPI implementation. This routine is implemented as a call to MPI_Get_processor_name.

Returns:
the name of this processor.
std::string Feel::Application::rootRepository ( ) const
Returns:
the root of feel applications (typically $HOME/feel)
void Feel::Application::run ( const double *  X,
unsigned long  P,
double *  Y,
unsigned long  N 
) [virtual]

execute the set of Simget stored in the Application following the input/output model $ Y=F(X) $. $ P$ is the number of inputs and $ N$ the number of outputs. Denote $ S $ (nSimgets()) the number of simgets stored in the Application. $ X $ and $ Y$ must be of size $ S P$ and $ S N $ respectively.

void Feel::Application::run ( ) [virtual]
void Feel::Application::setDimension ( int  dim)

set the dimension of the problem

void Feel::Application::setH ( double  h,
int  precision = 4 
)

h is the mesh size

void Feel::Application::setName1 ( std::string const &  name1)

name1 represents the first level name

void Feel::Application::setName2 ( std::string const &  name2)

name2 represents the second level name

int Feel::Application::unknownArgc ( ) const [inline]
Returns:
the number of options unrecognized by boost::program_options
char ** Feel::Application::unknownArgv ( ) const
Returns:
the char** of unrecognized options

References about().

bool Feel::Application::verbose ( ) const [inline]
Returns:
true if the verbose command line/config option is used, false otherwise
po::variables_map const& Feel::Application::vm ( ) const [inline]