libMesh
rb_theta.h
Go to the documentation of this file.
1 // rbOOmit: An implementation of the Certified Reduced Basis method.
2 // Copyright (C) 2009, 2010 David J. Knezevic
3 
4 // This file is part of rbOOmit.
5 
6 // rbOOmit is free software; you can redistribute it and/or
7 // modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation; either
9 // version 2.1 of the License, or (at your option) any later version.
10 
11 // rbOOmit is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // Lesser General Public License for more details.
15 
16 // You should have received a copy of the GNU Lesser General Public
17 // License along with this library; if not, write to the Free Software
18 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 
20 #ifndef LIBMESH_RB_THETA_H
21 #define LIBMESH_RB_THETA_H
22 
23 // Local includes
24 #include "libmesh/libmesh_common.h"
25 #include "libmesh/reference_counted_object.h"
26 
27 // C++ includes
28 #include <vector>
29 
30 namespace libMesh
31 {
32 
33 class RBParameters;
34 
46 class RBTheta : public ReferenceCountedObject<RBTheta>
47 {
48 public:
49 
54  RBTheta () = default;
55  RBTheta (RBTheta &&) = default;
56  RBTheta (const RBTheta &) = default;
57  RBTheta & operator= (const RBTheta &) = default;
58  RBTheta & operator= (RBTheta &&) = default;
59  virtual ~RBTheta () = default;
60 
66  virtual Number evaluate(const RBParameters &);
67 
68  /*
69  * Evaluate the functor object for multiple given parameters simultaneously.
70  * Override to obtain problem-dependent behavior.
71  */
72  virtual std::vector<Number> evaluate_vec(const std::vector<RBParameters> & mus);
73 };
74 
75 }
76 
77 #endif // LIBMESH_RB_THETA_H
virtual std::vector< Number > evaluate_vec(const std::vector< RBParameters > &mus)
Definition: rb_theta.C:40
virtual ~RBTheta()=default
The libMesh namespace provides an interface to certain functionality in the library.
This class is part of the rbOOmit framework.
Definition: rb_parameters.h:52
This class implements reference counting.
virtual Number evaluate(const RBParameters &)
Evaluate the functor object for the given parameter.
Definition: rb_theta.C:28
RBTheta()=default
Special functions.
RBTheta & operator=(const RBTheta &)=default
This class is part of the rbOOmit framework.
Definition: rb_theta.h:46