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>
16class Calculated : public VolumeBoundaryFactory<ValueType>::template Register<Calculated<ValueType>>
17{
19
20public:
21
23
24 Calculated(const UnstructuredMesh& mesh, const Dictionary& dict, std::size_t patchID)
25 : Base(mesh, dict, patchID)
26 {}
27
28 virtual void correctBoundaryCondition([[maybe_unused]] DomainField<ValueType>& domainField
29 ) final
30 {}
31
32 static std::string name() { return "calculated"; }
33
34 static std::string doc() { return "TBD"; }
35
36 static std::string schema() { return "none"; }
37
38 virtual std::unique_ptr<VolumeBoundaryFactory<ValueType>> clone() const final
39 {
40 return std::make_unique<Calculated>(*this);
41 }
42};
43}
A class representing a dictionary that stores key-value pairs.
Represents the domain fields for a computational domain.
Represents an unstructured mesh in NeoFOAM.
virtual std::unique_ptr< VolumeBoundaryFactory< ValueType > > clone() const final
Calculated(const UnstructuredMesh &mesh, const Dictionary &dict, std::size_t patchID)
virtual void correctBoundaryCondition(DomainField< ValueType > &domainField) final
A template class for registering derived classes with a base class.