1#ifndef NS_SOLUTIONS_HPP
2#define NS_SOLUTIONS_HPP
15 namespace NSASolutions
25 inline std::string
name()
const {
43 virtual Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
44 virtual double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
45 virtual Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
46 virtual Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
60 Linear(
const int & stokes);
65 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
66 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
67 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
68 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
85 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
86 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
87 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
88 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
104 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
105 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
106 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
107 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
123 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
124 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
125 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
126 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
142 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
143 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
144 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
145 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
159 const double & rho_max,
173 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
174 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
175 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
176 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
194 const double & rho_max,
203 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
204 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
205 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
206 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:44
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:335
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:325
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:90
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:479
double viscosity() const
Return the viscosity.
Definition nsa-solutions.hpp:36
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:438
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:65
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:135
virtual Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:400
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:25
virtual ~IExactSolution()
Definition nsa-solutions.cpp:30
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:469
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
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:219
double m_viscosity
Definition nsa-solutions.hpp:53
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:484
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:415
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 pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:410
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:513
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:184
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:261
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:368
std::string m_name
Definition nsa-solutions.hpp:51
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:141
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:77
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:316
bool isStokes() const
Definition nsa-solutions.hpp:31
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:290
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:213
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:508
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:272
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:237
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 volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:284
virtual Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const =0
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:202
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:60
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:207
bool m_is_stokes
Definition nsa-solutions.hpp:52
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:192
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 pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:130
double volumicFraction(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:490
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
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:147
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:433
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:278
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:363
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:503
virtual double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
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:156
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:119
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:395
double densityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:300
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition nsa-solutions.cpp:232
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 ddr-klplate.hpp:27
Definition nsa-solutions.hpp:98
Definition nsa-solutions.hpp:191
Definition nsa-solutions.hpp:117
Definition nsa-solutions.hpp:20
Definition nsa-solutions.hpp:136
Definition nsa-solutions.hpp:59
Definition nsa-solutions.hpp:155
Definition nsa-solutions.hpp:79