NeoN
A framework for CFD software
Loading...
Searching...
No Matches
include
NeoN
dsl
explicit.hpp
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2023 - 2025 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/dsl/spatialOperator.hpp
"
10
#include "
NeoN/dsl/temporalOperator.hpp
"
11
#include "
NeoN/finiteVolume/cellCentred/fields/volumeField.hpp
"
12
#include "
NeoN/finiteVolume/cellCentred/fields/surfaceField.hpp
"
13
14
// TODO we should get rid of this include since it includes details
15
// from a general implementation
16
#include "
NeoN/finiteVolume/cellCentred/operators/ddtOperator.hpp
"
17
#include "
NeoN/finiteVolume/cellCentred/operators/laplacianOperator.hpp
"
18
#include "
NeoN/finiteVolume/cellCentred/operators/divOperator.hpp
"
19
#include "
NeoN/finiteVolume/cellCentred/operators/gradOperator.hpp
"
20
#include "
NeoN/finiteVolume/cellCentred/operators/surfaceIntegrate.hpp
"
21
#include "
NeoN/finiteVolume/cellCentred/operators/sourceTerm.hpp
"
22
23
24
namespace
NeoN::dsl::exp
25
{
26
27
namespace
fvcc
=
NeoN::finiteVolume::cellCentred
;
28
29
template
<
typename
ValueType>
30
TemporalOperator<ValueType>
ddt
(
fvcc::VolumeField<ValueType>
& phi)
31
{
32
return
fvcc::DdtOperator
(
dsl::Operator::Type::Explicit
, phi);
33
}
34
35
SpatialOperator<scalar>
36
div
(
const
fvcc::SurfaceField<scalar>
& faceFlux,
fvcc::VolumeField<scalar>
& phi);
37
38
SpatialOperator<scalar>
div
(
const
fvcc::SurfaceField<scalar>
& flux);
39
40
SpatialOperator<scalar>
41
laplacian
(
const
fvcc::SurfaceField<scalar>
& gamma,
fvcc::VolumeField<scalar>
& phi);
42
43
44
SpatialOperator<Vec3>
45
laplacian
(
const
fvcc::SurfaceField<scalar>
& gamma,
fvcc::VolumeField<Vec3>
& phi);
46
47
SpatialOperator<Vec3>
grad
(
fvcc::VolumeField<scalar>
& phi);
48
49
SpatialOperator<scalar>
source
(
fvcc::VolumeField<scalar>
& coeff,
fvcc::VolumeField<scalar>
& phi);
50
51
}
// namespace NeoN
NeoN::dsl::Operator::Type::Explicit
@ Explicit
NeoN::dsl::SpatialOperator
Definition
spatialOperator.hpp:55
NeoN::dsl::TemporalOperator
Definition
temporalOperator.hpp:59
NeoN::finiteVolume::cellCentred::DdtOperator
Definition
ddtOperator.hpp:20
NeoN::finiteVolume::cellCentred::SurfaceField
Represents a surface field in a finite volume method.
Definition
surfaceField.hpp:27
NeoN::finiteVolume::cellCentred::VolumeField
Represents a volume field in a finite volume method.
Definition
volumeField.hpp:28
ddtOperator.hpp
divOperator.hpp
gradOperator.hpp
laplacianOperator.hpp
NeoN::dsl::exp
Definition
explicit.hpp:25
NeoN::dsl::exp::div
SpatialOperator< scalar > div(const fvcc::SurfaceField< scalar > &faceFlux, fvcc::VolumeField< scalar > &phi)
NeoN::dsl::exp::grad
SpatialOperator< Vec3 > grad(fvcc::VolumeField< scalar > &phi)
NeoN::dsl::exp::ddt
TemporalOperator< ValueType > ddt(fvcc::VolumeField< ValueType > &phi)
Definition
explicit.hpp:30
NeoN::dsl::exp::laplacian
SpatialOperator< scalar > laplacian(const fvcc::SurfaceField< scalar > &gamma, fvcc::VolumeField< scalar > &phi)
NeoN::dsl::exp::source
SpatialOperator< scalar > source(fvcc::VolumeField< scalar > &coeff, fvcc::VolumeField< scalar > &phi)
NeoN::finiteVolume::cellCentred
Definition
fieldCollection.hpp:20
scalar.hpp
sourceTerm.hpp
spatialOperator.hpp
surfaceField.hpp
surfaceIntegrate.hpp
temporalOperator.hpp
vec3.hpp
volumeField.hpp
Generated by
1.9.8