12#include <Kokkos_Core.hpp>
20template<
typename ValueType>
23 const std::shared_ptr<GeometryScheme> geometryScheme,
27template<
typename ValueType>
37 : Base(exec, mesh), geometryScheme_(
GeometryScheme::readOrCreate(mesh)) {};
40 : Base(exec, mesh), geometryScheme_(
GeometryScheme::readOrCreate(mesh)) {};
42 static std::string
name() {
return "uncorrected"; }
44 static std::string
doc() {
return "Uncorrected interpolation"; }
46 static std::string
schema() {
return "none"; }
57 return geometryScheme_->nonOrthDeltaCoeffs();
60 std::unique_ptr<FaceNormalGradientFactory<ValueType>>
clone()
const override
62 return std::make_unique<Uncorrected>(*
this);
67 const std::shared_ptr<GeometryScheme> geometryScheme_;
71template class Uncorrected<scalar>;
72template class Uncorrected<Vec3>;
Represents an unstructured mesh in NeoN.
Represents a surface field in a finite volume method.
static std::string name()
Uncorrected(const Executor &exec, const UnstructuredMesh &mesh)
Uncorrected(const Executor &exec, const UnstructuredMesh &mesh, Input)
static std::string schema()
virtual const SurfaceField< scalar > & deltaCoeffs() const override
virtual void faceNormalGrad(const VolumeField< ValueType > &volVector, SurfaceField< ValueType > &surfaceVector) const override
std::unique_ptr< FaceNormalGradientFactory< ValueType > > clone() const override
Represents a volume field in a finite volume method.
A template class for registering derived classes with a base class.
void computeFaceNormalGrad(const VolumeField< ValueType > &volVector, const std::shared_ptr< GeometryScheme > geometryScheme, SurfaceField< ValueType > &surfaceVector)
std::variant< Dictionary, TokenList > Input
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor