1#ifndef NS_SOLUTIONS_HPP 
    2#define NS_SOLUTIONS_HPP 
   10  namespace NSASolutions
 
   20      inline std::string 
name()
 const {
 
 
   38      virtual Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const = 0;
 
   39      virtual double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const = 0;
 
   40      virtual Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const = 0;
 
   41      virtual Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const = 0;
 
 
   55      Linear(
const int & stokes);
 
   60      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
   61      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
   62      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
   63      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
   80      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
   81      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
   82      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
   83      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
   99      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
  100      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
  101      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
  102      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
  118      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
  119      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
  120      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
  121      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
  137      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
  138      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
  139      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
  140      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
  154                     const double & rho_max, 
 
  168      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
  169      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
  170      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
  171      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
  189                     const double & rho_max, 
 
  198      Eigen::Vector2d 
velocity(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;   
 
  199      double pressure(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
  200      Eigen::Matrix2d 
velocityGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;    
 
  201      Eigen::Vector2d 
pressureGradient(
const Eigen::Vector2d & 
x, 
const double & 
t = 0) 
const;
 
 
 
Create grid points x
Definition generate_cartesian_mesh.m:22
 
size_t L
Definition HHO_DiffAdvecReac.hpp:46
 
Definition ddr-klplate.hpp:27
 
Definition nsa-solutions.hpp:93
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:219
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:184
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:213
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:237
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:202
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:207
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:192
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:232
 
Definition nsa-solutions.hpp:186
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:464
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:479
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:469
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:484
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:513
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:508
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:490
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:503
 
Definition nsa-solutions.hpp:112
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:261
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:290
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:272
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:284
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:295
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:253
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:278
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:300
 
Definition nsa-solutions.hpp:15
 
double viscosity() const
Return the viscosity.
Definition nsa-solutions.hpp:31
 
virtual Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
 
virtual Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const =0
 
std::string name() const
Return the solution name.
Definition nsa-solutions.hpp:20
 
virtual ~IExactSolution()
Definition nsa-solutions.cpp:30
 
virtual double pressure(const Eigen::Vector2d &x, const double &t=0) const =0
 
virtual Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const =0
 
double m_viscosity
Definition nsa-solutions.hpp:48
 
std::string m_name
Definition nsa-solutions.hpp:46
 
bool isStokes() const
Definition nsa-solutions.hpp:26
 
virtual Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const =0
 
bool m_is_stokes
Definition nsa-solutions.hpp:47
 
virtual double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
 
virtual double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const =0
 
virtual double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
 
Definition nsa-solutions.hpp:131
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:335
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:325
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:368
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:316
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:358
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:340
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:346
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:363
 
Definition nsa-solutions.hpp:54
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:90
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:65
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:77
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:60
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:52
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:71
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:95
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:46
 
Definition nsa-solutions.hpp:150
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:438
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:400
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:415
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:410
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:433
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
A function to transform the unit domain to .
Definition nsa-solutions.cpp:428
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:421
 
static double s_L
Definition nsa-solutions.hpp:151
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:395
 
Definition nsa-solutions.hpp:74
 
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:135
 
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:111
 
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:163
 
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:141
 
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:168
 
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:130
 
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:147
 
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:119