GRINS-0.8.0
List of all members | Public Member Functions | Protected Member Functions
GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics > Class Template Reference

#include <physics_factory_heat_transfer.h>

Inheritance diagram for GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >:
Inheritance graph
[legend]
Collaboration diagram for GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >:
Collaboration graph
[legend]

Public Member Functions

 PhysicsFactoryHeatTransfer (const std::string &physics_name, const std::string &core_physics_name)
 
 ~PhysicsFactoryHeatTransfer ()
 
- Public Member Functions inherited from GRINS::PhysicsFactoryWithCore
 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

virtual libMesh::UniquePtr< Physicsbuild_physics (const GetPot &input, const std::string &physics_name)
 
void cond_error_msg (const std::string &physics, const std::string &conductivity) const
 
- Protected Member Functions inherited from GRINS::PhysicsFactoryWithCore
std::string find_core_physics_name (const std::string &physics_name)
 
- 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...
 

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< Physicsbuild (const std::string &name)
 Use this method to build objects of type Base. More...
 
- Static Protected Member Functions inherited from GRINS::PhysicsFactoryWithCore
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 ()
 
- 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...
 

Detailed Description

template<template< typename > class DerivedPhysics>
class GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >

Definition at line 37 of file physics_factory_heat_transfer.h.

Constructor & Destructor Documentation

template<template< typename > class DerivedPhysics>
GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >::PhysicsFactoryHeatTransfer ( const std::string &  physics_name,
const std::string &  core_physics_name 
)
inline

Definition at line 40 of file physics_factory_heat_transfer.h.

42  : PhysicsFactoryWithCore(physics_name,core_physics_name)
43  {}
PhysicsFactoryWithCore(const std::string &physics_name, const std::string &core_physics_name)
template<template< typename > class DerivedPhysics>
GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >::~PhysicsFactoryHeatTransfer ( )
inline

Definition at line 45 of file physics_factory_heat_transfer.h.

45 {};

Member Function Documentation

template<template< typename > class DerivedPhysics>
libMesh::UniquePtr< Physics > GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >::build_physics ( const GetPot &  input,
const std::string &  physics_name 
)
inlineprotectedvirtual

Implements GRINS::PhysicsFactoryBase.

Definition at line 60 of file physics_factory_heat_transfer.h.

References GRINS::PhysicsFactoryHelper::parse_conductivity_model().

61  {
62  std::string core_physics = this->find_core_physics_name(physics_name);
63 
64  std::string conductivity;
65  PhysicsFactoryHelper::parse_conductivity_model(input,core_physics,conductivity);
66 
67  libMesh::UniquePtr<Physics> new_physics;
68 
69  if( conductivity == "constant" )
70  new_physics.reset( new DerivedPhysics<ConstantConductivity>(physics_name,input) );
71 
72  else if( conductivity == "parsed" )
73  new_physics.reset( new DerivedPhysics<ParsedConductivity>(physics_name,input) );
74 
75  else
76  this->cond_error_msg(physics_name, conductivity);
77 
78  libmesh_assert(new_physics);
79 
80  return new_physics;
81  }
void cond_error_msg(const std::string &physics, const std::string &conductivity) const
static void parse_conductivity_model(const GetPot &input, const std::string &physics, std::string &model)
Determine conductivity model based on given physics name.
std::string find_core_physics_name(const std::string &physics_name)
template<template< typename > class DerivedPhysics>
void GRINS::PhysicsFactoryHeatTransfer< DerivedPhysics >::cond_error_msg ( const std::string &  physics,
const std::string &  conductivity 
) const
inlineprotected

Definition at line 85 of file physics_factory_heat_transfer.h.

87  {
88  std::string error = "================================================================\n";
89  error += "Invalid conductivity model for "+physics+"\n";
90  error += "Conductivity model = "+conductivity+"\n";
91  error += "================================================================\n";
92 
93  libmesh_error_msg(error);
94  }

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

Generated on Tue Dec 19 2017 12:47:31 for GRINS-0.8.0 by  doxygen 1.8.9.1