24template<
typename ValueType>
40 std::string fieldName,
50 mesh.nInternalFaces() +
mesh.nBoundaryFaces(),
51 mesh.nBoundaryFaces(),
55 boundaryConditions_(boundaryConditions)
72 boundaryConditions_(boundaryConditions)
90 boundaryConditions_(boundaryConditions)
110 for (
auto& boundaryCondition : boundaryConditions_)
112 boundaryCondition.correctBoundaryCondition(this->
field_);
119 std::vector<SurfaceBoundary<ValueType>>
Represents the boundary fields for a computational domain.
Represents the domain fields for a computational domain.
A class to contain the data and executors for a field and define some basic operations.
Represents an unstructured mesh in NeoFOAM.
This class represents a mixin for a geometric field.
const UnstructuredMesh & mesh() const
Returns a const reference to the unstructured mesh object.
const Executor & exec() const
Returns a const reference to the executor object.
const Field< ValueType > & internalField() const
Returns a const reference to the internal field.
DomainField< ValueType > field_
Represents a surface boundary field for a cell-centered finite volume method.
Represents a surface field in a finite volume method.
SurfaceField(const Executor &exec, const UnstructuredMesh &mesh, const Field< ValueType > &internalField, const BoundaryFields< ValueType > &boundaryFields, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
void correctBoundaryConditions()
Corrects the boundary conditions of the surface field.
SurfaceField(const Executor &exec, std::string fieldName, const UnstructuredMesh &mesh, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
Constructor for a surfaceField with a given name and mesh.
SurfaceField(const SurfaceField &other)
Copy constructor for a surface field.
SurfaceField(const Executor &exec, const UnstructuredMesh &mesh, const DomainField< ValueType > &domainField, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor