GRINS-0.8.0
vorticity.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 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 
26 #ifndef GRINS_VORTICITY_H
27 #define GRINS_VORTICITY_H
28 
29 // GRINS
30 #include "grins/qoi_base.h"
32 
33 namespace GRINS
34 {
35  class VelocityVariable;
36 
38 
44  class Vorticity : public QoIBase
45  {
46  public:
47 
49 
51  Vorticity( const std::string& qoi_name );
52 
53  virtual ~Vorticity();
54 
56  virtual QoIBase* clone() const;
57 
58  virtual bool assemble_on_interior() const;
59 
60  virtual bool assemble_on_sides() const;
61 
63 
65  virtual void init( const GetPot& input,
66  const MultiphysicsSystem& system,
67  unsigned int qoi_num );
68 
69  virtual void init_context( AssemblyContext& context );
70 
72 
75  virtual void element_qoi( AssemblyContext& context,
76  const unsigned int qoi_index );
77 
79 
81  virtual void element_qoi_derivative( AssemblyContext& context,
82  const unsigned int qoi_index );
83 
84  protected:
85 
87 
89  std::set<libMesh::subdomain_id_type> _subdomain_ids;
90 
91  private:
93  Vorticity();
94 
95  };
96 
97  inline
99  {
100  return true;
101  }
102 
103  inline
105  {
106  return false;
107  }
108 }
109 #endif //GRINS_VORTICITY_H
virtual bool assemble_on_interior() const
Does the QoI need an element interior assembly loop?
Definition: vorticity.h:98
Vorticity()
User never call default constructor.
Vorticity QoI.
Definition: vorticity.h:44
virtual ~Vorticity()
Definition: vorticity.C:51
virtual QoIBase * clone() const
Required to provide clone (deep-copy) for adding QoI object to libMesh objects.
Definition: vorticity.C:56
virtual void init_context(AssemblyContext &context)
Definition: vorticity.C:84
std::set< libMesh::subdomain_id_type > _subdomain_ids
List of sumdomain ids for which we want to compute this QoI.
Definition: vorticity.h:89
GRINS namespace.
virtual bool assemble_on_sides() const
Does the QoI need a domain boundary assembly loop?
Definition: vorticity.h:104
const VelocityVariable * _flow_vars
Definition: vorticity.h:86
virtual void element_qoi(AssemblyContext &context, const unsigned int qoi_index)
Compute the qoi value.
Definition: vorticity.C:100
Interface with libMesh for solving Multiphysics problems.
virtual void init(const GetPot &input, const MultiphysicsSystem &system, unsigned int qoi_num)
Initialize local variables.
Definition: vorticity.C:62
virtual void element_qoi_derivative(AssemblyContext &context, const unsigned int qoi_index)
Compute the qoi derivative with respect to the solution.
Definition: vorticity.C:128

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