NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
NeoN::finiteVolume::cellCentred::SurfaceField< ValueType > Class Template Reference

Represents a surface field in a finite volume method. More...

#include <surfaceField.hpp>

Inheritance diagram for NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >:
NeoN::finiteVolume::cellCentred::DomainMixin< ValueType > NeoN::finiteVolume::cellCentred::FieldDatabaseMixin

Public Types

using VectorValueType = ValueType
 
- Public Types inherited from NeoN::finiteVolume::cellCentred::DomainMixin< ValueType >
typedef ValueType ElementType
 

Public Member Functions

 SurfaceField (const Executor &exec, std::string fieldName, const UnstructuredMesh &mesh, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
 Constructor for a surfaceVector with a given name and mesh.
 
 SurfaceField (const Executor &exec, const UnstructuredMesh &mesh, const Field< ValueType > &domainVector, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
 
 SurfaceField (const Executor &exec, const UnstructuredMesh &mesh, const Vector< ValueType > &internalVector, const BoundaryData< ValueType > &boundaryVectors, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions)
 
 SurfaceField (const Executor &exec, std::string fieldName, const UnstructuredMesh &mesh, const Field< ValueType > &domainVector, const std::vector< SurfaceBoundary< ValueType > > &boundaryConditions, Database &db, std::string dbKey, std::string collectionName)
 
 SurfaceField (const SurfaceField &other)
 Copy constructor for a surface field.
 
void correctBoundaryConditions ()
 Corrects the boundary conditions of the surface field.
 
std::vector< SurfaceBoundary< ValueType > > boundaryConditions () const
 
- Public Member Functions inherited from NeoN::finiteVolume::cellCentred::DomainMixin< ValueType >
 DomainMixin (const Executor &exec, std::string fieldName, const UnstructuredMesh &mesh, const Field< ValueType > &field)
 Constructor for DomainMixin.
 
 DomainMixin (const Executor &exec, std::string fieldName, const UnstructuredMesh &mesh, const Vector< ValueType > &internalVector, const BoundaryData< ValueType > &boundaryVectors)
 Constructor for DomainMixin.
 
const Vector< ValueType > & internalVector () const
 Returns a const reference to the internal field.
 
Vector< ValueType > & internalVector ()
 Returns a reference to the internal field.
 
localIdx size () const
 Returns the size of the internal field.
 
const BoundaryData< ValueType > & boundaryData () const
 Returns a const reference to the boundary field.
 
BoundaryData< ValueType > & boundaryData ()
 Returns a reference to the boundary field.
 
const Executorexec () const
 Returns a const reference to the executor object.
 
const UnstructuredMeshmesh () const
 Returns a const reference to the unstructured mesh object.
 
- Public Member Functions inherited from NeoN::finiteVolume::cellCentred::FieldDatabaseMixin
 FieldDatabaseMixin ()=default
 
 FieldDatabaseMixin (Database &db, std::string keyIn, std::string collectionName)
 
bool hasDatabase () const
 
Databasedb ()
 
const Databasedb () const
 
bool registered () const
 

Additional Inherited Members

- Public Attributes inherited from NeoN::finiteVolume::cellCentred::DomainMixin< ValueType >
std::string name
 
- Public Attributes inherited from NeoN::finiteVolume::cellCentred::FieldDatabaseMixin
std::string key
 
std::string fieldCollectionName
 
- Protected Attributes inherited from NeoN::finiteVolume::cellCentred::DomainMixin< ValueType >
Executor exec_
 
const UnstructuredMeshmesh_
 
Field< ValueType > field_
 
- Protected Attributes inherited from NeoN::finiteVolume::cellCentred::FieldDatabaseMixin
std::optional< Database * > db_
 

Detailed Description

template<typename ValueType>
class NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >

Represents a surface field in a finite volume method.

The SurfaceField class is a template class that represents a face-centered field in a finite volume method. It inherits from the DomainMixin class and provides methods for correcting boundary conditions.

Template Parameters
ValueTypeThe value type of the field.

Definition at line 27 of file surfaceField.hpp.

Member Typedef Documentation

◆ VectorValueType

template<typename ValueType >
using NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::VectorValueType = ValueType

Definition at line 32 of file surfaceField.hpp.

Constructor & Destructor Documentation

◆ SurfaceField() [1/5]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::SurfaceField ( const Executor exec,
std::string  fieldName,
const UnstructuredMesh mesh,
const std::vector< SurfaceBoundary< ValueType > > &  boundaryConditions 
)
inline

Constructor for a surfaceVector with a given name and mesh.

Parameters
execThe executor
fieldNameThe name of the field
meshThe underlying mesh
boundaryConditionsa vector of boundary conditions

Definition at line 42 of file surfaceField.hpp.

◆ SurfaceField() [2/5]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::SurfaceField ( const Executor exec,
const UnstructuredMesh mesh,
const Field< ValueType > &  domainVector,
const std::vector< SurfaceBoundary< ValueType > > &  boundaryConditions 
)
inline

Definition at line 64 of file surfaceField.hpp.

◆ SurfaceField() [3/5]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::SurfaceField ( const Executor exec,
const UnstructuredMesh mesh,
const Vector< ValueType > &  internalVector,
const BoundaryData< ValueType > &  boundaryVectors,
const std::vector< SurfaceBoundary< ValueType > > &  boundaryConditions 
)
inline

Definition at line 82 of file surfaceField.hpp.

◆ SurfaceField() [4/5]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::SurfaceField ( const Executor exec,
std::string  fieldName,
const UnstructuredMesh mesh,
const Field< ValueType > &  domainVector,
const std::vector< SurfaceBoundary< ValueType > > &  boundaryConditions,
Database db,
std::string  dbKey,
std::string  collectionName 
)
inline

Definition at line 106 of file surfaceField.hpp.

◆ SurfaceField() [5/5]

template<typename ValueType >
NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::SurfaceField ( const SurfaceField< ValueType > &  other)
inline

Copy constructor for a surface field.

Parameters
otherThe surface field to copy.

Definition at line 126 of file surfaceField.hpp.

Member Function Documentation

◆ boundaryConditions()

template<typename ValueType >
std::vector< SurfaceBoundary< ValueType > > NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::boundaryConditions ( ) const
inline

Definition at line 160 of file surfaceField.hpp.

◆ correctBoundaryConditions()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::SurfaceField< ValueType >::correctBoundaryConditions ( )
inline

Corrects the boundary conditions of the surface field.

This function applies the correctBoundaryConditions() method to each boundary condition in the field.

Definition at line 137 of file surfaceField.hpp.


The documentation for this class was generated from the following files: