NeoN
A framework for CFD software
Loading...
Searching...
No Matches
Enumerations | Functions
NeoN::finiteVolume::cellCentred::volumeBoundary::detail Namespace Reference

Enumerations

enum class  NormalDamping { Deferred , Implicit }
 

Functions

bool readTransformImplicit (const Dictionary &dict)
 Read the "implicit" flag from a slip/symmetry patch dictionary.
 
NormalDamping normalDampingMode (bool implicit)
 Map the implicit flag onto the NormalDamping mode.
 
template<typename ValueType >
void setSlipSymmetryValue (Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range, NormalDamping mode)
 
template<>
void setSlipSymmetryValue< NeoN::scalar > (Field< NeoN::scalar > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range, NormalDamping mode)
 
template<>
void setSlipSymmetryValue< NeoN::Vec3 > (Field< NeoN::Vec3 > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range, NormalDamping mode)
 
template<typename ValueType >
void extrapolateValue (Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range)
 
template<typename ValueType >
void applyFixedFluxPressure (Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range)
 
template<typename ValueType >
void setGradientValue (Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range, ValueType fixedGradient)
 
template<typename ValueType >
void setFixedValue (Field< ValueType > &domainVector, std::pair< size_t, size_t > range, ValueType fixedValue)
 
template<typename ValueType >
void setInletOutletValue (Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range, ValueType inletValue, View< const NeoN::scalar > boundaryFlux, bool hasFlux)
 
template<typename ValueType >
void setProcBoundaryCoefficients (Field< ValueType > &domainVector, std::pair< localIdx, localIdx > range)
 
template<typename ValueType >
void updateProcBoundaryOwnerValue (Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range)
 
template void setProcBoundaryCoefficients< scalar > (Field< scalar > &, std::pair< localIdx, localIdx >)
 
template void setProcBoundaryCoefficients< Vec3 > (Field< Vec3 > &, std::pair< localIdx, localIdx >)
 
template void setProcBoundaryCoefficients< Tensor > (Field< Tensor > &, std::pair< localIdx, localIdx >)
 
template void updateProcBoundaryOwnerValue< scalar > (Field< scalar > &, const UnstructuredMesh &, std::pair< localIdx, localIdx >)
 
template void updateProcBoundaryOwnerValue< Vec3 > (Field< Vec3 > &, const UnstructuredMesh &, std::pair< localIdx, localIdx >)
 
template void updateProcBoundaryOwnerValue< Tensor > (Field< Tensor > &, const UnstructuredMesh &, std::pair< localIdx, localIdx >)
 

Enumeration Type Documentation

◆ NormalDamping

Enumerator
Deferred 

normal damping via refGrad -> per-component RHS (multi-RHS friendly)

Implicit 

normal damping via per-component diagonal correction (segregated solve)

Definition at line 37 of file slipSymmetry.hpp.

Function Documentation

◆ applyFixedFluxPressure()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::applyFixedFluxPressure ( Field< ValueType > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range 
)

Definition at line 24 of file fixedFluxPressure.hpp.

◆ extrapolateValue()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::extrapolateValue ( Field< ValueType > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range 
)

Definition at line 24 of file extrapolated.hpp.

◆ normalDampingMode()

NormalDamping NeoN::finiteVolume::cellCentred::volumeBoundary::detail::normalDampingMode ( bool  implicit)
inline

Map the implicit flag onto the NormalDamping mode.

Definition at line 71 of file slipSymmetry.hpp.

◆ readTransformImplicit()

bool NeoN::finiteVolume::cellCentred::volumeBoundary::detail::readTransformImplicit ( const Dictionary dict)
inline

Read the "implicit" flag from a slip/symmetry patch dictionary.

Defaults to TRUE (Implicit). The velocity is solved as a shared scalar matrix with a Vec3 (multi-RHS) Ginkgo solve, so the direction-dependent slip/symmetry normal damping (gamma|S|*Delta*|n_c|, different per component) cannot be carried by the shared scalar diagonal. Implicit mode routes it through the per-component diagCmpt store, which the solver applies column-by-column, constraining the wall-normal velocity in the solve. The Deferred alternative only writes the damping into refGrad (RHS) and lags it one outer iteration, which is too weak to hold the normal component on a developed field and lets the wall-normal velocity diverge in the momentum solve at slip/symmetry boundaries. Set "implicit no" on a patch to opt back into the Deferred treatment. A boolean read from a dictionary arrives as a word/string, so accept bool, int, and the common truthy spellings.

Definition at line 56 of file slipSymmetry.hpp.

◆ setFixedValue()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setFixedValue ( Field< ValueType > &  domainVector,
std::pair< size_t, size_t range,
ValueType  fixedValue 
)

Definition at line 23 of file fixedValue.hpp.

◆ setGradientValue()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setGradientValue ( Field< ValueType > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range,
ValueType  fixedGradient 
)

Definition at line 24 of file fixedGradient.hpp.

◆ setInletOutletValue()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setInletOutletValue ( Field< ValueType > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range,
ValueType  inletValue,
View< const NeoN::scalar boundaryFlux,
bool  hasFlux 
)

Definition at line 33 of file inletOutlet.hpp.

◆ setProcBoundaryCoefficients()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setProcBoundaryCoefficients ( Field< ValueType > &  domainVector,
std::pair< localIdx, localIdx range 
)

◆ setProcBoundaryCoefficients< scalar >()

◆ setProcBoundaryCoefficients< Tensor >()

◆ setProcBoundaryCoefficients< Vec3 >()

◆ setSlipSymmetryValue()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setSlipSymmetryValue ( Field< ValueType > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range,
NormalDamping  mode 
)

◆ setSlipSymmetryValue< NeoN::scalar >()

template<>
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setSlipSymmetryValue< NeoN::scalar > ( Field< NeoN::scalar > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range,
NormalDamping  mode 
)
inline

Definition at line 87 of file slipSymmetry.hpp.

◆ setSlipSymmetryValue< NeoN::Vec3 >()

template<>
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::setSlipSymmetryValue< NeoN::Vec3 > ( Field< NeoN::Vec3 > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range,
NormalDamping  mode 
)
inline

Definition at line 122 of file slipSymmetry.hpp.

◆ updateProcBoundaryOwnerValue()

template<typename ValueType >
void NeoN::finiteVolume::cellCentred::volumeBoundary::detail::updateProcBoundaryOwnerValue ( Field< ValueType > &  domainVector,
const UnstructuredMesh mesh,
std::pair< localIdx, localIdx range 
)

◆ updateProcBoundaryOwnerValue< scalar >()

◆ updateProcBoundaryOwnerValue< Tensor >()

◆ updateProcBoundaryOwnerValue< Vec3 >()