Loading...
Searching...
No Matches
ITHACAsurfacetools.H
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ██╗████████╗██╗ ██╗ █████╗ ██████╗ █████╗ ███████╗██╗ ██╗
3 ██║╚══██╔══╝██║ ██║██╔══██╗██╔════╝██╔══██╗ ██╔════╝██║ ██║
4 ██║ ██║ ███████║███████║██║ ███████║█████╗█████╗ ██║ ██║
5 ██║ ██║ ██╔══██║██╔══██║██║ ██╔══██║╚════╝██╔══╝ ╚██╗ ██╔╝
6 ██║ ██║ ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ╚████╔╝
7 ╚═╝ ╚═╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═══╝
8
9 * In real Time Highly Advanced Computational Applications for Finite Volumes
10 * Copyright (C) 2017 by the ITHACA-FV authors
11-------------------------------------------------------------------------------
12License
13 This file is part of ITHACA-FV
14 ITHACA-FV is free software: you can redistribute it and/or modify
15 it under the terms of the GNU Lesser General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18 ITHACA-FV is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU Lesser General Public License for more details.
22 You should have received a copy of the GNU Lesser General Public License
23 along with ITHACA-FV. If not, see <http://www.gnu.org/licenses/>.
24\*---------------------------------------------------------------------------*/
25
26#ifndef functionObjects_ITHACAsurfacetools_H
27#define functionObjects_ITHACAsurfacetools_H
28
29#include <Eigen/Eigen>
30#include "volPointInterpolation.H"
31#include "Foam2Eigen.H"
32#include "fvMesh.H"
33#include "fvMeshSubset.H"
34
35// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
36
37namespace ITHACAutilities
38{
39namespace ITHACAsurfacetools
40{
41
42template<typename T>
43List<label> surfaceIndexInt(T& field, const label patchInt,
44 const label patchExt);
45
46template<typename T>
47List<label> surfaceIndexExt(T& field, const label patchInt,
48 const label patchExt);
49
50template<typename T, typename V>
51void surfaceValuesInt(T& field, const label patchInt, const label patchExt,
52 List<V>& result);
53
54template<typename T, typename V>
55void surfaceValuesExt(T& field, const label patchInt, const label patchExt,
56 List<V>& result);
57
58template<typename T>
59Foam::Vector<scalar> surfaceFindMirrorPoint(T& field, const label patchInt,
60 const label patchExt, const label cellID);
61
62template<typename T>
63label surfaceFindClosest(T& field, const label patchInt, const label patchExt,
64 Foam::Vector<scalar> point);
65
66template<typename T, typename V>
67void surfaceAverage(T& field, const label patchInt, const label patchExt,
68 List<V>& result);
69
70template<typename T, typename V>
71void surfaceJump(T& field, const label patchInt, const label patchExt,
72 List<V>& result);
73
74}; // End namespace ITHACAsurfacetools
75} // End namespace ITHACAutilities
76
77// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
78
79#endif
80
81// ************************************************************************* //
Header file of the Foam2Eigen class.
volScalarField & T
Definition createT.H:46
void surfaceValuesInt(T &field, const label patchInt, const label patchExt, List< V > &result)
List< label > surfaceIndexInt(T &field, const label patchInt, const label patchExt)
Foam::Vector< scalar > surfaceFindMirrorPoint(T &field, const label patchInt, const label patchExt, const label cellID)
label surfaceFindClosest(T &field, const label patchInt, const label patchExt, Foam::Vector< scalar > point)
void surfaceAverage(T &field, const label patchInt, const label patchExt, List< V > &result)
void surfaceValuesExt(T &field, const label patchInt, const label patchExt, List< V > &result)
void surfaceJump(T &field, const label patchInt, const label patchExt, List< V > &result)
List< label > surfaceIndexExt(T &field, const label patchInt, const label patchExt)
Namespace to implement some useful assign operation of OF fields.