NeoN
WIP Prototype of a modern OpenFOAM core
Loading...
Searching...
No Matches
Namespaces | Classes | Typedefs | Functions
NeoN::finiteVolume::cellCentred Namespace Reference

Namespaces

namespace  surfaceBoundary
 
namespace  volumeBoundary
 

Classes

class  BasicGeometryScheme
 
class  BoundaryPatchMixin
 A base class for implementing derived boundary conditions. More...
 
class  CellToFaceStencil
 
class  CreateFromExistingVector
 Creates a VectorDocument from an existing field. More...
 
class  DdtOperator
 
class  DivOperator
 
class  DivOperatorFactory
 
class  DomainMixin
 This class represents a mixin for a geometric field. More...
 
class  Expression
 
class  FaceNormalGradient
 
class  FaceNormalGradientFactory
 
class  GaussGreenDiv
 
class  GaussGreenGrad
 
class  GaussGreenLaplacian
 
class  GeometryScheme
 
class  GeometrySchemeFactory
 
class  LaplacianOperator
 
class  LaplacianOperatorFactory
 
class  Linear
 
class  OldTimeCollection
 
class  OldTimeDocument
 
class  SourceTerm
 
class  SparsityPattern
 
class  SurfaceBoundary
 Represents a surface boundary field for a cell-centered finite volume method. More...
 
class  SurfaceBoundaryFactory
 
class  SurfaceField
 Represents a surface field in a finite volume method. More...
 
class  SurfaceIntegrate
 
class  SurfaceInterpolation
 
class  SurfaceInterpolationFactory
 
class  Uncorrected
 
class  Upwind
 
class  VectorCollection
 A class representing a collection of field documents in a database. More...
 
class  VectorDocument
 A class representing a field document in a database. More...
 
class  VolumeBoundary
 Represents a volume boundary field for a cell-centered finite volume method. More...
 
class  VolumeBoundaryFactory
 
class  VolumeField
 Represents a volume field in a finite volume method. More...
 

Typedefs

using CreateFunction = std::function< VectorDocument(NeoN::Database &db)>
 A function type for creating a VectorDocument.
 

Functions

bool validateVectorDoc (const Document &doc)
 Validates a VectorDocument.
 
template<typename VectorType >
VectorType & oldTime (VectorType &field)
 Retrieves the old time field of a given field.
 
template<typename VectorType >
const VectorType & oldTime (const VectorType &field)
 Retrieves the old time field of a given field (const version).
 
scalar computeCoNum (const SurfaceField< scalar > &faceFlux, const scalar dt)
 
template<typename BoundaryType >
std::vector< BoundaryType > createCalculatedBCs (const UnstructuredMesh &mesh)
 
template<typename BoundaryType >
std::vector< BoundaryType > createExtrapolatedBCs (const UnstructuredMesh &mesh)
 
template<typename ValueType , typename IndexType = localIdx>
VolumeField< ValueType > operator& (const Expression< ValueType, IndexType > expr, const VolumeField< ValueType > &psi)
 
template<typename ValueType >
void computeFaceNormalGrad (const VolumeField< ValueType > &volVector, const std::shared_ptr< GeometryScheme > geometryScheme, SurfaceField< ValueType > &surfaceVector)
 
template<typename ValueType >
void computeLinearInterpolation (const VolumeField< ValueType > &src, const SurfaceField< scalar > &weights, SurfaceField< ValueType > &dst)
 
template<typename ValueType >
void computeUpwindInterpolation (const VolumeField< ValueType > &src, const SurfaceField< scalar > &flux, const SurfaceField< scalar > &weights, SurfaceField< ValueType > &dst)
 
template<typename ValueType >
void computeDivExp (const SurfaceField< scalar > &faceFlux, const VolumeField< ValueType > &phi, const SurfaceInterpolation< ValueType > &surfInterp, Vector< ValueType > &divPhi, const dsl::Coeff operatorScaling)
 
template<typename ValueType >
void computeDivImp (la::LinearSystem< ValueType, localIdx > &ls, const SurfaceField< scalar > &faceFlux, const VolumeField< ValueType > &phi, const dsl::Coeff operatorScaling, const SparsityPattern &sparsityPattern)
 
template<typename ValueType >
void computeLaplacianExp (const FaceNormalGradient< ValueType > &, const SurfaceField< scalar > &, VolumeField< ValueType > &, Vector< ValueType > &, const dsl::Coeff)
 
template<typename ValueType >
void computeLaplacianImpl (la::LinearSystem< ValueType, localIdx > &ls, const SurfaceField< scalar > &gamma, VolumeField< ValueType > &phi, const dsl::Coeff operatorScaling, const SparsityPattern &sparsityPattern, const FaceNormalGradient< ValueType > &faceNormalGradient)
 
