GRINS-0.6.0
qoi_factory.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2015 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef QOI_FACTORY_H
26 #define QOI_FACTORY_H
27 
28 //libMesh
29 #include "libmesh/getpot.h"
30 
31 //GRINS
32 #include "grins/composite_qoi.h"
33 
34 // shared_ptr
35 #include "boost/tr1/memory.hpp"
36 
37 namespace GRINS
38 {
39  class QoIFactory
40  {
41  public:
42 
43  QoIFactory();
44 
45  virtual ~QoIFactory();
46 
47  virtual std::tr1::shared_ptr<CompositeQoI> build(const GetPot& input);
48 
49  protected:
50 
51  virtual void add_qoi( const GetPot& input,
52  const std::string& qoi_name,
53  std::tr1::shared_ptr<CompositeQoI>& qois );
54 
55  virtual void check_qoi_physics_consistency( const GetPot& input,
56  const std::string& qoi_name );
57 
58  virtual void echo_qoi_list( std::tr1::shared_ptr<CompositeQoI>& qois );
59 
60  void consistency_helper( const std::set<std::string>& requested_physics,
61  const std::set<std::string>& required_physics,
62  const std::string& qoi_name );
63 
64  void consistency_error_msg( const std::string& qoi_name, const std::set<std::string>& required_physics );
65 
66  };
67 }
68 #endif // QOI_FACTORY_H
virtual void check_qoi_physics_consistency(const GetPot &input, const std::string &qoi_name)
Definition: qoi_factory.C:112
void consistency_error_msg(const std::string &qoi_name, const std::set< std::string > &required_physics)
Definition: qoi_factory.C:176
virtual void add_qoi(const GetPot &input, const std::string &qoi_name, std::tr1::shared_ptr< CompositeQoI > &qois)
Definition: qoi_factory.C:80
GRINS namespace.
virtual std::tr1::shared_ptr< CompositeQoI > build(const GetPot &input)
Definition: qoi_factory.C:48
virtual ~QoIFactory()
Definition: qoi_factory.C:43
virtual void echo_qoi_list(std::tr1::shared_ptr< CompositeQoI > &qois)
Definition: qoi_factory.C:141
void consistency_helper(const std::set< std::string > &requested_physics, const std::set< std::string > &required_physics, const std::string &qoi_name)
Definition: qoi_factory.C:157

Generated on Mon Jun 22 2015 21:32:20 for GRINS-0.6.0 by  doxygen 1.8.9.1