24template<
typename ValueType>
40 std::string fieldName,
49 exec,
mesh.nInternalFaces() +
mesh.nBoundaryFaces(),
mesh.boundaryMesh().offset()
52 boundaryConditions_(boundaryConditions)
86 boundaryConditions_(boundaryConditions)
95 :
DomainMixin<ValueType>(other), boundaryConditions_(other.boundaryConditions_)
106 for (
auto& boundaryCondition : boundaryConditions_)
108 boundaryCondition.correctBoundaryCondition(this->
field_);
115 std::vector<SurfaceBoundary<ValueType>>
Represents the boundary fields for a computational domain.
Represents the domain fields for a computational domain.
Represents an unstructured mesh in NeoN.
A class to contain the data and executors for a field and define some basic operations.
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 Vector< ValueType > & internalVector() const
Returns a const reference to the internal field.
Field< 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, std::string fieldName, const UnstructuredMesh &mesh, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
Constructor for a surfaceVector with a given name and mesh.
SurfaceField(const SurfaceField &other)
Copy constructor for a surface field.
SurfaceField(const Executor &exec, const UnstructuredMesh &mesh, const Field< ValueType > &domainVector, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
void correctBoundaryConditions()
Corrects the boundary conditions of the surface field.
SurfaceField(const Executor &exec, const UnstructuredMesh &mesh, const Vector< ValueType > &internalVector, const BoundaryData< ValueType > &boundaryVectors, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor