NeoN
A framework for CFD software
Loading...
Searching...
No Matches
implicit.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
10#include "NeoN/dsl/ddt.hpp"
11
12// TODO: decouple from fvcc
18
20
22{
23
24// TODO all arguments could be const
25template<typename ValueType>
30
31// Density-weighted temporal operator ddt(rho, phi): diagonal uses rho, rhs uses
32// oldTime(rho), giving the conservative (rho_n*phi - rho_o*phi_o)/dt form.
33template<typename ValueType>
38
39template<typename ValueType>
45
46// SuSp: sign-aware implicit source — max(coeff, 0) on the diagonal, min(coeff, 0)
47// explicitly to the rhs. Keeps the matrix diagonally dominant for a coefficient of
48// either sign (e.g. the kOmegaSST cross-diffusion term).
49template<typename ValueType>
56
57template<typename ValueType>
65
66template<typename ValueType>
74
75} // namespace NeoN
Represents a surface field in a finite volume method.
Represents a volume field in a finite volume method.
SpatialOperator< ValueType > source(fvcc::VolumeField< scalar > &coeff, fvcc::VolumeField< ValueType > &phi)
Definition implicit.hpp:41
TemporalOperator< ValueType > ddt(fvcc::VolumeField< ValueType > &phi)
Definition implicit.hpp:26
SpatialOperator< ValueType > div(fvcc::SurfaceField< scalar > &faceFlux, fvcc::VolumeField< ValueType > &phi)
Definition implicit.hpp:59
SpatialOperator< ValueType > susp(fvcc::VolumeField< scalar > &coeff, fvcc::VolumeField< ValueType > &phi)
Definition implicit.hpp:50
SpatialOperator< ValueType > laplacian(fvcc::SurfaceField< scalar > &gamma, fvcc::VolumeField< ValueType > &phi)
Definition implicit.hpp:68