NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType > Class Template Referenceabstract

#include <volumeBoundaryFactory.hpp>

Inheritance diagram for NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >:
NeoN::RuntimeSelectionFactory< VolumeBoundaryFactory< ValueType >, Parameters< const UnstructuredMesh &, const Dictionary &, localIdx > > NeoN::finiteVolume::cellCentred::BoundaryPatchMixin

Public Member Functions

 VolumeBoundaryFactory (const UnstructuredMesh &mesh, const Dictionary &dict, localIdx patchID, BoundaryAttributes attributes)
 
virtual ~VolumeBoundaryFactory ()=default
 
virtual void correctBoundaryCondition (Field< ValueType > &domainVector)=0
 
virtual void correctBoundaryCondition (Field< ValueType > &domainVector, const BoundaryContext &)
 
virtual void set (Field< ValueType > &domainVector)
 One-time patch initialisation, applied once per field before the first update().
 
virtual void update (Field< ValueType > &domainVector)
 Per-iteration boundary update, applied on every correctBoundaryConditions() call.
 
virtual std::unique_ptr< VolumeBoundaryFactoryclone () const =0
 
virtual std::string getName () const =0
 
BoundaryAttributes attributes () const
 
- Public Member Functions inherited from NeoN::finiteVolume::cellCentred::BoundaryPatchMixin
 BoundaryPatchMixin ()
 
virtual ~BoundaryPatchMixin ()=default
 
 BoundaryPatchMixin (const UnstructuredMesh &mesh, localIdx patchID)
 
 BoundaryPatchMixin (localIdx start, localIdx end, localIdx patchID)
 
localIdx patchStart () const
 
localIdx patchEnd () const
 
localIdx patchSize () const
 
localIdx patchID () const
 
std::pair< localIdx, localIdxrange () const
 

Static Public Member Functions

static std::string name ()
 

Protected Attributes

BoundaryAttributes attributes_
 The attributes of the patch.
 
- Protected Attributes inherited from NeoN::finiteVolume::cellCentred::BoundaryPatchMixin
localIdx patchID_
 The id of this patch.
 
localIdx start_
 The start index of the patch in the boundaryVector.
 
localIdx end_
 The end index of the patch in the boundaryVector.
 

Detailed Description

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

Definition at line 39 of file volumeBoundaryFactory.hpp.

Constructor & Destructor Documentation

◆ VolumeBoundaryFactory()

template<typename ValueType >
NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::VolumeBoundaryFactory ( const UnstructuredMesh mesh,
const Dictionary dict,
localIdx  patchID,
BoundaryAttributes  attributes 
)
inline

Definition at line 49 of file volumeBoundaryFactory.hpp.

◆ ~VolumeBoundaryFactory()

template<typename ValueType >
virtual NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::~VolumeBoundaryFactory ( )
virtualdefault

Member Function Documentation

◆ attributes()

template<typename ValueType >
BoundaryAttributes NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::attributes ( ) const
inline

Definition at line 88 of file volumeBoundaryFactory.hpp.

◆ clone()

template<typename ValueType >
virtual std::unique_ptr< VolumeBoundaryFactory > NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::clone ( ) const
pure virtual

◆ correctBoundaryCondition() [1/2]

template<typename ValueType >
virtual void NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::correctBoundaryCondition ( Field< ValueType > &  domainVector)
pure virtual

◆ correctBoundaryCondition() [2/2]

template<typename ValueType >
virtual void NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::correctBoundaryCondition ( Field< ValueType > &  domainVector,
const BoundaryContext  
)
inlinevirtual

Definition at line 61 of file volumeBoundaryFactory.hpp.

◆ getName()

template<typename ValueType >
virtual std::string NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::getName ( ) const
pure virtual

◆ name()

template<typename ValueType >
static std::string NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::name ( )
inlinestatic

Definition at line 47 of file volumeBoundaryFactory.hpp.

◆ set()

template<typename ValueType >
virtual void NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::set ( Field< ValueType > &  domainVector)
inlinevirtual

One-time patch initialisation, applied once per field before the first update().

For patch data that is fixed for the lifetime of the field (e.g. constant mixed-BC coefficients). The default is a no-op; BCs that have nothing constant to set leave it untouched and do all their work in update().

Definition at line 73 of file volumeBoundaryFactory.hpp.

◆ update()

template<typename ValueType >
virtual void NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::update ( Field< ValueType > &  domainVector)
inlinevirtual

Per-iteration boundary update, applied on every correctBoundaryConditions() call.

The default forwards to correctBoundaryCondition(), so a BC that does not implement the set()/update() split keeps its previous behaviour (full correction every iteration). BCs that split move only the per-iteration work here and the one-time work into set().

Definition at line 82 of file volumeBoundaryFactory.hpp.

Member Data Documentation

◆ attributes_

template<typename ValueType >
BoundaryAttributes NeoN::finiteVolume::cellCentred::VolumeBoundaryFactory< ValueType >::attributes_
protected

The attributes of the patch.

Definition at line 92 of file volumeBoundaryFactory.hpp.


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