1#ifndef MHD_SOLUTIONS_HPP
2#define MHD_SOLUTIONS_HPP
10 namespace MHDSolutions
15 struct IExactSolution {
25 inline std::string
name()
const {
61 inline double U()
const {
65 inline double B()
const {
73 virtual Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
74 virtual double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
75 virtual Eigen::Matrix2d
velocityGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
76 virtual Eigen::Vector2d
pressureGradient(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
78 virtual Eigen::Vector2d
magnetic_field(
const Eigen::Vector2d &
x,
const double &
t = 0)
const = 0;
106 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
107 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
127 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
128 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
149 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
150 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
170 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
171 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
191 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
192 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
212 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
213 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
234 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
235 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
255 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
256 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
276 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
277 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
297 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
298 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
318 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
319 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
347 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
348 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
368 return std::array<double, 2>{2. *
x[0] - 0.5, 2. *
x[1]};
375 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
376 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
400 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
401 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
423 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
424 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
450 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
451 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
471 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
472 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
493 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
494 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
512 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
513 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
537 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
538 double pressure(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
561 const double &
U,
const double &
B);
567 Eigen::Vector2d
velocity(
const Eigen::Vector2d &
x,
const double &
t = 0)
const;
568 double pressure(
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
depending on the Matrix Market format indicated by or array(dense array storage). The data will be duplicated % as appropriate if symmetry is indicated in the header. % % Optionally
Definition mhd-solutions.hpp:9
Definition mhd-solutions.hpp:15
virtual Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
bool fluid_magnetic_coupling() const
Return true if the fluid and magnetic field are coupled in the two equations.
Definition mhd-solutions.hpp:30
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
double m_viscosity
Definition mhd-solutions.hpp:90
IExactSolution(std::string name, bool fluid_magnetic_coupling, bool is_stokes, bool steady_fluid_equation, bool steady_magnetic_equation, double viscosity, double magnetic_diffusivity)
IExactSolution(std::string name, bool fluid_magnetic_coupling, bool is_stokes, bool steady_fluid_equation, bool steady_magnetic_equation, double viscosity, double magnetic_diffusivity, double U, double B)
double B() const
Definition mhd-solutions.hpp:65
bool steady_fluid_equation() const
Return true if the fluid field is steady, false if unsteady!
Definition mhd-solutions.hpp:42
double U() const
Definition mhd-solutions.hpp:61
bool isStokes() const
Definition mhd-solutions.hpp:37
bool m_steady_fluid_equation
Definition mhd-solutions.hpp:88
double viscosity() const
Return the viscosity.
Definition mhd-solutions.hpp:52
bool m_is_stokes
Definition mhd-solutions.hpp:87
virtual Eigen::Vector2d magneticForcingTerm(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 mhd-solutions.hpp:25
virtual Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const =0
virtual double pressure(const Eigen::Vector2d &x, const double &t=0) const =0
std::string m_name
Definition mhd-solutions.hpp:85
bool m_steady_magnetic_equation
Definition mhd-solutions.hpp:89
virtual double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const =0
double m_B
Definition mhd-solutions.hpp:93
virtual Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const =0
double m_U
Definition mhd-solutions.hpp:92
double m_magnetic_diffusivity
Definition mhd-solutions.hpp:91
double magnetic_diffusivity() const
Return the magnetic diffusivity.
Definition mhd-solutions.hpp:57
bool steady_magnetic_equation() const
Return true if the magnetic field is steady, false if unsteady!
Definition mhd-solutions.hpp:47
virtual ~IExactSolution()
virtual Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const =0
virtual double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const =0
bool m_fluid_magnetic_coupling
Definition mhd-solutions.hpp:86
Definition mhd-solutions.hpp:362
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Kovasznay(const double &viscosity, std::ostream &output=std::cout)
Construct the class given the Reynolds number.
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
static Mesh2D::MeshBuilder::TransformationType domain_transformation
A function to transform the unit domain to .
Definition mhd-solutions.hpp:367
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:120
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(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
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(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
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:163
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:142
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
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
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
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:99
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(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
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:290
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
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
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
MagneticPressureRobustStokes(const double &magnetic_diffusivity)
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:340
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
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
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
PressureRobustNavierStokes(const double &viscosity)
Definition mhd-solutions.hpp:269
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
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(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
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
PressureRobustStokes(const double &viscosity)
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:205
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(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
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:184
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
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 magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:393
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
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
SteadyLinearQuadraticCoupled(const double &viscosity, const double &magnetic_diffusivity)
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:416
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
SteadySinusoidalCoupled(const double &viscosity, const double &magnetic_diffusivity)
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
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::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(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
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:311
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
SteadySinusoidal(const double &viscosity, const double &magnetic_diffusivity)
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:464
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(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
TimeDependentMagneticStokes(const double &magnetic_diffusivity)
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:486
Eigen::Vector2d magnetic_pressureGradient(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
TimeDependentNavierStokes(const double &viscosity)
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(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 mhd-solutions.hpp:443
TimeDependentVelocityStokes(const double &viscosity)
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
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:248
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
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
Eigen::Vector2d magnetic_field(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
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:227
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
double pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
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
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:559
Eigen::Vector2d magnetic_pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Matrix2d velocityGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(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
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
UnsteadyLidDrivenCavity(const double &viscosity, const double &magnetic_diffusivity, const double &U, const double &B)
Definition mhd-solutions.hpp:530
Eigen::Matrix2d magnetic_fieldGradient(const Eigen::Vector2d &x, const double &t=0) const
double pressure(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
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d velocity(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
UnsteadySinusoidalCoupled(const double &viscosity, const double &magnetic_diffusivity)
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d pressureGradient(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
Definition mhd-solutions.hpp:505
Eigen::Vector2d momentumForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double compressibilityForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
double pressure(const Eigen::Vector2d &x, const double &t=0) const
VelocityTrigTimeDep(const double &viscosity)
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::Vector2d magnetic_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
Eigen::Vector2d magneticForcingTerm(const Eigen::Vector2d &x, const double &t=0) const
Eigen::Vector2d magnetic_field(const Eigen::Vector2d &x, const double &t=0) const
double magnetic_pressure(const Eigen::Vector2d &x, const double &t=0) const