NeoFOAM
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
calculated.hpp
Go to the documentation of this file.
1// SPDX-License-Identifier: MIT
2// SPDX-FileCopyrightText: 2023 NeoFOAM authors
3
4#pragma once
5
6#include <Kokkos_Core.hpp>
7
8#include "NeoFOAM/core.hpp"
11
13{
14
15template<typename ValueType>
17 public SurfaceBoundaryFactory<ValueType>::template Register<Calculated<ValueType>>
18{
20
21public:
22
24
25 Calculated(const UnstructuredMesh& mesh, const Dictionary& dict, std::size_t patchID)
26 : Base(mesh, dict, patchID)
27 {}
28
29 virtual void correctBoundaryCondition([[maybe_unused]] DomainField<ValueType>& domainField
30 ) override
31 {}
32
33 static std::string name() { return "calculated"; }
34
35 static std::string doc() { return "TBD"; }
36
37 static std::string schema() { return "none"; }
38
39 virtual std::unique_ptr<SurfaceBoundaryFactory<ValueType>> clone() const override
40 {
41 return std::make_unique<Calculated>(*this);
42 }
43};
44}
A class representing a dictionary that stores key-value pairs.
Represents the domain fields for a computational domain.
Represents an unstructured mesh in NeoFOAM.
Calculated(const UnstructuredMesh &mesh, const Dictionary &dict, std::size_t patchID)
virtual std::unique_ptr< SurfaceBoundaryFactory< ValueType > > clone() const override
virtual void correctBoundaryCondition(DomainField< ValueType > &domainField) override
A template class for registering derived classes with a base class.