outram_foam_basic_lib/fv_operators/mod.rs
1// SPDX-License-Identifier: GPL-3.0-only
2// Copyright (C) 2026 OUTRAM PARK contributors
3// Derived from OpenFOAM (www.openfoam.com)
4// Copyright (C) 2004-2023 OpenFOAM Foundation
5// Copyright (C) 2016-2023 OpenCFD Ltd.
6//
7// This file is part of OUTRAM PARK.
8//
9// OUTRAM PARK is free software: you can redistribute it and/or modify it
10// under the terms of the GNU General Public License as published by the
11// Free Software Foundation, either version 3 of the License, or (at your
12// option) any later version.
13//
14// OUTRAM PARK is distributed in the hope that it will be useful, but
15// WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17// General Public License for more details.
18//
19// You should have received a copy of the GNU General Public License along
20// with OUTRAM PARK. If not, see <https://www.gnu.org/licenses/>.
21
22mod adjust_phi;
23
24/// Bounded names for operator-derived fields.
25///
26/// See [`derived_name`](crate::fv_operators::naming::derived_name) for why this exists; it is the shared guard against
27/// the unbounded-`name` failure documented in this crate's `CLAUDE.md`.
28pub mod naming;
29
30/// Explicit finite-volume operators — return a new field.
31///
32/// Usage mirrors `Foam::fvc::` from `src/finiteVolume/finiteVolume/fvc/`.
33pub mod fvc;
34
35/// Implicit finite-volume operators — assemble into a sparse `FvMatrix`.
36///
37/// Usage mirrors `Foam::fvm::` from `src/finiteVolume/finiteVolume/fvm/`.
38pub mod fvm;
39
40pub use adjust_phi::adjust_phi;