NeoN
A framework for CFD software
Loading...
Searching...
No Matches
include
NeoN
dsl
explicit.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: MIT
2
//
3
// SPDX-FileCopyrightText: 2023 NeoN authors
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/surfaceIntegrate.hpp
"
20
#include "
NeoN/finiteVolume/cellCentred/operators/sourceTerm.hpp
"
21
22
23
namespace
NeoN::dsl::exp
24
{
25
26
namespace
fvcc
=
NeoN::finiteVolume::cellCentred
;
27
28
template
<
typename
ValueType>
29
TemporalOperator<ValueType>
ddt
(
fvcc::VolumeField<ValueType>
& phi)
30
{
31
return
fvcc::DdtOperator
(
dsl::Operator::Type::Explicit
, phi);
32
}
33
34
SpatialOperator<scalar>
35
div
(
const
fvcc::SurfaceField<scalar>
& faceFlux,
fvcc::VolumeField<scalar>
& phi);
36
37
SpatialOperator<scalar>
div
(
const
fvcc::SurfaceField<scalar>
& flux);
38
39
SpatialOperator<scalar>
40
laplacian
(
const
fvcc::SurfaceField<scalar>
& gamma,
fvcc::VolumeField<scalar>
& phi);
41
42
43
SpatialOperator<Vec3>
44
laplacian
(
const
fvcc::SurfaceField<scalar>
& gamma,
fvcc::VolumeField<Vec3>
& phi);
45
46
SpatialOperator<scalar>
source
(
fvcc::VolumeField<scalar>
& coeff,
fvcc::VolumeField<scalar>
& phi);
47
48
}
// namespace NeoN
NeoN::dsl::Operator::Type::Explicit
@ Explicit
NeoN::dsl::SpatialOperator
Definition
spatialOperator.hpp:53
NeoN::dsl::TemporalOperator
Definition
temporalOperator.hpp:57
NeoN::finiteVolume::cellCentred::DdtOperator
Definition
ddtOperator.hpp:19
NeoN::finiteVolume::cellCentred::SurfaceField
Represents a surface field in a finite volume method.
Definition
surfaceField.hpp:26
NeoN::finiteVolume::cellCentred::VolumeField
Represents a volume field in a finite volume method.
Definition
volumeField.hpp:27
ddtOperator.hpp
divOperator.hpp
laplacianOperator.hpp
NeoN::dsl::exp
Definition
explicit.hpp:24
NeoN::dsl::exp::div
SpatialOperator< scalar > div(const fvcc::SurfaceField< scalar > &faceFlux, fvcc::VolumeField< scalar > &phi)
NeoN::dsl::exp::ddt
TemporalOperator< ValueType > ddt(fvcc::VolumeField< ValueType > &phi)
Definition
explicit.hpp:29
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:18
scalar.hpp
sourceTerm.hpp
spatialOperator.hpp
surfaceField.hpp
surfaceIntegrate.hpp
temporalOperator.hpp
vec3.hpp
volumeField.hpp
Generated by
1.9.8