1#include "AMP/utils/Database.h"
2#include "AMP/utils/UtilityMacros.h"
30 MMS(
double YM = 0.0,
double PR = 0.0 );
122 virtual std::vector<double>
getStressTensor(
double x,
double y,
double z )
const = 0;
133 std::vector<double> ExactSolutions;
137 return ExactSolutions;
141 std::vector<double> ForcingTerms;
286 static std::shared_ptr<MMS>
createMMS( std::shared_ptr<AMP::Database> mmsDatabase );
static std::shared_ptr< MMS > createMMS(std::shared_ptr< AMP::Database > mmsDatabase)
double getForcingTermZ(double x, double y, double) const override
std::vector< double > getStressTensor(double x, double y, double z) const override
double getExactSolutionX(double x, double y, double z) const override
double getForcingTermX(double, double y, double z) const override
double getExactSolutionZ(double x, double y, double z) const override
MMSLinear(double E=0.0, double nu=0.0)
double getForcingTermY(double x, double, double z) const override
double getExactSolutionY(double x, double y, double z) const override
double getExactSolutionX(double x, double y, double z) const override
double getForcingTermX(double x, double y, double z) const override
double getForcingTermZ(double x, double y, double z) const override
double getExactSolutionY(double, double y, double z) const override
double getForcingTermY(double x, double y, double z) const override
std::vector< double > getStressTensor(double x, double y, double z) const override
MMSTrigonometric(double E=0.0, double nu=0.0)
double getExactSolutionZ(double, double y, double z) const override
double Mz
multiplying factors
double nu
Poisson's ratio.
virtual double getForcingTermY(double x, double y, double z) const =0
const std::string & getName() const
double getForcingTermZ(const std::vector< double > &xyz) const
virtual double getExactSolutionZ(double x, double y, double z) const =0
virtual double getForcingTermZ(double x, double y, double z) const =0
std::vector< double > getExactSolutions(const std::vector< double > &xyz) const
std::string name
name/type of mechanics manufactured solution
virtual ~MMS()
Destructor.
double getExactSolutionZ(const std::vector< double > &xyz) const
std::vector< double > getStressTensor(const std::vector< double > &xyz) const
double getExactSolutionX(const std::vector< double > &xyz) const
virtual double getForcingTermX(double x, double y, double z) const =0
std::vector< double > getExactSolutions(double x, double y, double z) const
virtual double getExactSolutionY(double x, double y, double z) const =0
void setYoungsModulus(double YM)
double getExactSolutionY(const std::vector< double > &xyz) const
virtual std::vector< double > getStressTensor(double x, double y, double z) const =0
void setPoissonsRatio(double PR)
double getForcingTermX(const std::vector< double > &xyz) const
MMS(double YM=0.0, double PR=0.0)
std::vector< double > getForcingTerms(const std::vector< double > &xyz) const
std::vector< double > getForcingTerms(double x, double y, double z) const
virtual double getExactSolutionX(double x, double y, double z) const =0
double getForcingTermY(const std::vector< double > &xyz) const
#define AMP_ASSERT(EXP)
Assert error.