ENH: surfaceSlip: allow use on stand-alone pointPatches. Fixes #3404

This commit is contained in:
mattijs
2025-07-31 11:39:06 +01:00
parent e4c1a252c6
commit a32493778a
2 changed files with 19 additions and 6 deletions

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2020-2022,2024 OpenCFD Ltd.
Copyright (C) 2020-2025 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -333,13 +333,15 @@ surfaceSlipDisplacementPointPatchVectorField
frozenPointsZone_(dict.getOrDefault("frozenPointsZone", word::null)),
scalePtr_
(
PatchFunction1<scalar>::NewIfPresent
isA<facePointPatch>(p)
? PatchFunction1<scalar>::NewIfPresent
(
refCast<const facePointPatch>(p).patch(),
"scale",
dict,
false // point values
)
: nullptr
)
{}
@ -359,7 +361,12 @@ surfaceSlipDisplacementPointPatchVectorField
projectDir_(ppf.projectDir_),
wedgePlane_(ppf.wedgePlane_),
frozenPointsZone_(ppf.frozenPointsZone_),
scalePtr_(ppf.scalePtr_.clone(refCast<const facePointPatch>(p).patch()))
scalePtr_
(
isA<facePointPatch>(p)
? ppf.scalePtr_.clone(refCast<const facePointPatch>(p).patch())
: nullptr
)
{}
@ -377,10 +384,12 @@ surfaceSlipDisplacementPointPatchVectorField
frozenPointsZone_(ppf.frozenPointsZone_),
scalePtr_
(
ppf.scalePtr_.clone
isA<facePointPatch>(ppf.patch())
? ppf.scalePtr_.clone
(
refCast<const facePointPatch>(ppf.patch()).patch()
)
: nullptr
)
{}
@ -400,10 +409,12 @@ surfaceSlipDisplacementPointPatchVectorField
frozenPointsZone_(ppf.frozenPointsZone_),
scalePtr_
(
ppf.scalePtr_.clone
isA<facePointPatch>(ppf.patch())
? ppf.scalePtr_.clone
(
refCast<const facePointPatch>(ppf.patch()).patch()
)
: nullptr
)
{}

View File

@ -47,7 +47,9 @@ Description
- wedgePlane : -1 or component to knock out of intersection normal
- frozenPointsZone : empty or name of pointZone containing points
that do not move
- scale : optional scaling factor as PatchFunction1
- scale : optional scaling factor as PatchFunction1. Note that this
is only supported for polyPatch-derived pointPatches
('facePointPatch') and not for stand-alone pointPatches.
SourceFiles