Feel++ 0.111.0-preview.14
Finite Element Embedded Library in C++
Feel::FeelModels::ModelGenericPDE< Dim > Class Template Reference

Generic PDE Model class. More...

+ Inheritance diagram for Feel::FeelModels::ModelGenericPDE< Dim >:
+ Collaboration diagram for Feel::FeelModels::ModelGenericPDE< Dim >:

Public Types

using Coefficient = typename ModelPhysicCoefficientFormPDE< Dim >::Coefficient
 
using infos_ptrtype = std::shared_ptr< infos_type >
 
using infos_type = typename ModelPhysicCoefficientFormPDE< Dim >::infos_type
 
using self_type = ModelGenericPDE< Dim >
 
- Public Types inherited from Feel::FeelModels::ModelPhysics< Dim >
using material_property_description_type = MaterialPropertyDescription
 
using material_property_shape_dim_type = typename material_property_description_type::shape_dim_type
 
using model_physic_ptrtype = std::shared_ptr< model_physic_type >
 
using model_physic_type = ModelPhysic< nDim >
 
using physic_id_type = std::pair< std::string, std::string >
 
- Public Types inherited from Feel::FeelModels::ModelBase
using worldcomm_ptr_t = std::shared_ptr< WorldComm >
 
using worldcomm_t = WorldComm
 
using worldscomm_ptr_t = std::vector< std::shared_ptr< WorldComm > >
 
- Public Types inherited from Feel::JournalWatcher
using function_update_information_type = std::function< void(nl::json &)>
 
using notify_type = nl::json
 

Public Member Functions

std::string const & equationName () const
 
 ModelGenericPDE (infos_ptrtype const &infos)
 
 ModelGenericPDE (ModelGenericPDE &&)=default
 
 ModelGenericPDE (ModelGenericPDE const &)=default
 
std::string const & physic () const
 
std::string const & unknownBasis () const
 
std::string const & unknownName () const
 
std::string const & unknownSymbol () const
 
- Public Member Functions inherited from Feel::FeelModels::ModelPhysics< Dim >
void addPhysics (std::map< physic_id_type, std::shared_ptr< ModelPhysic< Dim > > > const &thePhysics)
 add physics if not already registered
 
bool hasPhysic (physic_id_type const &pId) const
 return true if physic id is already registered
 
void initPhysics (std::shared_ptr< ModelPhysics< nDim > > mphysics, ModelModels const &models)
 
void initPhysics (std::shared_ptr< ModelPhysics< nDim > > mphysics, std::function< void(PhysicsTree &)> lambdaInit)
 
 ModelPhysics (ModelPhysics &&)=default
 
 ModelPhysics (ModelPhysics const &)=default
 
 ModelPhysics (std::string const &modeling)
 
 ModelPhysics (std::string const &modeling, ModelBase &&mbase)
 
 ModelPhysics (std::string const &modeling, ModelBase const &mbase)
 
std::shared_ptr< ModelPhysic< Dim > > physic (physic_id_type const &pId) const
 return physic registered from physic id
 
std::string const & physicModeling () const
 return the physic modeling
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > const & physics () const
 return all physics registered
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< Dim > > > physics (std::string const &type) const
 return all physics registered related to a type of physic
 
std::set< physic_id_type > physicsAvailable () const
 return name of all physics registered
 
std::set< physic_id_type > physicsAvailable (std::string const &type) const
 return name of all physics registered related to a type of physic
 
std::set< physic_id_type > physicsAvailableFromCurrentType () const
 return name of all physics registered related to the current type
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > physicsFromCurrentType () const
 return all physics registered related to the current type
 
std::string const & physicType () const
 return the type of physic at top level
 
auto symbolsExprPhysics (std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > const &mphysics) const
 
auto symbolsExprPhysicsFromCurrentType () const
 
tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp) const override
 
void updateInformationObjectFromCurrentType (nl::json &p) const
 
- Public Member Functions inherited from Feel::FeelModels::ModelBase
void addParameterInModelProperties (std::string const &symbolName, double value)
 
void addTimerTool (std::string const &s, std::string const &fileName) const
 
po::variables_map const & clovm () const
 return variables map from command line options
 
virtual void createWorldsComm ()
 
bool hasModelProperties () const
 
void initModelProperties ()
 
bool isUpdatedForUse () const
 
std::string const & keyword () const
 keyword
 
worldscomm_ptr_t & localNonCompositeWorldsComm ()
 
worldscomm_ptr_t const & localNonCompositeWorldsComm () const
 
void log (std::string const &_className, std::string const &_functionName, std::string const &_msg) const
 
bool manageParameterValues () const
 
