ASL  0.1.7
Advanced Simulation Library
aslDistanceFunctionAlg.h
Go to the documentation of this file.
1 /*
2  * Advanced Simulation Library <http://asl.org.il>
3  *
4  * Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5  *
6  *
7  * This file is part of Advanced Simulation Library (ASL).
8  *
9  * ASL is free software: you can redistribute it and/or modify it
10  * under the terms of the GNU Affero General Public License as
11  * published by the Free Software Foundation, version 3 of the License.
12  *
13  * ASL is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU Affero General Public License for more details.
17  *
18  * You should have received a copy of the GNU Affero General Public License
19  * along with ASL. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 
24 #ifndef ASLDISTANCEFUNCTIONALG_H
25 #define ASLDISTANCEFUNCTIONALG_H
26 
28 #include <aslUtilities.h>
29 
30 namespace asl {
31 
32 // template <typename T> class AVec;
33 // class Block;
34 
35 // class AbstractDataWithGhostNodes;
36 // typedef std::shared_ptr<AbstractDataWithGhostNodes> SPAbstractDataWithGhostNodes;
37 
39  acl::VectorOfElements isGhostNode(TemplateVE & distanceTVE, unsigned int i);
40 
42  acl::VectorOfElements isComputationNode(TemplateVE & distanceTVE, unsigned int i);
44  acl::VectorOfElements nGhostNodesInCell(TemplateVE & distanceTVE, unsigned int i);
46  acl::VectorOfElements isBoundaryBetween(TemplateVE & distanceTVE,
47  unsigned int iE,
48  unsigned int i,
49  unsigned int j);
50 
52 
55  acl::VectorOfElements exBoundaryX(TemplateVE & distanceTVE, unsigned int i);
56 
57 
59 
63  acl::VectorOfElements exBoundaryCenter(TemplateVE & distanceTVE, unsigned int iEl);
64 
66 
70  vector<acl::Element> gcBoundaryArea(TemplateVE & distanceTVE,
71  unsigned int iEl,
72  acl::VectorOfElements & center,
73  acl::VectorOfElements & area);
74 
76 
81  vector<acl::Element> gcBoundaryAreaPerGhostPoint(TemplateVE & distanceTVE,
82  unsigned int iEl,
83  acl::VectorOfElements & center,
84  acl::VectorOfElements & area);
85 
87 
90  vector<acl::Element> gcBoundaryArea(TemplateVE & distanceTVE,
91  acl::VectorOfElements & area);
92 
94 
97  vector<acl::Element> gcBoundaryAreaPerGhostPoint(TemplateVE & distanceTVE,
98  acl::VectorOfElements & area);
99 
100 } // asl
101 
102 #endif // ASLDISTANCEFUNCTION
acl::VectorOfElements isComputationNode(TemplateVE &distanceTVE, unsigned int i)
returns expression corresponding to check if the node in i^th direction is computation one
Advanced Simulation Library.
Definition: aslDataInc.h:30
vector< acl::Element > gcBoundaryArea(TemplateVE &distanceTVE, unsigned int iEl, acl::VectorOfElements &center, acl::VectorOfElements &area)
generates expresion for area of a boundary element
acl::VectorOfElements exBoundaryCenter(TemplateVE &distanceTVE, unsigned int iEl)
generates expresion for center of a boundary element
The class represents several Element.
acl::VectorOfElements isBoundaryBetween(TemplateVE &distanceTVE, unsigned int iE, unsigned int i, unsigned int j)
returns expression corresponding to check if there is a boundary between nodes i^th and j^th within c...
vector< acl::Element > gcBoundaryAreaPerGhostPoint(TemplateVE &distanceTVE, unsigned int iEl, acl::VectorOfElements &center, acl::VectorOfElements &area)
generates expresion for area of a boundary element
useful common utilities
acl::VectorOfElements isGhostNode(TemplateVE &distanceTVE, unsigned int i)
returns expression corresponding to check if the node in i^th direction is ghost one
acl::VectorOfElements exBoundaryX(TemplateVE &distanceTVE, unsigned int i)
returns expression corresponding to the relative boundary position in direction i
acl::VectorOfElements nGhostNodesInCell(TemplateVE &distanceTVE, unsigned int i)
returns expression corresponding to number of ghost nodes in a cell i