Loading...
Searching...
No Matches
namedBlock.C
Go to the documentation of this file.
1/*---------------------------------------------------------------------------*\
2 ========= |
3 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4 \\ / O peration |
5 \\ / A nd | www.openfoam.com
6 \\/ M anipulation |
7-------------------------------------------------------------------------------
8 Copyright (C) 2016 OpenFOAM Foundation
9 Copyright (C) 2019 OpenCFD Ltd.
10-------------------------------------------------------------------------------
11License
12 This file is part of OpenFOAM.
13
14 OpenFOAM is free software: you can redistribute it and/or modify it
15 under the terms of the GNU General Public License as published by
16 the Free Software Foundation, either version 3 of the License, or
17 (at your option) any later version.
18
19 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
20 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
21 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
26
27\*---------------------------------------------------------------------------*/
28
29#include "namedBlock.H"
32// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //
33
34namespace Foam
35{
36namespace blocks
37{
40}
41}
42
43
44// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
45
47(
48 const dictionary& dict,
49 const label index,
50 const pointField& vertices,
51 const blockEdgeList& edges,
52 const blockFaceList& faces,
53 Istream& is
54)
55:
56 word(is),
57 block(dict, index, vertices, edges, faces, is)
58{
59 dictionary& d = const_cast<dictionary&>(dict);
60 dictionary* varDictPtr = d.findDict("namedBlocks");
61
62 if (varDictPtr)
63 {
64 varDictPtr->add(*this, index);
65 }
66 else
67 {
68 dictionary varDict;
69 varDict.add(*this, index);
70 d.add("namedBlocks", varDict);
71 }
72}
73
74
75// ************************************************************************* //
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Definition Istream.H:60
const pointField & vertices() const noexcept
Reference to point field defining the block mesh.
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
Definition block.H:57
Gives name to a block.
Definition namedBlock.H:53
namedBlock(const dictionary &dict, const label index, const pointField &vertices, const blockEdgeList &edges, const blockFaceList &faces, Istream &is)
Construct from Istream setting points list.
Definition namedBlock.C:40
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Definition dictionary.H:133
const dictionary * findDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary pointer if present (and it is a dictionary) otherwise return nullptr...
entry * add(entry *entryPtr, bool mergeEntry=false)
Add a new entry.
Definition dictionary.C:625
label index(const label i, const label j, const label k) const
Linear addressing index (offset) for an (i,j,k) position.
A class for handling words, derived from Foam::string.
Definition word.H:66
word()=default
Default construct.
#define defineTypeName(Type)
Define the typeName.
Definition className.H:113
Namespace for OpenFOAM.
pointField vertices(const blockVertexList &bvl)
PtrList< blockFace > blockFaceList
A PtrList of blockFaces.
PtrList< blockEdge > blockEdgeList
A PtrList of blockEdges.
vectorField pointField
pointField is a vectorField.
dictionary dict