Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037 #ifndef wallNormalInfo_H
00038 #define wallNormalInfo_H
00039
00040 #include <OpenFOAM/point.H>
00041 #include <OpenFOAM/label.H>
00042 #include <OpenFOAM/scalar.H>
00043 #include <OpenFOAM/tensor.H>
00044
00045
00046
00047 namespace Foam
00048 {
00049
00050
00051 class polyPatch;
00052 class polyMesh;
00053
00054
00055
00056
00057
00058 class wallNormalInfo
00059 {
00060
00061
00062
00063 vector normal_;
00064
00065
00066
00067
00068 inline bool update(const wallNormalInfo& w2);
00069
00070 public:
00071
00072
00073
00074
00075 static point greatVector;
00076
00077
00078
00079
00080 inline wallNormalInfo();
00081
00082
00083 inline wallNormalInfo(const vector& normal);
00084
00085
00086 inline wallNormalInfo(const wallNormalInfo&);
00087
00088
00089
00090
00091
00092 inline const vector& normal() const;
00093
00094
00095
00096
00097
00098
00099 inline bool valid() const;
00100
00101
00102 inline bool sameGeometry
00103 (
00104 const polyMesh&,
00105 const wallNormalInfo&,
00106 const scalar
00107 ) const;
00108
00109
00110
00111 inline void leaveDomain
00112 (
00113 const polyMesh&,
00114 const polyPatch&,
00115 const label patchFaceI,
00116 const point& faceCentre
00117 );
00118
00119
00120 inline void enterDomain
00121 (
00122 const polyMesh&,
00123 const polyPatch&,
00124 const label patchFaceI,
00125 const point& faceCentre
00126 );
00127
00128
00129 inline void transform
00130 (
00131 const polyMesh&,
00132 const tensor&
00133 );
00134
00135
00136 inline bool updateCell
00137 (
00138 const polyMesh&,
00139 const label thisCellI,
00140 const label neighbourFaceI,
00141 const wallNormalInfo& neighbourInfo,
00142 const scalar tol
00143 );
00144
00145
00146 inline bool updateFace
00147 (
00148 const polyMesh&,
00149 const label thisFaceI,
00150 const label neighbourCellI,
00151 const wallNormalInfo& neighbourInfo,
00152 const scalar tol
00153 );
00154
00155
00156 inline bool updateFace
00157 (
00158 const polyMesh&,
00159 const label thisFaceI,
00160 const wallNormalInfo& neighbourInfo,
00161 const scalar tol
00162 );
00163
00164
00165
00166
00167 inline bool operator==(const wallNormalInfo&) const;
00168
00169 inline bool operator!=(const wallNormalInfo&) const;
00170
00171
00172
00173
00174 friend Ostream& operator<<(Ostream&, const wallNormalInfo&);
00175 friend Istream& operator>>(Istream&, wallNormalInfo&);
00176 };
00177
00178
00179
00180
00181 }
00182
00183
00184
00185 #include <dynamicMesh/wallNormalInfoI.H>
00186
00187
00188
00189 #endif
00190
00191