24 static std::string
name() {
return "Gauss"; }
26 static std::string
doc() {
return "Gauss-Green Gradient"; }
28 static std::string
schema() {
return "none"; }
89 virtual std::unique_ptr<GradOperatorFactory<Vec3>>
clone()
const override
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.
GaussGreenGrad(const Executor &exec, const UnstructuredMesh &mesh, const Input &inputs)
VolumeField< Tensor > gradTensor(const VolumeField< Vec3 > &u, const dsl::Coeff operatorScaling=dsl::Coeff {}) const
virtual void grad(const VolumeField< scalar > &phi, VolumeField< Vec3 > &gradPhi, const dsl::Coeff operatorScaling=dsl::Coeff {}) const
static std::string name()
static std::string schema()
virtual void grad(const VolumeField< scalar > &, const dsl::Coeff, la::LinearSystem< Vec3 > &) const override
virtual std::unique_ptr< GradOperatorFactory< Vec3 > > clone() const override
VolumeField< Vec3 > grad(const VolumeField< scalar > &phi, const dsl::Coeff operatorScaling=dsl::Coeff {}) const override
void gradTensor(const VolumeField< Vec3 > &u, VolumeField< Tensor > &gradU, const dsl::Coeff operatorScaling=dsl::Coeff {}) const override
virtual void grad(const VolumeField< scalar > &phi, const dsl::Coeff operatorScaling, Vector< Vec3 > &gradPhi) const override
GaussGreenGrad(const Executor &exec, const UnstructuredMesh &mesh)
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