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

RMHD rotor test problem in 2 or 3 dimensions. More...

Functions

void InitDomain (Data *d, Grid *grid)
 

Detailed Description

The 2D rotor problem [dZBL03][Mig12] consists of a rapidly spinning disk embedded in a uniform background medium treaded by a costant magnetic field. The initial conditin reads as

\[ \left(\rho, p, v_x, v_y, B_x\right) = \left\{\begin{array}{ll} \left(10, 1,-\omega y,\,\omega x,\, 1\right) & \quad\mathrm{for}\quad r < 0.1 \\ \noalign{\medskip} \left(1,\, 1,\, 0,\, 0,\, 1\right) & \quad\mathrm{otherwise} \end{array}\right. \]

where $\omega = 9.95$ is the angular frequency of rotation. The computational domain is the unit square and outflow boundary conditions are imposed everywhere.

As the disk rotates, strong torsional Alfven waves form and propagate outward carrying angular momentum from the disk to the ambient. The emerging flow structure is enclosed by a circular fast forward shock traveling into the surrounding medium. An inward fast shock bounds the innermost oval region where density has been depleted to lower values. The presence of the magnetic field slows down the rotor, and the maximum Lorentz factor decreases from the nominal value of 10 to 2.2 (approx).

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

Conf.GEOMETRYDIM T. STEPPINGRECONSTRUCTIONdivB AMR
#01 CARTESIAN2 RK3 LINEAR CT NO
#02 CARTESIAN2 RK2 LINEAR CT NO
#03 CARTESIAN2 HANCOCK LINEAR 8W NO
#04 CARTESIAN2 HANCOCK LINEAR CT NO
#05 CARTESIAN3 RK2 LINEAR GLM NO
#06 CARTESIAN3 RK2 LINEAR GLM NO
#07 CARTESIAN3 HANCOCK LINEAR CT NO
#08 CARTESIAN3 RK3 LimO3 GLM NO

The final solutin at t = 0.4 on a grid of 400x400 grid points is shown below.

rmhd_rotor.03.jpg
Density map (in log scale) at t = 0.4 in Cartesian coordinates using 400 x 400 grid zones (configuration #03). Field lines are super-imposed.

The three dimensional version extends the current configuration to a spinning sphere and it is described in [MUB09].

References:

Author
A. Mignone (migno.nosp@m.ne@t.nosp@m.o.inf.nosp@m.n.it)
Date
Aug 6, 2015

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().