34template<
typename BoundaryType>
37 std::vector<BoundaryType> bcs;
38 bcs.reserve(
static_cast<std::size_t
>(mesh.
nBoundaries()));
42 Dictionary patchDict({{
"type", std::string(
"calculated")}});
43 bcs.emplace_back(mesh, patchDict, patchID);
48template<
typename BoundaryType>
51 std::vector<BoundaryType> bcs;
52 bcs.reserve(
static_cast<std::size_t
>(mesh.
nBoundaries()));
64 const auto firstProcPatch = mesh.
nBoundaries() - nProcPatches;
67 const std::string type =
68 (patchID >= firstProcPatch) ? std::string(
"processor") : std::string(
"calculated");
70 bcs.emplace_back(mesh, patchDict, patchID);
75template<
typename BoundaryType>
78 std::vector<BoundaryType> bcs;
87 const auto firstProcPatch = mesh.
nBoundaries() - nProcPatches;
90 const std::string type =
91 (patchID >= firstProcPatch) ? std::string(
"processor") : std::string(
"extrapolated");
93 bcs.emplace_back(mesh, patchDict, patchID);
103namespace fvcc = finiteVolume::cellCentred;
110template class fvcc::volumeBoundary::FixedValue<scalar>;
111template class fvcc::volumeBoundary::FixedValue<Vec3>;
113template class fvcc::volumeBoundary::FixedGradient<scalar>;
114template class fvcc::volumeBoundary::FixedGradient<Vec3>;
116template class fvcc::volumeBoundary::FixedFluxPressure<scalar>;
118template class fvcc::volumeBoundary::Calculated<scalar>;
119template class fvcc::volumeBoundary::Calculated<Vec3>;
120template class fvcc::volumeBoundary::Calculated<Tensor>;
121template class fvcc::volumeBoundary::Calculated<SymmTensor>;
123template class fvcc::volumeBoundary::Extrapolated<scalar>;
124template class fvcc::volumeBoundary::Extrapolated<Vec3>;
126template class fvcc::volumeBoundary::Empty<scalar>;
127template class fvcc::volumeBoundary::Empty<Vec3>;
129template class fvcc::volumeBoundary::Symmetry<scalar>;
130template class fvcc::volumeBoundary::Symmetry<Vec3>;
132template class fvcc::volumeBoundary::Slip<scalar>;
133template class fvcc::volumeBoundary::Slip<Vec3>;
135template class fvcc::volumeBoundary::InletOutlet<scalar>;
136template class fvcc::volumeBoundary::InletOutlet<Vec3>;
143template class fvcc::surfaceBoundary::FixedValue<scalar>;
144template class fvcc::surfaceBoundary::FixedValue<Vec3>;
146template class fvcc::surfaceBoundary::Calculated<scalar>;
147template class fvcc::surfaceBoundary::Calculated<Vec3>;
148template class fvcc::surfaceBoundary::Calculated<Tensor>;
149template class fvcc::surfaceBoundary::Calculated<SymmTensor>;
151template class fvcc::surfaceBoundary::Empty<scalar>;
152template class fvcc::surfaceBoundary::Empty<Vec3>;
154template class fvcc::surfaceBoundary::Symmetry<scalar>;
155template class fvcc::surfaceBoundary::Symmetry<Vec3>;
localIdx nProcBoundaryPatches() const
number of proc boundary patches
A class representing a dictionary that stores key-value pairs.
Represents an unstructured mesh in NeoN.
localIdx nBoundaries() const
Get the number of boundaries patches in the mesh.
const BoundaryMesh & boundaryMesh() const
Get the boundary mesh.
std::vector< BoundaryType > createCalculatedProcBCs(const UnstructuredMesh &mesh)
std::vector< BoundaryType > createCalculatedBCs(const UnstructuredMesh &mesh)
std::vector< BoundaryType > createExtrapolatedBCs(const UnstructuredMesh &mesh)
Integer types used throughout NeoN.