NeoN
A framework for CFD software
Loading...
Searching...
No Matches
include
NeoN
finiteVolume
cellCentred
operators
reconstruct.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 "
NeoN/core/primitives/scalar.hpp
"
8
#include "
NeoN/core/primitives/vec3.hpp
"
9
#include "
NeoN/finiteVolume/cellCentred/fields/surfaceField.hpp
"
10
#include "
NeoN/finiteVolume/cellCentred/fields/volumeField.hpp
"
11
12
namespace
NeoN::finiteVolume::cellCentred
13
{
14
15
/* @brief explicit reconstruction of a cell vector field from a surface scalar flux.
16
*
17
* Computes the least-squares cell vector whose face projections reproduce the flux:
18
* reconstruct(ssf)_C = inv( Σ_f Sf⊗Sf / |Sf| ) & Σ_f (Sf / |Sf|) · ssf_f
19
* with surfaceSum semantics — each internal face contributes to both its owner and
20
* neighbour cell, each boundary face contributes to its owner cell. The per-cell
21
* symmetric 3×3 matrix is inverted analytically.
22
*
23
* @param ssf [in] - surface scalar flux to reconstruct
24
* @return the reconstructed cell-centred vector field (calculated BCs, corrected)
25
*/
26
VolumeField<Vec3>
reconstruct
(
const
SurfaceField<scalar>
& ssf);
27
28
}
// namespace NeoN::finiteVolume::cellCentred
NeoN::finiteVolume::cellCentred::SurfaceField
Represents a surface field in a finite volume method.
Definition
surfaceField.hpp:28
NeoN::finiteVolume::cellCentred::VolumeField
Represents a volume field in a finite volume method.
Definition
volumeField.hpp:31
NeoN::finiteVolume::cellCentred
Definition
fieldCollection.hpp:21
NeoN::finiteVolume::cellCentred::reconstruct
VolumeField< Vec3 > reconstruct(const SurfaceField< scalar > &ssf)
scalar.hpp
surfaceField.hpp
vec3.hpp
volumeField.hpp
Generated by
1.9.8