bool manageParameterValuesOfModelProperties () const
 
 ModelBase (ModelBase &&app)=default
 
 ModelBase (ModelBase const &app)=default
 
 ModelBase (std::string const &prefix, std::string const &keyword, worldcomm_ptr_t const &worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
 ModelBase (std::string const &prefix, worldcomm_ptr_t const &worldComm=Environment::worldCommPtr(), std::string const &subPrefix="", ModelBaseRepository const &modelRep=ModelBaseRepository(), ModelBaseCommandLineOptions const &modelCmdLineOpt=ModelBaseCommandLineOptions())
 
ModelProperties & modelProperties ()
 
ModelProperties const & modelProperties () const
 
std::shared_ptr< ModelProperties > modelPropertiesPtr () const
 
std::string const & prefix () const
 
void printAndSaveInfo () const
 
void printInfo () const
 
ModelBaseRepository const & repository () const
 
std::string const & rootRepository () const
 
void saveInfo () const
 
std::string scalabilityFilename () const
 
std::string scalabilityPath () const
 
bool scalabilityReinitSaveFile () const
 
bool scalabilitySave () const
 
void setIsUpdatedForUse (bool b)
 
void setLocalNonCompositeWorldsComm (worldscomm_ptr_t &_worldsComm)
 
void setManageParameterValues (bool b)
 
void setManageParameterValuesOfModelProperties (bool b)
 
void setModelProperties (nl::json const &j)
 Set the Model Properties object from a json struct the json may come from python. More...
 
void setModelProperties (std::shared_ptr< ModelProperties > modelProps)
 
void setModelProperties (std::string const &filename)
 Set the Model Properties object from a filename. More...
 
void setScalabilityFilename (std::string const &s)
 
void setScalabilityPath (std::string const &s)
 
void setScalabilitySave (bool b)
 
void setWorldsComm (worldscomm_ptr_t &_worldsComm)
 
std::string const & subPrefix () const
 
auto symbolsExprParameter () const
 
tabulate_informations_ptr_t tabulateInformations () const
 
virtual tabulate_informations_ptr_t tabulateInformations (nl::json const &jsonInfo, TabulateInformationProperties const &tabInfoProp) const
 
TimerToolBase & timerTool (std::string const &s) const
 
void updateInformationObject (nl::json &p) const override
 
ModelBaseUpload const & upload () const
 
void upload (std::string const &dataPath) const
 
bool verbose () const
 
bool verboseAllProc () const
 
worldcomm_t & worldComm ()
 
worldcomm_t const & worldComm () const
 
worldcomm_ptr_t & worldCommPtr ()
 
worldcomm_ptr_t const & worldCommPtr () const
 
worldscomm_ptr_t & worldsComm ()
 
worldscomm_ptr_t const & worldsComm () const
 
- Public Member Functions inherited from Feel::JournalWatcher
 JournalWatcher (std::string const &category="", std::string const &name="", bool connect=JournalManager::journalAutoMode())
 Constructors. More...
 
 JournalWatcher (std::string const &category, bool useDefaultName, bool connect=JournalManager::journalAutoMode())
 
 JournalWatcher (function_update_information_type const &func, std::string const &category="", std::string const &name="", bool useDefaultNameIfEmpty=true, bool connect=JournalManager::journalAutoMode())
 
 JournalWatcher (JournalWatcher const &jw)
 Copy constructor.
 
virtual ~JournalWatcher ()
 Default destructor. The (inherited) object is always disconnected from the journal during the destruction.
 
bool journalIsConnected () const
 GettersCheck if the object is connected to the journal. More...
 
std::string const & journalWatcherInstanceName () const
 Return the full instance name for this watched object. The name is composed with the base name and a suffix index corresponding to the nth call. More...
 
nl::json::json_pointer journalSection () const
 Return the section into the journal as json_pointer.
 
nl::json const & informationObject () const
 Return the information into property tree.
 
void journalConnect ()
 Setters. More...
 
void journalDisconnect ()
 Disconnect the derived object from the simulation info manager. The disconnection is safe.
 
void setInformationObject (nl::json const &informationObject)
 set information object
 
void putInformationObject (nl::json const &informationObject)
 put information object
 
void addInformationObject (nl::json const &informationObject)
 add information object
 
void journalFinalize ()
 finalize journal publication
 

Friends

class ModelPhysicCoefficientFormPDE< Dim >
 

Additional Inherited Members

- Static Public Attributes inherited from Feel::FeelModels::ModelPhysics< Dim >
static const uint16_type nDim = Dim
 
- Protected Member Functions inherited from Feel::FeelModels::ModelPhysics< Dim >
std::vector< std::shared_ptr< ModelPhysic< Dim > > > initPhysics (std::string const &type, ModelModels const &models, std::set< std::string > const &modelNameRequired, bool isRequired=true)
 
virtual void updatePhysics (PhysicsTreeNode &physicsTree, ModelModels const &models)
 
- Protected Member Functions inherited from Feel::JournalWatcher
void applyUpdateInformationObject ()
 Protected Methods.
 
- Protected Attributes inherited from Feel::FeelModels::ModelPhysics< Dim >
std::string M_physicModeling
 
std::map< physic_id_type, std::shared_ptr< ModelPhysic< nDim > > > M_physics
 

Detailed Description

template<uint16_type Dim>
class Feel::FeelModels::ModelGenericPDE< Dim >

Generic PDE Model class.

Template Parameters
Dimreal dimension of the model