Logo  0.95.0-final
Finite Element Embedded Library and Language in C++
Feel++ Feel++ on Github Feel++ community
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Feel::OpusApp< ModelType, RM, Model > Class Template Reference

#include <opusapp.hpp>

Detailed Description

template<typename ModelType, template< typename ReducedMethod > class RM = CRB, template< typename ModelInterface > class Model = CRBModel>
class Feel::OpusApp< ModelType, RM, Model >

Certified Reduced Basis application.

Author
Christophe Prud'homme
+ Inheritance diagram for Feel::OpusApp< ModelType, RM, Model >:

Public Types

typedef boost::shared_ptr
< crb_type > 
crb_ptrtype
 
typedef RM< crbmodel_type > crb_type
 
typedef boost::shared_ptr
< crbmodel_type > 
crbmodel_ptrtype
 
typedef Model< ModelType > crbmodel_type
 
typedef CRBModel< ModelType > crbmodelbilinear_type
 
typedef model_type::element_type element_type
 
typedef
model_type::functionspace_ptrtype 
functionspace_ptrtype
 
typedef
model_type::functionspace_type 
functionspace_type
 function space type
 
typedef boost::shared_ptr
< ModelType > 
model_ptrtype
 
typedef ModelType model_type
 model type
 
typedef ModelType::parameter_type parameter_type
 
typedef crb_type::sampling_ptrtype sampling_ptrtype
 
typedef double value_type
 
typedef std::vector
< parameter_type > 
vector_parameter_type
 
typedef Eigen::VectorXd vectorN_type
 
- Public Types inherited from Feel::Application
typedef boost::ptr_list< Simgetsimgets_type
 Simget collection type.
 
typedef simgets_type::iterator simget_iterator
 Simget iterator over the collection.
 
enum  Stats {
  FLAT = 1<<1,
  HEADER = 1<<2,
  ERRORS = 1<<3,
  TIME = 1<<4,
  DATA = 1<<5,
  NUMBERS = 1<<6,
  ALL = ERRORS | TIME | DATA | NUMBERS
}
 

Public Member Functions

void init ()
 
void loadDB ()
 
 OpusApp (AboutData const &ad, po::options_description const &od)
 
 OpusApp (AboutData const &ad, po::options_description const &od, CRBModelMode mode)
 
 OpusApp (int argc, char **argv, AboutData const &ad, po::options_description const &od)
 
 OpusApp (int argc, char **argv, AboutData const &ad, po::options_description const &od, CRBModelMode mode)
 
FEELPP_DONT_INLINE void run ()
 
void run (const double *X, unsigned long N, double *Y, unsigned long P)
 
void setMode (std::string const &mode)
 
void setMode (CRBModelMode mode)
 
- Public Member Functions inherited from Feel::Application
 Application ()
 
 Application (AboutData const &ad)
 
 Application (AboutData const &ad, po::options_description const &od)
 
 Application (int argc, char **argv, AboutData const &ad)
 
 Application (int argc, char **argv, AboutData const &ad, po::options_description const &od)
 
 Application (Application const &app)
 
virtual ~Application ()
 
 Application (int argc, char **argv, AboutData const &ad)
 
 Application (int argc, char **argv, AboutData const &ad, po::options_description const &od)
 
 ~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 ()
 
void setName1 (std::string const &name1)
 
void setName2 (std::string const &name2)
 
void setH (double h, int precision=4)
 
void setDimension (int dim)
 
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
 
ApplicationchangeRepository (boost::format)
 
WorldComm & comm ()
 
WorldComm const & comm () const
 
void barrier ()
 
void add (Simget *simget)
 
void setStats (std::vector< std::string > const &keys)
 
void printStats (std::ostream &out, size_type stats=ALL) const
 
void printStats (std::ostream &out, std::vector< std::string > const &keys, size_type stats=ALL) const
 
std::string resultFileName () const
 

Additional Inherited Members

- Static Public Member Functions inherited from Feel::Application
static void barrier ()
 
static mpi::communicator const & comm ()
 
static bool initialized ()
 
static bool finalized ()
 
static std::string processorName ()
 
static bool initialized ()
 
static bool finalized ()
 
static std::string processorName ()
 
template<class T >
static void Send (const T &obj, int proc, int tag)
 
template<class T >
static void Broadcast (T &obj)
 
template<class T >
static void Recv (T &obj, int proc, int tag)
 
template<class T >
static void Broadcast (T &, int=0)
 
static void barrier ()
 
- Protected Member Functions inherited from Feel::Application
void doOptions (int argc, char **argv)
 
void parseAndStoreOptions (po::command_line_parser parser, bool extra_parser=false)
 
void processGenericOptions ()
 
void setLogs ()
 

Member Function Documentation

template<typename ModelType , template< typename ReducedMethod > class RM = CRB, template< typename ModelInterface > class Model = CRBModel>
FEELPP_DONT_INLINE void Feel::OpusApp< ModelType, RM, Model >::run ( )
inlinevirtual

execute the set of Simget stored in the Application

note that in the file SamplingForTest we expect : mu_0= [ value0 , value1 , ... ] mu_1= [ value0 , value1 , ... ]

Reimplemented from Feel::Application.

References Feel::Application::about(), Feel::AboutData::appName(), Feel::Exporter< MeshType, N >::New(), Feel::Application::optionsDescription(), and Feel::Application::vm().

template<typename ModelType , template< typename ReducedMethod > class RM = CRB, template< typename ModelInterface > class Model = CRBModel>
void Feel::OpusApp< ModelType, RM, Model >::run ( const double *  X,
unsigned long  P,
double *  Y,
unsigned long  N 
)
inlinevirtual

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.

Reimplemented from Feel::Application.


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

Generated on Sun Dec 22 2013 13:11:21 for Feel++ by doxygen 1.8.5