1#ifndef NS_SOLUTIONS_HPP
2#define NS_SOLUTIONS_HPP
10 namespace NavierStokesSolutions
15 struct IExactSolution {
21 inline std::string
name()
const {
57 virtual Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
58 virtual Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
61 virtual Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
62 virtual double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
63 virtual Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
64 virtual Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
66 virtual Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
67 virtual double magnetic_pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const = 0;
92 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
93 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
94 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
95 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
97 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
109 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
110 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
113 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
114 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
115 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
116 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
118 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
132 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
135 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
136 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
140 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
152 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
153 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
156 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
157 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
158 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
159 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
161 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
174 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
177 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
178 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
182 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
194 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
195 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
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;
203 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
216 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
217 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
220 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
221 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
222 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
223 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
225 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
237 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
238 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
241 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
242 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
243 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
244 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
246 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
259 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
262 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
263 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
267 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
279 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
280 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
283 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
284 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
285 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
286 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
288 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
305 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
308 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
309 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
313 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
329 return std::array<double, 2>{2. * x[0] - 0.5, 2. * x[1]};
333 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
336 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
337 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
341 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
357 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
358 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
361 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
362 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
363 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
364 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
366 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
380 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
381 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
384 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
385 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
386 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
387 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
389 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
407 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
408 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
411 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
412 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
413 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
414 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
416 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
428 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
429 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
432 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
433 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
434 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
435 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
437 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
451 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
454 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
455 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
459 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
469 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
470 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
473 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
474 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
475 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
476 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
478 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
494 Eigen::Vector2d
momentumForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
495 Eigen::Vector2d
magneticForcingTerm(
const Eigen::Vector2d & x,
const double & t = 0)
const;
498 Eigen::Vector2d
velocity(
const Eigen::Vector2d & x,
const double & t = 0)
const;
499 double pressure(
const Eigen::Vector2d & x,
const double & t = 0)
const;
500 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
501 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d & x,
const double & t = 0)
const;
503 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d & x,
const double & t = 0)
const;
std::function< std::array< double, 2 >(const std::array< double, 2 > &)> TransformationType
Definition MeshBuilder2D.hpp:174
Definition ddr-klplate.hpp:27
Definition ns-solutions.hpp:15
virtual Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const =0
double viscosity() const
Return the viscosity.
Definition ns-solutions.hpp:33
bool isStokes() const
Definition ns-solutions.hpp:33
bool m_is_stokes
Definition ns-solutions.hpp:64
virtual ~IExactSolution()
double magnetic_diffusivity() const
Return the magnetic diffusivity.
Definition ns-solutions.hpp:53
double m_magnetic_diffusivity
Definition ns-solutions.hpp:79
virtual double pressure(const Eigen::Vector2d &x, const double &t=0) const =0
bool m_steady_magnetic_equation
Definition ns-solutions.hpp:77
std::string name() const
Return the solution name.
Definition ns-solutions.hpp:22
bool fluid_magnetic_coupling() const
Return true if the fluid and magnetic field are oupled in the two equations.
Definition ns-solutions.hpp:26
bool steady_magnetic_equation() const
Return true if the magnetic field is steady, false if unsteady!
Definition ns-solutions.hpp:43
bool steady_fluid_equation() const
Return true if the fluid field is steady, false if unsteady!
Definition ns-solutions.hpp:38
virtual Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
bool m_fluid_magnetic_coupling
Definition ns-solutions.hpp:74
virtual double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
bool m_steady_fluid_equation
Definition ns-solutions.hpp:76
double m_viscosity
Definition ns-solutions.hpp:65
virtual double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const =0
virtual Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
std::string m_name
Definition ns-solutions.hpp:63
virtual Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const =0
virtual Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const =0
virtual Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const =0
virtual Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const =0
IExactSolution(std::string name, bool is_stokes, double viscosity, bool isNonNewtonian=false, double flow_index=2.0, double degen_param=0.0)
Definition ns-solutions.cpp:17
virtual Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const =0
Definition ns-solutions.hpp:175
double pressure(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:886
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:865
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:870
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:891
static Mesh2D::MeshBuilder::TransformationType domain_transformation
A function to transform the unit domain to .
Definition ns-solutions.hpp:180
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:901
Kovasznay(const double &viscosity, std::ostream &output=std::cout)
Construct the class given the Reynolds number.
Definition ns-solutions.hpp:106
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:199
LinearMagneticField()
Definition ns-solutions.cpp:182
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:215
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:227
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:233
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:188
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:194
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:204
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:238
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:222
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:209
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:243
Definition ns-solutions.hpp:149
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:294
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:273
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:278
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:268
LinearMagneticPressure()
Definition ns-solutions.cpp:251
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:257
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:311
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:289
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:283
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:263
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:306
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:301
Definition ns-solutions.hpp:88
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:151
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:156
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:139
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:145
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:167
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.hpp:74
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:69
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:86
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:75
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:81
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:97
Definition ns-solutions.hpp:276
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:726
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:710
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:697
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:741
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:754
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:731
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:746
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:736
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:721
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:692
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:702
Definition ns-solutions.hpp:146
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:792
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:807
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
PressureRobustNavierStokes(const double &viscosity)
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:787
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:823
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:812
Definition ns-solutions.hpp:131
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:654
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:659
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:639
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:672
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
PressureRobustStokes(const double &viscosity)
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:634
Definition ns-solutions.hpp:191
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:455
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:426
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:440
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:408
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:418
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:450
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:403
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:435
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:445
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:413
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:398
QuadraticMagneticField()
Definition ns-solutions.cpp:392
Definition ns-solutions.hpp:102
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:363
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:378
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:368
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:357
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:352
Definition ns-solutions.hpp:354
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:995
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:983
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:941
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:970
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:933
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:955
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:965
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:926
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:950
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:921
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:960
Definition ns-solutions.hpp:377
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1061
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1075
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1021
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1048
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1013
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1030
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1088
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1038
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1066
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1053
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1102
Definition ns-solutions.hpp:425
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1220
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1252
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1242
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1247
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1257
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1266
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1271
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1210
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1285
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1215
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1229
Definition ns-solutions.hpp:200
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1425
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1385
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
TimeDependentNavierStokes(const double &viscosity)
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1345
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1350
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1390
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.hpp:404
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1189
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1146
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1141
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1119
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1156
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1170
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1151
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1128
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1165
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1195
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1175
Definition ns-solutions.hpp:234
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:552
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:542
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:560
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:581
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:576
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:547
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:571
TrigonometricMagnetic()
Definition ns-solutions.cpp:536
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:601
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:591
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:596
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:586
Definition ns-solutions.hpp:213
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:528
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:512
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:518
TrigonometricVelocity()
Definition ns-solutions.cpp:463
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:497
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:487
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:492
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:523
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:469
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:502
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:477
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:507
Definition ns-solutions.hpp:491
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1554
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1636
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1594
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1604
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1611
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1650
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1622
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1587
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1575
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1544
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1565
Definition ns-solutions.hpp:466
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1488
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1478
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1524
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1473
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1457
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1519
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1500
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1495
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1483
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1505
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1447