DOLFIN
DOLFIN C++ interface
Loading...
Searching...
No Matches
SpecialFacetFunction.h
1// Copyright (C) 2010 Marie E. Rognes
2//
3// This file is part of DOLFIN.
4//
5// DOLFIN is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// DOLFIN is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17//
18// First added: 2010-10-13
19// Last changed: 2011-07-04
20
21#ifndef __SPECIAL_FACET_FUNCTION_H
22#define __SPECIAL_FACET_FUNCTION_H
23
24#include <vector>
25#include <dolfin/function/Expression.h>
26
27namespace ufc
28{
29 class cell;
30}
31
32namespace dolfin
33{
34 template <typename T> class Array;
35 class Function;
36
40
42 {
43 public:
44
50 explicit SpecialFacetFunction(std::vector<Function>& f_e);
51
60 SpecialFacetFunction(std::vector<Function>& f_e, std::size_t dim);
61
70 SpecialFacetFunction(std::vector<Function>& f_e,
71 std::vector<std::size_t> value_shape);
72
75 void eval(Array<double>& values, const Array<double>& x,
76 const ufc::cell& cell) const;
77
86 Function& operator[] (std::size_t i) const;
87
88 private:
89
90 std::vector<Function>& _f_e;
91
92 };
93
94}
95#endif
Definition Array.h:42
Definition Expression.h:50
virtual std::vector< std::size_t > value_shape() const override
Definition Expression.cpp:119
Definition Function.h:66
Definition SpecialFacetFunction.h:42
Function & operator[](std::size_t i) const
Definition SpecialFacetFunction.cpp:49
void eval(Array< double > &values, const Array< double > &x, const ufc::cell &cell) const
Definition SpecialFacetFunction.cpp:55
Definition adapt.h:30