21 #include "libmesh/parameters.h"    22 #include "libmesh/libmesh_common.h"    39               const std::string & unknown_name)
    41   const auto * 
const error_obj = params.
get<
const ExactSoln *>(unknown_name + 
"_exact_sol");
    42   return (*error_obj)(p);
    55       return sin(y) * cos((1. / 2) * x * 
pi);
    57       return sin(1. / 2 * y * 
pi) * cos(1. / 2 * x * 
pi);
    66       return nu * sin(y) * cos((1. / 2) * x * 
pi) +
    67              (1. / 4) * 
pi * 
pi * 
nu * sin(y) * cos((1. / 2) * x * 
pi) -
    68              1. / 2 * 
pi * sin(x) * sin(y) * sin((1. / 2) * y * 
pi) * cos((1. / 2) * x * 
pi) +
    69              sin(x) * cos(y) * cos((1. / 2) * x * 
pi) * cos((1. / 2) * y * 
pi) -
    70              pi * sin(y) * sin(y) * sin((1. / 2) * x * 
pi) * cos((1. / 2) * x * 
pi) +
    75       const auto quant1 = sin((1. / 2) * y * 
pi);
    76       const auto quant2 = cos((1. / 2) * y * 
pi);
    77       return (1. / 2) * 
pi * 
pi * 
nu * sin((1. / 2) * y * 
pi) * cos((1. / 2) * x * 
pi) -
    78              1. / 2 * 
pi * sin((1. / 4) * x * 
pi) * quant1 * quant1 * cos((1. / 2) * x * 
pi) -
    79              1. / 4 * 
pi * sin((1. / 4) * x * 
pi) * sin((3. / 2) * y * 
pi) +
    80              (1. / 2) * 
pi * sin((1. / 4) * x * 
pi) * cos((1. / 2) * x * 
pi) * quant2 * quant2 -
    81              pi * sin((1. / 2) * x * 
pi) * quant1 * quant1 * cos((1. / 2) * x * 
pi);
   100       return sin(x) * cos((1. / 2) * y * 
pi);
   102       return sin((1. / 4) * x * 
pi) * cos((1. / 2) * y * 
pi);
   110       return nu * sin(x) * cos((1. / 2) * y * 
pi) +
   111              (1. / 4) * 
pi * 
pi * 
nu * sin(x) * cos((1. / 2) * y * 
pi) -
   112              pi * sin(x) * sin(x) * sin((1. / 2) * y * 
pi) * cos((1. / 2) * y * 
pi) -
   113              1. / 2 * 
pi * sin(x) * sin(y) * sin((1. / 2) * x * 
pi) * cos((1. / 2) * y * 
pi) +
   114              sin(y) * cos(x) * cos((1. / 2) * x * 
pi) * cos((1. / 2) * y * 
pi) + sin(x) * cos(y);
   117       const auto quant1 = sin((1. / 4) * x * 
pi);
   118       return (5. / 16) * 
pi * 
pi * 
nu * sin((1. / 4) * x * 
pi) * cos((1. / 2) * y * 
pi) -
   119              pi * quant1 * quant1 * sin((1. / 2) * y * 
pi) * cos((1. / 2) * y * 
pi) -
   120              1. / 2 * 
pi * sin((1. / 4) * x * 
pi) * sin((1. / 2) * x * 
pi) *
   121                  sin((1. / 2) * y * 
pi) * cos((1. / 2) * y * 
pi) +
   122              (1. / 4) * 
pi * sin((1. / 2) * y * 
pi) * cos((1. / 4) * x * 
pi) *
   123                  cos((1. / 2) * x * 
pi) * cos((1. / 2) * y * 
pi) +
   124              (3. / 2) * 
pi * cos((1. / 4) * x * 
pi) * cos((3. / 2) * y * 
pi);
   143       return sin(x) * sin(y);
   145       return sin((3. / 2) * y * 
pi) * cos((1. / 4) * x * 
pi);
   153       return -1. / 2 * 
pi * sin(x) * sin((1. / 2) * y * 
pi) -
   154              1. / 2 * 
pi * sin(y) * sin((1. / 2) * x * 
pi);
   156       return -1. / 2 * 
pi * sin((1. / 4) * x * 
pi) * sin((1. / 2) * y * 
pi) -
   157              1. / 2 * 
pi * sin((1. / 2) * x * 
pi) * sin((1. / 2) * y * 
pi);
   165 #endif // EXACT_SOLN_H 
This class provides the ability to map between arbitrary, user-defined strings and several data types...
Real operator()(const Point &p) const override
virtual Real operator()(const Point &p) const =0
Number compute_error(const Point &p, const Parameters ¶ms, const std::string &, const std::string &unknown_name)
VSoln(const Real nu_in, const bool cavity_in)
The libMesh namespace provides an interface to certain functionality in the library. 
USoln(const Real nu_in, const bool cavity_in)
Real operator()(const Point &p) const override
const T & get(std::string_view) const
Real forcing(const Point &p) const override
PSoln(const bool cavity_in)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real forcing(const Point &p) const override
Real forcing(const Point &p) const override
Real operator()(const Point &p) const override
virtual Real forcing(const Point &p) const =0
A Point defines a location in LIBMESH_DIM dimensional Real space.