template<typename ValueType >
void surfaceIntegrate (const Executor &exec, localIdx nInternalFaces, View< const int > neighbour, View< const int > owner, View< const int > faceCells, View< const ValueType > flux, View< const scalar > v, View< ValueType > res, const dsl::Coeff operatorScaling)
 

Typedef Documentation

◆ CreateFunction

A function type for creating a VectorDocument.

This function type is used to create a VectorDocument and creates a registered VectorType

Parameters
dbThe database to create the VectorDocument in.
Returns
The created VectorDocument.

Definition at line 198 of file fieldCollection.hpp.

Function Documentation

◆ computeCoNum()

scalar NeoN::finiteVolume::cellCentred::computeCoNum ( const SurfaceField< scalar > &  faceFlux,
const scalar  dt 
)

◆ computeDivExp()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeDivExp ( const SurfaceField< scalar > &  faceFlux,
const VolumeField< ValueType > &  phi,
const SurfaceInterpolation< ValueType > &  surfInterp,
Vector< ValueType > &  divPhi,
const dsl::Coeff  operatorScaling 
)

◆ computeDivImp()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeDivImp ( la::LinearSystem< ValueType, localIdx > &  ls,
const SurfaceField< scalar > &  faceFlux,
const VolumeField< ValueType > &  phi,
const dsl::Coeff  operatorScaling,
const SparsityPattern sparsityPattern 
)

◆ computeFaceNormalGrad()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeFaceNormalGrad ( const VolumeField< ValueType > &  volVector,
const std::shared_ptr< GeometryScheme geometryScheme,
SurfaceField< ValueType > &  surfaceVector 
)

◆ computeLaplacianExp()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeLaplacianExp ( const FaceNormalGradient< ValueType > &  ,
const SurfaceField< scalar > &  ,
VolumeField< ValueType > &  ,
Vector< ValueType > &  ,
const dsl::Coeff   
)

◆ computeLaplacianImpl()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeLaplacianImpl ( la::LinearSystem< ValueType, localIdx > &  ls,
const SurfaceField< scalar > &  gamma,
VolumeField< ValueType > &  phi,
const dsl::Coeff  operatorScaling,
const SparsityPattern sparsityPattern,
const FaceNormalGradient< ValueType > &  faceNormalGradient 
)

◆ computeLinearInterpolation()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeLinearInterpolation ( const VolumeField< ValueType > &  src,
const SurfaceField< scalar > &  weights,
SurfaceField< ValueType > &  dst 
)

◆ computeUpwindInterpolation()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::computeUpwindInterpolation ( const VolumeField< ValueType > &  src,
const SurfaceField< scalar > &  flux,
const SurfaceField< scalar > &  weights,
SurfaceField< ValueType > &  dst 
)

◆ createCalculatedBCs()

template<typename BoundaryType >
std::vector< BoundaryType > NeoN::finiteVolume::cellCentred::createCalculatedBCs ( const UnstructuredMesh mesh)

Definition at line 27 of file boundary.hpp.

◆ createExtrapolatedBCs()

template<typename BoundaryType >
std::vector< BoundaryType > NeoN::finiteVolume::cellCentred::createExtrapolatedBCs ( const UnstructuredMesh mesh)

Definition at line 41 of file boundary.hpp.

◆ oldTime() [1/2]

template<typename VectorType >
const VectorType & NeoN::finiteVolume::cellCentred::oldTime ( const VectorType &  field)

Retrieves the old time field of a given field (const version).

This function retrieves the old time field of a given field

Parameters
fieldThe field to retrieve the old time field from.
Returns
The old time field.

Definition at line 163 of file oldTimeCollection.hpp.

◆ oldTime() [2/2]

template<typename VectorType >
VectorType & NeoN::finiteVolume::cellCentred::oldTime ( VectorType &  field)

Retrieves the old time field of a given field.

This function retrieves the old time field of a given field

Parameters
fieldThe field to retrieve the old time field from.
Returns
The old time field.

Definition at line 147 of file oldTimeCollection.hpp.

◆ operator&()

template<typename ValueType , typename IndexType = localIdx>
VolumeField< ValueType > NeoN::finiteVolume::cellCentred::operator& ( const Expression< ValueType, IndexType >  expr,
const VolumeField< ValueType > &  psi 
)

Definition at line 189 of file expression.hpp.

◆ surfaceIntegrate()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::surfaceIntegrate ( const Executor exec,
localIdx  nInternalFaces,
View< const int >  neighbour,
View< const int >  owner,
View< const int >  faceCells,
View< const ValueType >  flux,
View< const scalar v,
View< ValueType >  res,
const dsl::Coeff  operatorScaling 
)

◆ validateVectorDoc()

bool NeoN::finiteVolume::cellCentred::validateVectorDoc ( const Document doc)

Validates a VectorDocument.

This function validates a VectorDocument by checking if it contains the required fields.

Parameters
docThe Document to validate.
Returns
true if the Document is valid, false otherwise.