GRINS-0.8.0
|
PhysicsFactory base class for Physics that may have a related "core" Physics. More...
#include <physics_factory_with_core.h>
Public Member Functions | |
PhysicsFactoryWithCore (const std::string &physics_name, const std::string &core_physics_name) | |
~PhysicsFactoryWithCore () | |
Public Member Functions inherited from GRINS::PhysicsFactoryBase | |
PhysicsFactoryBase (const std::string &physics_name) | |
~PhysicsFactoryBase () | |
Public Member Functions inherited from GRINS::FactoryWithGetPotPhysicsName< Physics > | |
FactoryWithGetPotPhysicsName (const std::string &name) | |
~FactoryWithGetPotPhysicsName () | |
Public Member Functions inherited from GRINS::FactoryWithGetPot< Physics > | |
FactoryWithGetPot (const std::string &name) | |
~FactoryWithGetPot () | |
Public Member Functions inherited from GRINS::FactoryAbstract< Physics > | |
virtual | ~FactoryAbstract () |
Protected Member Functions | |
std::string | find_core_physics_name (const std::string &physics_name) |
Protected Member Functions inherited from GRINS::PhysicsFactoryBase | |
virtual libMesh::UniquePtr< Physics > | build_physics (const GetPot &input, const std::string &physics_name)=0 |
Protected Member Functions inherited from GRINS::FactoryAbstract< Physics > | |
FactoryAbstract (const std::string &name) | |
Constructor is protected. Use the build() method to construct Base objects. More... | |
Static Protected Member Functions | |
static std::map< std::string, std::string > & | core_physics_names () |
Cache for "core" physics names. More... | |
Static Protected Member Functions inherited from GRINS::FactoryAbstract< Physics > | |
static FactoryAbstract< Physics > & | get_factory (const std::string &name) |
Helper method that looks up the factory and returns it if present, or error if it's not. More... | |
static DerivedType & | get_factory_subclass (const std::string &name) |
Like get_factory, but will downcast to DerivedType. More... | |
static std::map< std::string, FactoryAbstract< Physics > * > & | factory_map () |
Additional Inherited Members | |
Static Public Member Functions inherited from GRINS::FactoryWithGetPotPhysicsName< Physics > | |
static void | set_physics_name (const std::string &physics_name) |
Setter for physics name. More... | |
Static Public Member Functions inherited from GRINS::FactoryWithGetPot< Physics > | |
static void | set_getpot (const GetPot &input) |
Static Public Member Functions inherited from GRINS::FactoryAbstract< Physics > | |
static libMesh::UniquePtr< Physics > | build (const std::string &name) |
Use this method to build objects of type Base. More... | |
Static Protected Attributes inherited from GRINS::FactoryWithGetPotPhysicsName< Physics > | |
static std::string | _physics_name |
Static Protected Attributes inherited from GRINS::FactoryWithGetPot< Physics > | |
static const GetPot * | _input |
We store only a raw pointer here because we can't make a copy. More... | |
PhysicsFactory base class for Physics that may have a related "core" Physics.
There are some Physics subclasses that are inherently related to some "core" Physics. In such cases, some input options for the derived Physics class are slave to the "core" Physics. Thus, this provides a mechanism of naming the corresponding "core" Physics associated with the primary Physics.
Definition at line 41 of file physics_factory_with_core.h.
GRINS::PhysicsFactoryWithCore::PhysicsFactoryWithCore | ( | const std::string & | physics_name, |
const std::string & | core_physics_name | ||
) |
Definition at line 30 of file physics_factory_with_core.C.
References core_physics_names().
|
inline |
Definition at line 48 of file physics_factory_with_core.h.
|
staticprotected |
Cache for "core" physics names.
At parsing time, some Physics are slave to some input options from a core Physics. In such cases, we cache the core physics name. Note we use this function to avoid the static initialization fiasco.
Definition at line 52 of file physics_factory_with_core.C.
Referenced by find_core_physics_name(), and PhysicsFactoryWithCore().
|
protected |
Definition at line 37 of file physics_factory_with_core.C.
References core_physics_names(), GRINS::PhysicsNaming::extract_physics(), and GRINS::PhysicsNaming::extract_suffix().