66 static std::string
name() {
return "cellLimited"; }
68 static std::string
doc() {
return "Cell limited gradient (minmod slope limiter)"; }
70 static std::string
schema() {
return "none"; }
96 virtual std::unique_ptr<GradOperatorFactory<Vec3>>
clone()
const override
114 static std::unique_ptr<GradOperatorFactory<Vec3>>
119 std::unique_ptr<GradOperatorFactory<Vec3>> baseGradScheme_;
123 std::shared_ptr<GeometryScheme> geometryScheme_;
Data structure that stores a segmented fields or a vector of vectors.
Represents an unstructured mesh in NeoN.
A class to contain the data and executors for a field and define some basic operations.
A class that represents a coefficient for the NeoN dsl.
static std::string name()
virtual void grad(const VolumeField< scalar > &, const dsl::Coeff, la::LinearSystem< Vec3 > &) const override
void gradTensor(const VolumeField< Vec3 > &u, VolumeField< Tensor > &gradU, const dsl::Coeff operatorScaling) const override
VolumeField< Vec3 > grad(const VolumeField< scalar > &phi, const dsl::Coeff operatorScaling=dsl::Coeff {}) const override
virtual void grad(const VolumeField< scalar > &phi, const dsl::Coeff operatorScaling, Vector< Vec3 > &gradPhi) const override
static std::string schema()
virtual std::unique_ptr< GradOperatorFactory< Vec3 > > clone() const override
CellLimitedGrad(const Executor &exec, const UnstructuredMesh &mesh, const Input &inputs)
Represents a volume field in a finite volume method.
A class representing a linear system of equations.
A template class for registering derived classes with a base class.
#define NF_ERROR_EXIT(message)
Macro for printing an error message and aborting the program.
std::variant< Dictionary, TokenList > Input
std::variant< SerialExecutor, CPUExecutor, GPUExecutor > Executor