Go to the documentation of this file.
40 searchableSurfaceFeatures,
41 searchablePlateFeatures,
64 const label edgesArray[4][2]
70 edges[edgeI][0] = edgesArray[edgeI][0];
71 edges[edgeI][1] = edgesArray[edgeI][1];
79 Foam::searchablePlateFeatures::searchablePlateFeatures
90 dict.lookupOrDefault<
word>(
"meshableSide",
"inside")
95 <<
" Meshable region = "
125 edgeNormals[0][0] = 0; edgeNormals[0][1] = 0;
126 edgeNormals[1][0] = 0; edgeNormals[1][1] = 0;
127 edgeNormals[2][0] = 0; edgeNormals[2][1] = 0;
128 edgeNormals[3][0] = 0; edgeNormals[3][1] = 0;
130 forAll(edgeDirections, eI)
137 for (
label j = 0; j < 2; ++j)
140 (
faceNormals[edgeNormals[eI][j]] ^ edgeDirections[eI]);
145 normalDirections[eI][j] =
149 & (fC0tofE0/(
mag(fC0tofE0)+ VSMALL))
160 forAll(featurePointNormals, pI)
162 labelList& ftPtEdges = featurePointEdges[pI];
168 const edge&
e = edges[eI];
172 ftPtEdges[edgeI++] = eI;
174 else if (
e.end() == pI)
176 ftPtEdges[edgeI++] = eI;
180 labelList& ftPtNormals = featurePointNormals[pI];
183 ftPtNormals[0] = edgeNormals[ftPtEdges[0]][0];
194 surface().
name() +
".extendedFeatureEdgeMesh",
195 surface().instance(),
196 "extendedFeatureEdgeMesh",
addToRunTimeSelectionTable(decompositionMethod, kahipDecomp, dictionary)
List< label > labelList
A List of labels.
void reset(T *p=nullptr) noexcept
Delete managed object and set to new given pointer.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
List< edge > edgeList
A List of edges.
A class for handling words, derived from Foam::string.
virtual void getNormal(const List< pointIndexHit > &, vectorField &normal) const =0
From a set of points and indices get the normal.
static constexpr const zero Zero
Global zero.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
Ostream & endl(Ostream &os)
Add newline and flush stream.
T lookupOrDefault(const word &keyword, const T &deflt, enum keyType::option matchOpt=keyType::REGEX) const
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
#define forAll(list, i)
Loop across all elements in list.
static const Enum< sideVolumeType > sideVolumeTypeNames_
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
surfaceVectorField faceNormals(mesh.Sf()/mesh.magSf())
virtual ~searchablePlateFeatures()
Destructor.
messageStream Info
Information stream (uses stdout - output is on the master only)
virtual tmp< pointField > points() const =0
Get the points that define the surface.
word name(const complex &c)
Return string representation of complex.
Base class of (analytical or triangulated) surface. Encapsulates all the search routines....
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
constexpr auto end(C &c) -> decltype(c.end())
Return iterator to the end of the container c.
Ostream & indent(Ostream &os)
Indent stream.
static const edgeList edges
Edge to point addressing.
virtual autoPtr< extendedFeatureEdgeMesh > features() const
Return an extendedFeatureEdgeMesh containing the features.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label ListType::const_reference const label start
const dimensionedScalar e
Elementary charge.
Decorator that returns the features of a searchable surface.
void setSize(const label newSize)
Alias for resize(const label)
void cross(FieldField< Field1, typename crossProduct< Type1, Type2 >::type > &f, const FieldField< Field1, Type1 > &f1, const FieldField< Field2, Type2 > &f2)
defineTypeNameAndDebug(combustionModel, 0)