Reference documentation for deal.II version 9.0.0
local_integrator.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2006 - 2017 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 
17 #ifndef dealii_mesh_worker_local_integrator_h
18 #define dealii_mesh_worker_local_integrator_h
19 
20 #include <deal.II/base/config.h>
21 #include <deal.II/base/subscriptor.h>
22 
23 #include <functional>
24 #include <vector>
25 #include <string>
26 
27 DEAL_II_NAMESPACE_OPEN
28 
29 namespace MeshWorker
30 {
31  template <int dim, int spacedim, typename number> class DoFInfo;
32  template <int dim, int spacedim> class IntegrationInfo;
33 
51  template <int dim, int spacedim=dim, typename number=double>
53  {
54  public:
60 
65 
69  virtual ~LocalIntegrator() = default;
70 
75  virtual void cell(DoFInfo<dim, spacedim, number> &dinfo,
76  IntegrationInfo<dim, spacedim> &info) const;
81  virtual void boundary(DoFInfo<dim, spacedim, number> &dinfo,
82  IntegrationInfo<dim, spacedim> &info) const;
87  virtual void face(DoFInfo<dim, spacedim, number> &dinfo1,
90  IntegrationInfo<dim, spacedim> &info2) const;
91 
96  bool use_cell;
97 
103 
108  bool use_face;
109 
118  std::vector<std::string> input_vector_names;
119 
128  std::vector<std::string> output_names;
129 
139  };
140 }
141 
142 
143 
144 DEAL_II_NAMESPACE_CLOSE
145 
146 #endif
virtual void cell(DoFInfo< dim, spacedim, number > &dinfo, IntegrationInfo< dim, spacedim > &info) const
Definition: mesh_worker.cc:77
virtual ~LocalIntegrator()=default
static ::ExceptionBase & ExcPureFunction()
#define DeclException0(Exception0)
Definition: exceptions.h:323
std::vector< std::string > output_names
std::vector< std::string > input_vector_names
virtual void face(DoFInfo< dim, spacedim, number > &dinfo1, DoFInfo< dim, spacedim, number > &dinfo2, IntegrationInfo< dim, spacedim > &info1, IntegrationInfo< dim, spacedim > &info2) const
Definition: mesh_worker.cc:95
virtual void boundary(DoFInfo< dim, spacedim, number > &dinfo, IntegrationInfo< dim, spacedim > &info) const
Definition: mesh_worker.cc:86