7#include <Kokkos_Core.hpp>
23template<
typename ValueType>
30 using Base::correctBoundaryCondition;
53 static std::string
name() {
return "slip"; }
57 static std::string
doc()
59 return "Slip wall (scalar: zero-gradient; vector: tangential projection + normal damping).";
62 static std::string
schema() {
return "none"; }
64 virtual std::unique_ptr<VolumeBoundaryFactory<ValueType>>
clone() const final
66 return std::make_unique<Slip>(*
this);
A class representing a dictionary that stores key-value pairs.
Represents the domain fields for a computational domain.
Represents an unstructured mesh in NeoN.
static std::string schema()
virtual std::unique_ptr< VolumeBoundaryFactory< ValueType > > clone() const final
std::string getName() const override
Slip(const UnstructuredMesh &mesh, const Dictionary &dict, localIdx patchID)
static std::string name()
virtual void correctBoundaryCondition(Field< ValueType > &domainVector) final
A template class for registering derived classes with a base class.
NormalDamping normalDampingMode(bool implicit)
Map the implicit flag onto the NormalDamping mode.
void setSlipSymmetryValue(Field< ValueType > &domainVector, const UnstructuredMesh &mesh, std::pair< localIdx, localIdx > range, NormalDamping mode)
bool readTransformImplicit(const Dictionary &dict)
Read the "implicit" flag from a slip/symmetry patch dictionary.