OpenFOAM: API Guide
v2012
The open source CFD toolbox
smoothAlignmentSolver.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration |
5
\\ / A nd | www.openfoam.com
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
Copyright (C) 2013-2016 OpenFOAM Foundation
9
-------------------------------------------------------------------------------
10
License
11
This file is part of OpenFOAM.
12
13
OpenFOAM is free software: you can redistribute it and/or modify it
14
under the terms of the GNU General Public License as published by
15
the Free Software Foundation, either version 3 of the License, or
16
(at your option) any later version.
17
18
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
19
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
20
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
21
for more details.
22
23
You should have received a copy of the GNU General Public License
24
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
25
26
Class
27
Foam::smoothAlignmentSolver
28
29
Description
30
31
SourceFiles
32
smoothAlignmentSolverI.H
33
smoothAlignmentSolver.C
34
smoothAlignmentSolverIO.C
35
36
\*---------------------------------------------------------------------------*/
37
38
#ifndef smoothAlignmentSolver_H
39
#define smoothAlignmentSolver_H
40
41
#include "
cellShapeControlMesh.H
"
42
#include "
triadField.H
"
43
44
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
45
46
namespace
Foam
47
{
48
49
/*---------------------------------------------------------------------------*\
50
Class smoothAlignmentSolver Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
smoothAlignmentSolver
54
{
55
// Private data
56
57
cellShapeControlMesh
& mesh_;
58
59
60
// Private Member Functions
61
62
template
<
class
Triangulation,
class
Type>
63
tmp<Field<Type>
> filterFarPoints
64
(
65
const
Triangulation&
mesh
,
66
const
Field<Type>
&
field
67
);
68
69
template
<
class
Triangulation>
70
autoPtr<mapDistribute>
buildMap
71
(
72
const
Triangulation&
mesh
,
73
labelListList
& pointPoints
74
);
75
76
template
<
class
Triangulation>
77
autoPtr<mapDistribute>
buildReferredMap
78
(
79
const
Triangulation&
mesh
,
80
labelList
& indices
81
);
82
83
template
<
class
Triangulation>
84
tmp<triadField>
buildAlignmentField(
const
Triangulation&
mesh
);
85
86
template
<
class
Triangulation>
87
tmp<pointField>
buildPointField(
const
Triangulation&
mesh
);
88
89
//- Apply the fixed alignments to the triad
90
void
applyBoundaryConditions
91
(
92
const
triad
& fixedAlignment,
93
triad
& t
94
)
const
;
95
96
//- No copy construct
97
smoothAlignmentSolver
(
const
smoothAlignmentSolver
&) =
delete
;
98
99
//- No copy assignment
100
void
operator=(
const
smoothAlignmentSolver
&) =
delete
;
101
102
103
public
:
104
105
// Constructors
106
107
//- Construct null
108
smoothAlignmentSolver
(
cellShapeControlMesh
&
mesh
);
109
110
111
//- Destructor
112
~smoothAlignmentSolver
();
113
114
115
// Member Functions
116
117
// Edit
118
119
//- Smooth the alignments on the mesh
120
void
smoothAlignments
(
const
label maxSmoothingIterations);
121
};
122
123
124
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
125
126
}
// End namespace Foam
127
128
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
129
130
#endif
131
132
// ************************************************************************* //
Foam::tmp
A class for managing temporary objects.
Definition:
PtrList.H:61
Foam::smoothAlignmentSolver::~smoothAlignmentSolver
~smoothAlignmentSolver()
Destructor.
Foam::smoothAlignmentSolver
Definition:
smoothAlignmentSolver.H:52
Foam::Field
Generic templated field type.
Definition:
Field.H:63
field
rDeltaTY field()
mesh
dynamicFvMesh & mesh
Definition:
createDynamicFvMesh.H:6
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.C:33
Foam::triad
Representation of a 3D Cartesian coordinate system as a Vector of row vectors.
Definition:
triad.H:66
cellShapeControlMesh.H
Foam::autoPtr
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Definition:
HashPtrTable.H:53
Foam::List< labelList >
triadField.H
Foam::cellShapeControlMesh
Definition:
cellShapeControlMesh.H:63
Foam::smoothAlignmentSolver::smoothAlignments
void smoothAlignments(const label maxSmoothingIterations)
Smooth the alignments on the mesh.
applications
utilities
mesh
generation
foamyMesh
conformalVoronoiMesh
cellShapeControl
smoothAlignmentSolver
smoothAlignmentSolver.H
Generated by
1.8.17
OPENFOAM® is a registered
trademark
of OpenCFD Ltd.