1#ifndef included_AMP_DiffusionRotatedAnisotropicModel
2#define included_AMP_DiffusionRotatedAnisotropicModel
4#include "AMP/mesh/Mesh.h"
5#include "AMP/operators/Operator.h"
50 std::shared_ptr<AMP::Database>
d_c_db;
66 AMP_ERROR(
"Base class cannot provide an implementation of this function" );
double exactSolution_(double x, double y, double z) const
double exactSolution_(double x) const
ManufacturedRotatedAnisotropicDiffusionModel(std::shared_ptr< AMP::Database > input_db)
double exactSolution(const AMP::Mesh::Point &p) const override
double sourceTerm_(double x, double y) const
static constexpr double d_Y_SHIFT
double sourceTerm_(double x) const
virtual ~ManufacturedRotatedAnisotropicDiffusionModel()
double sourceTerm_(double x, double y, double z) const
double sourceTerm(const AMP::Mesh::Point &p) const override
double exactSolution_(double x, double y) const
static constexpr double d_X_SHIFT
static constexpr double d_Z_SHIFT
std::vector< double > getSecondOrderPDECoefficients3D() const
virtual double sourceTerm(const AMP::Mesh::Point &p) const =0
void setDiffusionCoefficients()
RotatedAnisotropicDiffusionModel(std::shared_ptr< AMP::Database > input_db)
std::shared_ptr< AMP::Database > d_input_db
virtual double exactSolution(const AMP::Mesh::Point &) const
virtual ~RotatedAnisotropicDiffusionModel()
bool d_exactSolutionAvailable
std::shared_ptr< AMP::Database > d_c_db
std::vector< double > getSecondOrderPDECoefficients1D() const
std::vector< double > getSecondOrderPDECoefficients2D() const
#define AMP_ERROR(MSG)
Throw error.