BUG: GeometricBoundaryField: handle patch groups

This commit is contained in:
mattijs
2011-12-06 21:16:12 +00:00
parent 7ad19bfba7
commit 523f8d6915
3 changed files with 31 additions and 23 deletions

View File

@ -249,7 +249,7 @@ GeometricBoundaryField
} }
// Check for groups first. (using non-wild card entries of dictionaries) // Patch or patch-groups. (using non-wild card entries of dictionaries)
forAllConstIter(dictionary, dict, iter) forAllConstIter(dictionary, dict, iter)
{ {
if (iter().isDict()) if (iter().isDict())
@ -277,12 +277,12 @@ GeometricBoundaryField
} }
} }
// Check for explicit patch overrides // Check for wildcard patch overrides
forAll(bmesh_, patchi) forAll(bmesh_, patchi)
{ {
if (bmesh_[patchi].type() == emptyPolyPatch::typeName) if (!this->set(patchi))
{ {
if (!this->set(patchi)) if (bmesh_[patchi].type() == emptyPolyPatch::typeName)
{ {
this->set this->set
( (
@ -295,23 +295,23 @@ GeometricBoundaryField
) )
); );
} }
} else
else
{
bool found = dict.found(bmesh_[patchi].name());
if (found)
{ {
this->set bool found = dict.found(bmesh_[patchi].name());
(
patchi, if (found)
PatchField<Type>::New {
this->set
( (
bmesh_[patchi], patchi,
field, PatchField<Type>::New
dict.subDict(bmesh_[patchi].name()) (
) bmesh_[patchi],
); field,
dict.subDict(bmesh_[patchi].name())
)
);
}
} }
} }
} }

View File

@ -703,11 +703,11 @@ void Foam::polyMesh::resetPrimitives
{ {
boundary_[patchI] = polyPatch boundary_[patchI] = polyPatch
( (
boundary_[patchI].name(), boundary_[patchI],
patchSizes[patchI], boundary_,
patchStarts[patchI],
patchI, patchI,
boundary_ patchSizes[patchI],
patchStarts[patchI]
); );
} }

View File

@ -113,6 +113,14 @@ castellatedMeshControls
{ {
// Surface-wise min and max refinement level // Surface-wise min and max refinement level
level (5 6); level (5 6);
// Optional specification of patch type (default is wall). No
// constraint types (cyclic, symmetry) etc. are allowed.
patchInfo
{
type wall;
inGroups (motorBike);
}
} }
} }