This curved face sweeps the points of an opposing pair of the face's four edges over the surface of the face. Each row of points is constructed by transforming (i.e., translating and rotating) and uniformly scaling the swept edges so that their end points connect to the points of the other two edges. This does a better job than the standard interpolation algorithm of conforming to cylinders, cones, toroids and similar. More...


Public Member Functions | |
| TypeName ("sweep") | |
| Runtime type information. More... | |
| sweepFace (const dictionary &dict, const label index, const searchableSurfaceList &geometry, Istream &) | |
| Construct from Istream setting pointsList. More... | |
| sweepFace (const sweepFace &)=delete | |
| Disallow default bitwise copy construction. More... | |
| virtual | ~sweepFace () |
| Destructor. More... | |
| virtual void | project (const blockDescriptor &, const label blockFacei, pointField &points) const |
| Project the given points onto the surface. More... | |
| void | operator= (const sweepFace &)=delete |
| Disallow default bitwise assignment. More... | |
Public Member Functions inherited from blockFace | |
| TypeName ("blockFace") | |
| Runtime type information. More... | |
| declareRunTimeSelectionTable (autoPtr, blockFace, Istream,(const dictionary &dict, const label index, const searchableSurfaceList &geometry, Istream &is),(dict, index, geometry, is)) | |
| blockFace (const face &vertices) | |
| Construct from face vertices. More... | |
| blockFace (const dictionary &dict, const label index, Istream &) | |
| Construct from Istream. More... | |
| virtual autoPtr< blockFace > | clone () const |
| Clone function. More... | |
| virtual | ~blockFace () |
| Destructor. More... | |
| const face & | vertices () const |
| Return block face vertices. More... | |
| bool | compare (const blockFace &) const |
| Compare with given blockFace. More... | |
| bool | compare (const face &vertices) const |
| Compare with the given block and block face. More... | |
| void | write (Ostream &, const dictionary &) const |
| Write face with variable backsubstitution. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from blockFace | |
| static autoPtr< blockFace > | New (const dictionary &dict, const label index, const searchableSurfaceList &geometry, Istream &) |
| New function which constructs and returns pointer to a blockFace. More... | |
Protected Attributes inherited from blockFace | |
| const face | vertices_ |
| Block face vertices. More... | |
This curved face sweeps the points of an opposing pair of the face's four edges over the surface of the face. Each row of points is constructed by transforming (i.e., translating and rotating) and uniformly scaling the swept edges so that their end points connect to the points of the other two edges. This does a better job than the standard interpolation algorithm of conforming to cylinders, cones, toroids and similar.
The algorithm is asymmetric, and depends on the order in which the vertices are supplied. E.g., if vertices (0 1 2 3) are supplied, then that means edge (0 1) will be swept towards edge (2 3) in the direction defined by edges (0 3) and (1 2).
Additionally, the swept edges can be rotated around their axis to match any bend in the sweep path. This behaviour is controlled by a single user-defined scalar parameter, the rotation fraction, which must take a value between 0 and 1. A value of 0 means no rotation is performed, whilst a value of 1 means that the edges are fully rotated to maintain a consistent angle with the sweep path.
Sweeping is done in both directions, and the results are blended with a weight proportional to the proximity to the starting edge. This prevents discontinuities in the case that the start and end edge are not geometrically similar.
Definition at line 72 of file sweepFace.H.
| sweepFace | ( | const dictionary & | dict, |
| const label | index, | ||
| const searchableSurfaceList & | geometry, | ||
| Istream & | is | ||
| ) |
Construct from Istream setting pointsList.
Definition at line 45 of file sweepFace.C.
References Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, and blockFace::vertices().

|
inlinevirtual |
Destructor.
Definition at line 104 of file sweepFace.H.
| TypeName | ( | "sweep" | ) |
Runtime type information.
|
virtual |
Project the given points onto the surface.
Implements blockFace.
Definition at line 68 of file sweepFace.C.
References Foam::saturationModels::A, face::area(), Foam::asin(), blockDescriptor::blockShape(), edge::compare(), blockDescriptor::density(), cellShape::edges(), forAll, Tensor< scalar >::I, Foam::mag(), Foam::normalised(), p, Foam::constant::mathematical::pi(), points, Foam::Ra(), Foam::rotationTensor(), Foam::sqr(), Foam::Swap(), T0, and Foam::vertices().

|
delete |
Disallow default bitwise assignment.