These guidelines are based on the working folder located here.

MHD modelling


1) Enabling/disabling MHD

In the constant/ folder, add the optional mhdDictFile key to the thermophysicalProperties dictionary as

twoTemperatureDictFile "<constant>/thermo2TModel";

mhdDictFile "<constant>/mhdProperties";

temperatureBounds
{
    Tlow    200;
    Thigh   15000;
}

This mhdProperties dictionary is listing all the MHD parameters

active          true;

mhdModel        lowReMag;

hallEffect      false;

electricalConductivityModel Bush;

constantElectricalConductivityCoeffs
{
    value           5100;
}

BushCoeffs
{
    sigma0          5100;
    T0              12000;
    n               2;
}

The first switch, active, can be used to enable or disable MHD. If it is set to false, then none of the other keys matter.



2) MHD models

The electric current density, j (in A/m2), is given by Ohm's law

`j = σ (E + U × B)`

where

  • `σ` is the scalar or tensor electrical conductivity in S/m (see §3)
  • `E` is the electric field (in V/m)
  • `B` is the total magnetic field, sum of the imposed and induced magnetic fields (in T)
  • `U` is the velocity field.

The Lorentz force appearing as a source term in the momemtum equations is then defined as

`F^{L} = j × B`

and the Joule heating source term appearing in the total energy equation can be expressed as

`Q^{J} = j ⋅ E`

2.1 Low magnetic Reynolds number model

The low magnetic Reynolds number model can be selected as follows

mhdModel        lowReMag;

Under the inductionless approximation, `Re_{m}` << 1, the influence of the velocity field on the magnetic field can be neglected. The total magnetic field is thus the imposed magnetic field.

Current limitations:

  • constant total magnetic field (the magnetic induction equation is not solved)
  • Poisson equation not solved for the electric potential



3) Electrical conductivity models

3.1 Constant electrical conductivity

A constant electrical conductivity, in S/m, can be prescribed using the constantElectricalConductivity model as

electricalConductivityModel constantElectricalConductivity;

constantElectricalConductivityCoeffs
{
    value           5100;
}


3.2 Bush

This model can be implemented as

electricalConductivityModel Bush;

BushCoeffs
{
    sigma0          5100;
    T0              12000;
    n               2;
}

In the Bush model, the electrical conductivity field, `σ`, is given by

`σ = σ_{0}*(T/T_{0})^n`

where

  • `σ_{0}` is a reference electrical conductivity in S/m
  • `T_{0}` is a reference temperature in K
  • `n` is a temperature exponent
  • `T` is the local trans-rotational temperature in K.


3.3 Chapman-Cowling

This model can be implemented as

electricalConductivityModel ChapmanCowling;

In the ChapmanCowling model, the electrical conductivity field, `σ`, is given by

`σ = 4.0227904*10^{-18}*n_{e^{-}}/sqrt(T)`

where

  • `T` is the local trans-rotational temperature in K
  • `n_{e^{-}}` is the local electron number density in m-3 defined as

`n_{e^{-}} = p_{e^{-}}/(k_{B}*T)`

where

  • `k_{B}` is the Bolzmann constant in J/K
  • `p_{e^{-}}` is the local electron pressure in Pa


3.4 Raizer

This model can be implemented as

electricalConductivityModel Raizer;

In the Raizer model, the electrical conductivity field, `σ`, is given by

`σ = 83.0*exp({-3.6*10^{4}}/T)`

where `T` is the local trans-rotational temperature in K.


3.5 Spitzer-Harm

This model can be implemented as

electricalConductivityModel SpitzerHarm;

In the SpitzerHarm model, the electrical conductivity field, `σ`, is given by

`σ = 1.56*10^{-4}*T^{1.5}/ln(1.23*10^{4}*T^{1.5}/sqrt(n_{e^{-}}))`

where

  • `T` is the local trans-rotational temperature in K
  • `n_{e^{-}}` is the local electron number density in m-3 defined as

`n_{e^{-}} = p_{e^{-}}/(k_{B}*T)`

where

  • `k_{B}` is the Bolzmann constant in J/K
  • `p_{e^{-}}` is the local electron pressure in Pa



4) Hall parameter

Hall effects can be accounted for using the hallEffect switch

hallEffect      true;
constantHallParameter   1.0; // optional, default: -1.0

When the optional key constantHallParameter isn’t provided (i.e., left negative), the Hall parameter field is calculated as

`β = σ*B/(e*n_{e^{-}}`

and the scalar electrical conductivity is multiplied by the following tensor to yield the tensor electrical conductivity

`1/D` ( B² + β²⋅Bx² β⋅(β⋅By⋅Bx + B⋅Bz) β⋅(β⋅Bz⋅Bx + B⋅By) β⋅(β⋅By⋅Bx - B⋅Bz) B² + β²⋅By² β⋅(β⋅Bz⋅By + B⋅Bx) β*(β⋅Bz⋅Bx - B⋅By) β⋅(β⋅Bz⋅By + B⋅Bx) B² + β²⋅Bz² )

where

`D = B^2 (1 + β^2)`



5) Creation of an initial magnetic field and electric potential

You can set-up the initial magnetic field and electric potential field manually or by either using funkySetFields or foamCalc.

For the magnetic field, the file header is

FoamFile
{
    version     2.0;
    format      ascii;
    class       volVectorField;
    location    "0";
    object      B;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions      [1 0 -2 0 0 -1 0];

while it is as follows for the electric potential

FoamFile
{
    version     2.0;
    format      ascii;
    class       volScalarField;
    location    "0";
    object      elecPot;
}
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions	[1 2 -3 0 0 -1 0];