/usr/include/ASL/math/aslDistanceFunctionAlg.h is in libasl-dev 0.1.7-2build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | /*
* Advanced Simulation Library <http://asl.org.il>
*
* Copyright 2015 Avtech Scientific <http://avtechscientific.com>
*
*
* This file is part of Advanced Simulation Library (ASL).
*
* ASL is free software: you can redistribute it and/or modify it
* under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, version 3 of the License.
*
* ASL is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with ASL. If not, see <http://www.gnu.org/licenses/>.
*
*/
#ifndef ASLDISTANCEFUNCTIONALG_H
#define ASLDISTANCEFUNCTIONALG_H
#include <acl/aclMath/aclVectorOfElementsDef.h>
#include <aslUtilities.h>
namespace asl {
// template <typename T> class AVec;
// class Block;
// class AbstractDataWithGhostNodes;
// typedef std::shared_ptr<AbstractDataWithGhostNodes> SPAbstractDataWithGhostNodes;
/// returns expression corresponding to check if the node in i^th direction is ghost one
acl::VectorOfElements isGhostNode(TemplateVE & distanceTVE, unsigned int i);
/// returns expression corresponding to check if the node in i^th direction is computation one
acl::VectorOfElements isComputationNode(TemplateVE & distanceTVE, unsigned int i);
/// returns expression corresponding to number of ghost nodes in a cell \p i
acl::VectorOfElements nGhostNodesInCell(TemplateVE & distanceTVE, unsigned int i);
/// returns expression corresponding to check if there is a boundary between nodes i^th and j^th within cell \p iE
acl::VectorOfElements isBoundaryBetween(TemplateVE & distanceTVE,
unsigned int iE,
unsigned int i,
unsigned int j);
/// returns expression corresponding to the relative boundary position in direction \p i
/**
\f[ x= v_0/(v_0-v_i) \f]
*/
acl::VectorOfElements exBoundaryX(TemplateVE & distanceTVE, unsigned int i);
/// generates expresion for center of a boundary element
/**
\param iEl the element number
computes avarage point of corners of the boundary poligon within the element
*/
acl::VectorOfElements exBoundaryCenter(TemplateVE & distanceTVE, unsigned int iEl);
/// generates expresion for area of a boundary element
/**
\param iEl the element number
computes area of the corresponding boundary within bulk element \p iEl
*/
vector<acl::Element> gcBoundaryArea(TemplateVE & distanceTVE,
unsigned int iEl,
acl::VectorOfElements & center,
acl::VectorOfElements & area);
/// generates expresion for area of a boundary element
/**
\param iEl the element number
computes area of the corresponding boundary within cell iEl and divide on number of
ghost points within the cell
*/
vector<acl::Element> gcBoundaryAreaPerGhostPoint(TemplateVE & distanceTVE,
unsigned int iEl,
acl::VectorOfElements & center,
acl::VectorOfElements & area);
/// generates expresion for area of a boundary element
/**
computes area of the corresponding boundary within all cells
*/
vector<acl::Element> gcBoundaryArea(TemplateVE & distanceTVE,
acl::VectorOfElements & area);
/// generates expresion for area of a boundary element
/**
computes area of the corresponding boundary per ghost point within all cells
*/
vector<acl::Element> gcBoundaryAreaPerGhostPoint(TemplateVE & distanceTVE,
acl::VectorOfElements & area);
} // asl
#endif // ASLDISTANCEFUNCTION
|