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
42 template<typename T>
43 List<label> surfaceIndexInt(T& field, const label patchInt, const label patchExt);
44
45 template<typename T>
46 List<label> surfaceIndexExt(T& field, const label patchInt, const label patchExt);
47
48 template<typename T, typename V>
49 void surfaceValuesInt(T& field, const label patchInt, const label patchExt, List<V>& result);
50
51 template<typename T, typename V>
52 void surfaceValuesExt(T& field, const label patchInt, const label patchExt, List<V>& result);
53
54 template<typename T>
55 Foam::Vector<scalar> surfaceFindMirrorPoint(T& field, const label patchInt, const label patchExt, const label cellID);
56
57 template<typename T>
58 label surfaceFindClosest(T& field, const label patchInt, const label patchExt, Foam::Vector<scalar> point);
59
60 template<typename T, typename V>
61 void surfaceAverage(T& field, const label patchInt, const label patchExt, List<V>& result);
62
63 template<typename T, typename V>
64 void surfaceJump(T& field, const label patchInt, const label patchExt, List<V>& result);
65
66}; // End namespace ITHACAsurfacetools
67} // End namespace ITHACAutilities
68
69// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
70
71#endif
72
73// ************************************************************************* //
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.