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 #ifndef autoRefineDriver_H
00035 #define autoRefineDriver_H
00036
00037 #include <meshTools/treeBoundBox.H>
00038
00039
00040
00041 namespace Foam
00042 {
00043
00044
00045 class featureEdgeMesh;
00046 class refinementParameters;
00047 class meshRefinement;
00048 class decompositionMethod;
00049 class fvMeshDistribute;
00050
00051
00052
00053
00054
00055 class autoRefineDriver
00056 {
00057
00058
00059
00060 meshRefinement& meshRefiner_;
00061
00062
00063 decompositionMethod& decomposer_;
00064
00065
00066 fvMeshDistribute& distributor_;
00067
00068
00069 const labelList globalToPatch_;
00070
00071
00072
00073
00074
00075 label readFeatureEdges
00076 (
00077 const PtrList<dictionary>& featDicts,
00078 PtrList<featureEdgeMesh>& featureMeshes,
00079 labelList& featureLevel
00080 ) const;
00081
00082
00083 label featureEdgeRefine
00084 (
00085 const refinementParameters& refineParams,
00086 const PtrList<dictionary>& featDicts,
00087 const label maxIter,
00088 const label minRefine
00089 );
00090
00091
00092 label surfaceOnlyRefine
00093 (
00094 const refinementParameters& refineParams,
00095 const label maxIter
00096 );
00097
00098
00099 void removeInsideCells
00100 (
00101 const refinementParameters& refineParams,
00102 const label nBufferLayers
00103 );
00104
00105
00106 label shellRefine
00107 (
00108 const refinementParameters& refineParams,
00109 const label maxIter
00110 );
00111
00112
00113 void baffleAndSplitMesh
00114 (
00115 const refinementParameters& refineParams,
00116 const bool handleSnapProblems,
00117 const dictionary& motionDict
00118 );
00119
00120
00121 void zonify(const refinementParameters& refineParams);
00122
00123 void splitAndMergeBaffles
00124 (
00125 const refinementParameters& refineParams,
00126 const bool handleSnapProblems,
00127 const dictionary& motionDict
00128 );
00129
00130
00131 void mergePatchFaces
00132 (
00133 const refinementParameters& refineParams
00134 );
00135
00136
00137
00138 autoRefineDriver(const autoRefineDriver&);
00139
00140
00141 void operator=(const autoRefineDriver&);
00142
00143
00144 public:
00145
00146
00147 ClassName("autoRefineDriver");
00148
00149
00150
00151
00152
00153 autoRefineDriver
00154 (
00155 meshRefinement& meshRefiner,
00156 decompositionMethod& decomposer,
00157 fvMeshDistribute& distributor,
00158 const labelList& globalToPatch
00159 );
00160
00161
00162
00163
00164
00165 void doRefine
00166 (
00167 const dictionary& refineDict,
00168 const refinementParameters& refineParams,
00169 const bool prepareForSnapping,
00170 const dictionary& motionDict
00171 );
00172 };
00173
00174
00175
00176
00177 }
00178
00179
00180
00181 #endif
00182
00183