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

#include <physics_factory_variable_density_flow.h>

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

Public Member Functions

 PhysicsFactoryVariableDensityFlow (const std::string &physics_name, const std::string &core_physics_name)
 
 ~PhysicsFactoryVariableDensityFlow ()
 
- 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 ()
 

Protected Member Functions

virtual libMesh::UniquePtr< Physicsbuild_physics (const GetPot &input, const std::string &physics_name)
 
void prop_error_msg (const std::string &physics, const std::string &conductivity, const std::string &viscosity, const std::string &specific_heat) const
 
- Protected Member Functions inherited from GRINS::PhysicsFactoryWithCore
std::string find_core_physics_name (const std::string &physics_name)
 

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 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 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, typename, typename > class DerivedPhysics>
class GRINS::PhysicsFactoryVariableDensityFlow< DerivedPhysics >

Definition at line 34 of file physics_factory_variable_density_flow.h.

Constructor & Destructor Documentation

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

Definition at line 37 of file physics_factory_variable_density_flow.h.

39  : PhysicsFactoryWithCore(physics_name,core_physics_name)
40  {}
PhysicsFactoryWithCore(const std::string &physics_name, const std::string &core_physics_name)
template<template< typename, typename, typename > class DerivedPhysics>
GRINS::PhysicsFactoryVariableDensityFlow< DerivedPhysics >::~PhysicsFactoryVariableDensityFlow ( )
inline

Definition at line 42 of file physics_factory_variable_density_flow.h.

42 {};

Member Function Documentation

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

Implements GRINS::PhysicsFactoryBase.

Definition at line 43 of file physics_factory_variable_density_flow.C.

References GRINS::PhysicsFactoryHelper::parse_conductivity_model(), GRINS::PhysicsFactoryHelper::parse_specific_heat_model(), and GRINS::PhysicsFactoryHelper::parse_viscosity_model().

45  {
46  std::string core_physics = this->find_core_physics_name(physics_name);
47 
48  std::string conductivity;
49  PhysicsFactoryHelper::parse_conductivity_model(input,core_physics,conductivity);
50 
51  std::string viscosity;
52  PhysicsFactoryHelper::parse_viscosity_model(input,core_physics,viscosity);
53 
54  std::string specific_heat;
55  PhysicsFactoryHelper::parse_specific_heat_model(input,core_physics,specific_heat);
56 
57  libMesh::UniquePtr<Physics> new_physics;
58 
59  if( conductivity == "constant" && viscosity == "constant" && specific_heat == "constant" )
60  new_physics.reset( new DerivedPhysics<ConstantViscosity,ConstantSpecificHeat,ConstantConductivity>
61  (physics_name,input) );
62 
63  else
64  this->prop_error_msg(physics_name, conductivity, viscosity, specific_heat);
65 
66  libmesh_assert(new_physics);
67 
68  return new_physics;
69  }
static void parse_viscosity_model(const GetPot &input, const std::string &physics, std::string &model)
Determine viscosity model based on given physics name.
void prop_error_msg(const std::string &physics, const std::string &conductivity, const std::string &viscosity, const std::string &specific_heat) 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)
static void parse_specific_heat_model(const GetPot &input, const std::string &physics, std::string &model)
Determine specific heat model based on given physics name.
template<template< typename, typename, typename > class DerivedPhysics>
void GRINS::PhysicsFactoryVariableDensityFlow< DerivedPhysics >::prop_error_msg ( const std::string &  physics,
const std::string &  conductivity,
const std::string &  viscosity,
const std::string &  specific_heat 
) const
protected

Definition at line 72 of file physics_factory_variable_density_flow.C.

76  {
77  std::string error = "================================================================\n";
78  error += "Invalid combination of models for "+physics+"\n";
79  error += "Viscosity model = "+viscosity+"\n";
80  error += "Conductivity model = "+conductivity+"\n";
81  error += "Specific heat model = "+specific_heat+"\n";
82  error += "================================================================\n";
83 
84  libmesh_error_msg(error);
85  }

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

Generated on Thu Jun 2 2016 21:52:32 for GRINS-0.7.0 by  doxygen 1.8.10