37 template<
class T>
void meshRefinement::updateList
44 List<T> newElems(newToOld.size(), nullValue);
48 label oldI = newToOld[i];
52 newElems[i] = elems[oldI];
56 elems.transfer(newElems);
70 label nBFaces = mesh_.nFaces() - mesh_.nInternalFaces();
72 if (faceData.
size() != nBFaces || syncedFaceData.
size() != nBFaces)
76 "meshRefinement::testSyncBoundaryFaceList"
77 "(const scalar, const string&, const List<T>&, const List<T>&)"
78 ) <<
"Boundary faces:" << nBFaces
79 <<
" faceData:" << faceData.
size()
80 <<
" syncedFaceData:" << syncedFaceData.
size()
90 label bFaceI = pp.
start() - mesh_.nInternalFaces();
94 const T& data = faceData[bFaceI];
95 const T& syncData = syncedFaceData[bFaceI];
97 if (
mag(data - syncData) > tol)
99 label faceI = pp.
start()+i;
105 <<
" fc:" << mesh_.faceCentres()[faceI]
106 <<
" patch:" << pp.
name()
107 <<
" faceData:" << data
108 <<
" syncedFaceData:" << syncData
109 <<
" diff:" <<
mag(data - syncData)
120 template<
class GeoField>
121 void meshRefinement::addPatchFields(
fvMesh&
mesh,
const word& patchFieldType)
125 mesh.objectRegistry::lookupClass<GeoField>()
135 const GeoField& fld = *iter();
137 typename GeoField::GeometricBoundaryField& bfld =
138 const_cast<typename GeoField::GeometricBoundaryField&
>
143 label sz = bfld.size();
148 GeoField::PatchFieldType::New
152 fld.dimensionedInternalField()
160 template<
class GeoField>
161 void meshRefinement::reorderPatchFields(fvMesh& mesh,
const labelList& oldToNew)
163 HashTable<const GeoField*> flds
165 mesh.objectRegistry::lookupClass<GeoField>()
170 typename HashTable<const GeoField*>::const_iterator iter = flds.begin();
175 const GeoField& fld = *iter();
177 typename GeoField::GeometricBoundaryField& bfld =
178 const_cast<typename GeoField::GeometricBoundaryField&
>
183 bfld.reorder(oldToNew);