PLUTO Test Problems  4.4-patch2
Functions
init.c File Reference

MHD Rotor test problem. More...

Functions

void InitDomain (Data *d, Grid *grid)
 
void UserDefBoundary (const Data *d, RBox *box, int side, Grid *grid)
 

Detailed Description

The rotor problem consists of a rapidly spinning cylinder embedded in a static background medium with uniform density and pressure and a constant magnetic field along the x direction $B_x = 5/\sqrt{4\pi}$. The cylinder rotates uniformly with constant angular velocity $ \omega $ and has larger density:

\[ (\rho, v_\phi) = \left\{\begin{array}{ll} (10, \omega r) & \qquad {\rm for}\quad r < r_0 \\ \noalign{\medskip} (1+9f,f\omega r_0) & \qquad {\rm for}\quad r_0 \le r \le r_1 \\ \noalign{\medskip} (1,0) & \qquad {\rm otherwise} \end{array}\right. \]

Here $ r_0=0.1$ and $ = (r_1-r)/(r_1-r_0)$ is a taper function. The ideal equation of state with $\Gamma = 1.4$ is used. As the disk rotates, strong torsional Alfven waves form and propagate outward carrying angular momentum from the disk to the ambient.

A list of tested configurations is given in the following table:

Conf.GEOMETRYdivB BCK_FIELDAMR
#01 CARTESIANCT NO NO
#02 POLAR CT NO NO
#03 POLAR 8W NO NO
#04 POLAR CT YES NO
#05 POLAR GLM NO NO
#06 CARTESIANGLM NO NO
#07 CARTESIANGLM NO YES
#08 CARTESIAN8W NO YES
#09 POLAR CT YES NO
#10 POLAR CT YES NO
#11 POLAR GLM YES YES

A snapshot of the solution using static and AMR grid is given below.

mhd_rotor.01.jpg
Density map (in log scale) at t = 0.15 in Cartesian coordinates using 400 x 400 grid zones (configuration #01). Field lines are super-imposed.
mhd_rotor.08.jpg
Density map (in log scale) at t = 0.15 in Cartesian coordinates using a base grid of 64x64 and 4 levels of refinement (conf. #08).
Author
A. Mignone (migno.nosp@m.ne@p.nosp@m.h.uni.nosp@m.to.i.nosp@m.t)
Date
May 20, 2017

Reference:

Function Documentation

◆ InitDomain()

void InitDomain ( Data *  d,
Grid *  grid 
)

Assign initial condition by looping over the computational domain. Called after the usual Init() function to assign initial conditions on primitive variables. Value assigned here will overwrite those prescribed during Init().

◆ UserDefBoundary()

void UserDefBoundary ( const Data *  d,
RBox *  box,
int  side,
Grid *  grid 
)

Provide inner radial boundary condition in polar geometry. Zero gradient is prescribed on density, pressure and magnetic field. For the velocity, zero gradient is imposed on v/r (v = vr, vphi).