HArD::Core2D
Hybrid Arbitrary Degree::Core 2D - Library to implement 2D schemes with edge and cell polynomials as unknowns
Loading...
Searching...
No Matches
Public Member Functions | Static Public Attributes | List of all members
HArDCore2D::MHDSolutions::Kovasznay Struct Reference

#include <mhd-solutions.hpp>

Inheritance diagram for HArDCore2D::MHDSolutions::Kovasznay:
Inheritance graph
[legend]
Collaboration diagram for HArDCore2D::MHDSolutions::Kovasznay:
Collaboration graph
[legend]

Public Member Functions

 Kovasznay (const double &viscosity, std::ostream &output=std::cout)
 Construct the class given the Reynolds number.
 
Eigen::Vector2d momentumForcingTerm (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 velocity (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 pressureGradient (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::Matrix2d magnetic_fieldGradient (const Eigen::Vector2d &x, const double &t=0) const
 
Eigen::Vector2d magnetic_pressureGradient (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 momentumForcingTerm (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 velocity (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 pressureGradient (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::Matrix2d magnetic_fieldGradient (const Eigen::Vector2d &x, const double &t=0) const
 
Eigen::Vector2d magnetic_pressureGradient (const Eigen::Vector2d &x, const double &t=0) const
 
- Public Member Functions inherited from HArDCore2D::MHDSolutions::IExactSolution
 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)
 
virtual ~IExactSolution ()
 
std::string name () const
 Return the solution name.
 
bool fluid_magnetic_coupling () const
 Return true if the fluid and magnetic field are coupled in the two equations.
 
bool isStokes () const
 
bool steady_fluid_equation () const
 Return true if the fluid field is steady, false if unsteady!
 
bool steady_magnetic_equation () const
 Return true if the magnetic field is steady, false if unsteady!
 
double viscosity () const
 Return the viscosity.
 
double magnetic_diffusivity () const
 Return the magnetic diffusivity.
 
double U () const
 
double B () const
 
 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)
 
virtual ~IExactSolution ()
 
std::string name () const
 Return the solution name.
 
bool fluid_magnetic_coupling () const
 Return true if the fluid and magnetic field are coupled in the two equations.
 
bool isStokes () const
 
bool steady_fluid_equation () const
 Return true if the fluid field is steady, false if unsteady!
 
bool steady_magnetic_equation () const
 Return true if the magnetic field is steady, false if unsteady!
 
double viscosity () const
 Return the viscosity.
 
double magnetic_diffusivity () const
 Return the magnetic diffusivity.
 
double U () const
 
double B () const
 

Static Public Attributes

static Mesh2D::MeshBuilder::TransformationType domain_transformation
 A function to transform the unit domain to \((-\frac12,\frac32)\times (0,2)\).
 

Additional Inherited Members

- Protected Attributes inherited from HArDCore2D::MHDSolutions::IExactSolution
std::string m_name
 
bool m_fluid_magnetic_coupling
 
bool m_is_stokes
 
bool m_steady_fluid_equation
 
bool m_steady_magnetic_equation
 
double m_viscosity
 
double m_magnetic_diffusivity
 
double m_U
 
double m_B
 

Constructor & Destructor Documentation

◆ Kovasznay() [1/2]

Kovasznay::Kovasznay ( const double viscosity,
std::ostream &  output = std::cout 
)

Construct the class given the Reynolds number.

◆ Kovasznay() [2/2]

HArDCore2D::MHDSolutions::Kovasznay::Kovasznay ( const double viscosity,
std::ostream &  output = std::cout 
)

Construct the class given the Reynolds number.

Member Function Documentation

◆ compressibilityForcingTerm() [1/2]

double Kovasznay::compressibilityForcingTerm ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ compressibilityForcingTerm() [2/2]

double HArDCore2D::MHDSolutions::Kovasznay::compressibilityForcingTerm ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_field() [1/2]

Eigen::Vector2d Kovasznay::magnetic_field ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_field() [2/2]

Eigen::Vector2d HArDCore2D::MHDSolutions::Kovasznay::magnetic_field ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_fieldGradient() [1/2]

Eigen::Matrix2d Kovasznay::magnetic_fieldGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_fieldGradient() [2/2]

Eigen::Matrix2d HArDCore2D::MHDSolutions::Kovasznay::magnetic_fieldGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_pressure() [1/2]

double Kovasznay::magnetic_pressure ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_pressure() [2/2]

double HArDCore2D::MHDSolutions::Kovasznay::magnetic_pressure ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_pressureGradient() [1/2]

Eigen::Vector2d Kovasznay::magnetic_pressureGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magnetic_pressureGradient() [2/2]

Eigen::Vector2d HArDCore2D::MHDSolutions::Kovasznay::magnetic_pressureGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magneticForcingTerm() [1/2]

Eigen::Vector2d Kovasznay::magneticForcingTerm ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ magneticForcingTerm() [2/2]

Eigen::Vector2d HArDCore2D::MHDSolutions::Kovasznay::magneticForcingTerm ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ momentumForcingTerm() [1/2]

Eigen::Vector2d Kovasznay::momentumForcingTerm ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ momentumForcingTerm() [2/2]

Eigen::Vector2d HArDCore2D::MHDSolutions::Kovasznay::momentumForcingTerm ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ pressure() [1/2]

double Kovasznay::pressure ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ pressure() [2/2]

double HArDCore2D::MHDSolutions::Kovasznay::pressure ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ pressureGradient() [1/2]

Eigen::Vector2d Kovasznay::pressureGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ pressureGradient() [2/2]

Eigen::Vector2d HArDCore2D::MHDSolutions::Kovasznay::pressureGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ velocity() [1/2]

Eigen::Vector2d Kovasznay::velocity ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ velocity() [2/2]

Eigen::Vector2d HArDCore2D::MHDSolutions::Kovasznay::velocity ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ velocityGradient() [1/2]

Eigen::Matrix2d Kovasznay::velocityGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

◆ velocityGradient() [2/2]

Eigen::Matrix2d HArDCore2D::MHDSolutions::Kovasznay::velocityGradient ( const Eigen::Vector2d &  x,
const double t = 0 
) const
virtual

Member Data Documentation

◆ domain_transformation

static Mesh2D::MeshBuilder::TransformationType HArDCore2D::MHDSolutions::Kovasznay::domain_transformation
inlinestatic
Initial value:
= [](const std::array<double, 2> & x) {
return std::array<double, 2>{2. * x[0] - 0.5, 2. * x[1]};
}
Create grid points x
Definition generate_cartesian_mesh.m:22

A function to transform the unit domain to \((-\frac12,\frac32)\times (0,2)\).


The documentation for this struct was generated from the following files: