libMesh
Loading...
Searching...
No Matches
rb_eim_assembly.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_EIM_ASSEMBLY_H
21#define LIBMESH_RB_EIM_ASSEMBLY_H
22
23// rbOOmit includes
24#include "libmesh/elem_assembly.h"
25
26// libMesh includes
27#include "libmesh/numeric_vector.h"
28#include "libmesh/point.h"
29#include "libmesh/fe.h"
30
31// C++ includes
32#include <memory>
33
34namespace libMesh
35{
36
37class RBParameters;
38class RBEIMConstruction;
39
49{
50public:
51
55 RBEIMAssembly(RBEIMConstruction & rb_eim_eval_in,
56 unsigned int basis_function_index_in);
57
65 RBEIMAssembly (const RBEIMAssembly &) = default;
68 virtual ~RBEIMAssembly();
69
75 unsigned int var,
76 std::vector<Number> & values);
77
82 unsigned int side_index,
83 unsigned int var,
84 std::vector<Number> & values);
85
90 unsigned int var);
91
96
97private:
98
103
108};
109
110}
111
112#endif // LIBMESH_RB_EIM_ASSEMBLY_H
ElemAssembly provides a per-element (interior and boundary) assembly functionality.
This class provides functionality required to define an assembly object that arises from an "Empirica...
void evaluate_basis_function(dof_id_type elem_id, unsigned int var, std::vector< Number > &values)
Return the basis function values for all quadrature points for variable var on element elem_id.
unsigned int _basis_function_index
The EIM basis function index (from _rb_eim_con's RBEIMEvaluation) for this assembly object.
RBEIMAssembly & operator=(const RBEIMAssembly &)=delete
void evaluate_side_basis_function(dof_id_type elem_id, unsigned int side_index, unsigned int var, std::vector< Number > &values)
Same as evaluate_basis_function() except for side data.
RBEIMConstruction & _rb_eim_con
The RBEIMConstruction that the assembly data comes from.
RBEIMConstruction & get_rb_eim_construction()
Get a reference to the RBEIMEvaluation object.
Number evaluate_node_basis_function(dof_id_type node_id, unsigned int var)
Same as evaluate_basis_function() except for side data.
RBEIMAssembly(RBEIMAssembly &&)=default
Special functions.
RBEIMAssembly(const RBEIMAssembly &)=default
This class is part of the rbOOmit framework.
The libMesh namespace provides an interface to certain functionality in the library.
uint8_t dof_id_type
Definition id_types.h:67