1#ifndef NS_SOLUTIONS_HPP
2#define NS_SOLUTIONS_HPP
10 namespace NavierStokesSolutions
15 struct IExactSolution {
21 inline std::string
name()
const {
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;
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;
97 Eigen::Vector2d
magnetic_field(
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;
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;
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;
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;
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;
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;
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;
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;
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;
304 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
305 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
306 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
307 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
309 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
333 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
334 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
338 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
354 return std::array<double, 2>{2. *
x[0] - 0.5, 2. *
x[1]};
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;
366 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
386 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
387 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
388 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
389 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
391 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
409 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
410 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
411 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
412 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
414 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
436 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
437 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
438 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
439 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
441 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
457 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
458 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
459 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
460 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
462 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
479 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
480 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
484 Eigen::Vector2d
magnetic_field(
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;
523 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
524 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
525 Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
526 Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
528 Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
Create grid points x
Definition generate_cartesian_mesh.m:22
std::function< std::array< double, 2 >(const std::array< double, 2 > &)> TransformationType
Definition mesh_builder.hpp:174
Definition bgg-klplate.hpp:30
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:989
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:968
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:973
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:994
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:1004
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:725
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:709
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:696
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:740
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:753
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:730
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:745
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:735
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:720
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:691
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:701
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:895
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:910
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:890
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:926
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:915
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:379
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1098
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1086
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1044
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1073
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1036
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1058
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1068
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1029
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1053
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1024
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1063
Definition ns-solutions.hpp:402
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1164
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1178
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1124
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1151
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1116
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1133
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1190
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1141
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1169
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1156
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1203
Definition ns-solutions.hpp:297
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:810
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:787
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:857
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:823
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:795
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:832
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:770
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:844
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:818
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:805
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:778
Definition ns-solutions.hpp:450
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1321
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1353
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1343
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1348
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1358
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1367
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1372
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1311
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1386
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1316
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1330
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:1526
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:1486
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:1446
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1451
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1491
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:429
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1290
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1247
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1242
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1220
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1257
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1271
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1252
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1229
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1266
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1296
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1276
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:516
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1655
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1737
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1695
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1705
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1712
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1751
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1723
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1688
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1676
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1645
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1666
Definition ns-solutions.hpp:491
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1589
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1579
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1625
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1574
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1558
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1620
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1601
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1596
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1584
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1606
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Definition ns-solutions.cpp:1548