NeoN
A framework for CFD software
Loading...
Searching...
No Matches
basicGeometryScheme.hpp
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2023 - 2026 NeoN authors
2//
3// SPDX-License-Identifier: MIT
4
5#pragma once
6
7#include <optional>
8
16
18{
19
38{
39
40public:
41
43
44 void updateWeights(const Executor& exec, SurfaceField<scalar>& weights) final;
45
46 void
47 updateNonOrthDeltaCoeffs(const Executor& exec, SurfaceField<scalar>& nonOrthDeltaCoeffs) final;
48
50 const Executor& exec,
51 const SurfaceField<scalar>& nonOrthDeltaCoeffs,
52 SurfaceField<Vec3>& nonOrthCorrectionVec3s
53 ) final;
54
55
56private:
57
58 const UnstructuredMesh& mesh_;
59
60#ifdef NF_WITH_MPI_SUPPORT
66 std::optional<Vector<Vec3>> procNeiCellCentre_;
67#endif
68};
69
70} // namespace NeoN
Represents an unstructured mesh in NeoN.
Default GeometryScheme kernel: computes weights, nonOrthDeltaCoeffs and the non-orthogonal correction...
void updateNonOrthDeltaCoeffs(const Executor &exec, SurfaceField< scalar > &nonOrthDeltaCoeffs) final
BasicGeometryScheme(const UnstructuredMesh &mesh)
void updateNonOrthCorrectionVec3s(const Executor &exec, const SurfaceField< scalar > &nonOrthDeltaCoeffs, SurfaceField< Vec3 > &nonOrthCorrectionVec3s) final
void updateWeights(const Executor &exec, SurfaceField< scalar > &weights) final
Represents a surface field in a finite volume method.
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor
Definition executor.hpp:20