Flow123d  JS_before_hm-1754-g1847fd3ed
eval_subset.cc
Go to the documentation of this file.
1 /*!
2  *
3  * Copyright (C) 2015 Technical University of Liberec. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it under
6  * the terms of the GNU General Public License version 3 as published by the
7  * Free Software Foundation. (http://www.gnu.org/licenses/gpl-3.0.en.html)
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
12  *
13  *
14  * @file eval_subset.cc
15  * @brief
16  * @author David Flanderka
17  */
18 
19 #include "fields/eval_subset.hh"
20 #include "fields/eval_points.hh"
22 
23 
24 /******************************************************************************
25  * Implementation of BaseIntegral methods
26  */
27 
29 {}
30 
31 
32 /******************************************************************************
33  * Implementation of BulkIntegral methods
34  */
35 
37 {}
38 
39 
40 /******************************************************************************
41  * Implementation of EdgeIntegral methods
42  */
43 
44 EdgeIntegral::EdgeIntegral(std::shared_ptr<EvalPoints> eval_points, unsigned int dim)
45 : BaseIntegral(eval_points, dim), subset_index_(eval_points_->n_subsets(dim)) {
46  n_sides_ = dim_+1;
47 }
48 
50 }
51 
52 
53 /******************************************************************************
54  * Implementation of CouplingIntegral methods
55  */
56 
57 CouplingIntegral::CouplingIntegral(std::shared_ptr<EdgeIntegral> edge_integral, std::shared_ptr<BulkIntegral> bulk_integral)
58  : BaseIntegral(edge_integral->eval_points(), edge_integral->dim()), edge_integral_(edge_integral), bulk_integral_(bulk_integral) {
59  ASSERT_EQ_DBG(edge_integral->dim(), bulk_integral->dim());
60 }
61 
63  edge_integral_.reset();
64  bulk_integral_.reset();
65 }
66 
67 
68 
69 /******************************************************************************
70  * Implementation of BoundaryIntegral methods
71  */
72 
73 BoundaryIntegral::BoundaryIntegral(std::shared_ptr<EdgeIntegral> edge_integral, std::shared_ptr<BulkIntegral> bulk_integral)
74  : BaseIntegral(edge_integral->eval_points(), edge_integral->dim()), edge_integral_(edge_integral), bulk_integral_(bulk_integral) {}
75 
77  edge_integral_.reset();
78 }
EdgeIntegral::n_sides_
unsigned int n_sides_
Number of sides (value 0 indicates bulk set)
Definition: eval_subset.hh:327
eval_subset.hh
CouplingIntegral::CouplingIntegral
CouplingIntegral()
Default constructor.
Definition: eval_subset.hh:341
eval_points.hh
ASSERT_EQ_DBG
#define ASSERT_EQ_DBG(a, b)
Definition of comparative assert macro (EQual) only for debug mode.
Definition: asserts.hh:332
BaseIntegral::dim_
unsigned int dim_
Dimension of points.
Definition: eval_subset.hh:253
EdgeIntegral::~EdgeIntegral
~EdgeIntegral()
Destructor.
Definition: eval_subset.cc:49
BoundaryIntegral::edge_integral_
std::shared_ptr< EdgeIntegral > edge_integral_
Integral according to higher dim (bulk) element subset part in EvalPoints object.
Definition: eval_subset.hh:414
BaseIntegral::~BaseIntegral
virtual ~BaseIntegral()
Destructor.
Definition: eval_subset.cc:28
BoundaryIntegral::BoundaryIntegral
BoundaryIntegral()
Default constructor.
Definition: eval_subset.hh:384
BulkIntegral::~BulkIntegral
~BulkIntegral()
Destructor.
Definition: eval_subset.cc:36
CouplingIntegral::edge_integral_
std::shared_ptr< EdgeIntegral > edge_integral_
Integral according to side subset part (element of higher dim) in EvalPoints object.
Definition: eval_subset.hh:371
BaseIntegral
Definition: eval_subset.hh:228
EdgeIntegral::EdgeIntegral
EdgeIntegral()
Default constructor.
Definition: eval_subset.hh:294
field_value_cache.hh
BoundaryIntegral::~BoundaryIntegral
~BoundaryIntegral()
Destructor.
Definition: eval_subset.cc:76
CouplingIntegral::~CouplingIntegral
~CouplingIntegral()
Destructor.
Definition: eval_subset.cc:62
CouplingIntegral::bulk_integral_
std::shared_ptr< BulkIntegral > bulk_integral_
Integral according to bulk subset part (element of lower dim) in EvalPoints object.
Definition: eval_subset.hh:373