Mechanics of Defect Evolution Library
Loading...
Searching...
No Matches
ExternalAndInternalBoundary.h
Go to the documentation of this file.
1/* This file is part of MoDELib, the Mechanics Of Defects Evolution Library.
2 *
3 *
4 * MoDELib is distributed without any warranty under the
5 * GNU General Public License (GPL) v2 <http://www.gnu.org/licenses/>.
6 */
7
8#ifndef model_ExternalAndInternalBoundary_H_
9#define model_ExternalAndInternalBoundary_H_
10
11#include <deque>
12#include <utility> // std::pair, std::make_pair
13#include <Eigen/Dense>
14#include <Simplex.h>
15#include <IntegrationDomain.h>
16
17namespace model
18{
19
20
21 /**************************************************************************/
22 /**************************************************************************/
23 struct ExternalAndInternalBoundary //: public IntegrationDomain<dim,1,qOrder,QuadratureRule>
24 {
25
26 /**************************************/
27 template <typename FiniteElementType>
32
33 /**************************************/
34 template <typename NodeType>
35 bool operator()(const NodeType& node) const
36 {
37 return node.normalTensor().squaredNorm()>FLT_EPSILON;
38 }
39//
40// template <typename FiniteElementType, int qOrder, template <short unsigned int, size_t> class QuadratureRule>
41// static IntegrationDomain<FiniteElementType,1,qOrder,QuadratureRule> boundary(const FiniteElementType& fe)
42// {
43// IntegrationDomain<FiniteElementType,1,qOrder,QuadratureRule> temp;
44//
45// for (const auto& eIter : fe.elements())
46// {
47// if(eIter.second.isBoundaryElement())
48// {
49// const std::vector<int> boundaryFaces=eIter.second.boundaryFaces();
50// for (size_t f=0;f<boundaryFaces.size();++f)
51// {
52// temp.emplace_back(&eIter.second,boundaryFaces[f]);
53// }
54// }
55// }
56//
57// return temp;
58// }
59
60 };
61
62} // close namespace
63#endif
bool operator()(const NodeType &node) const
ExternalAndInternalBoundary(const FiniteElementType &fe)