A note on various implementations of anisotropic forcing in Pencil
In the context of the Pencil code, there are three distinct notions of anisotropic forcing:
Changing the values of
ex
,ey
, andez
insamples/helical-MHDturb/python/generate_kvectors.py
makes the wavenumbers of the forcing different in different directions. This seems useful if one wants the flow to have different spatial scales in different directions.In
forcing_run_pars
, one can setforce_strength
to a nonzero value and additionally setforce_direction
(a 3-vector). This is the forcing described by Käpylä (2019) and Käpylä (2019_1), where an anisotropic component is added to the usual isotropic random curl-eigenfunction forcing. I have checked that the velocity field remains nonhelical on average whenrelhel=0
. Note that the modified forcing is not solenoidal. To keep the amplitude of the forcing the same while changing the degree of anisotropy, one should keep constant. This condition results from requiring the trace of the angular average of the tensor1 to be unchanged.Setting
laniso_forcing_old=F
inforcing_run_pars
(in addition to the other options mentioned in the previous point) scales the amplitude of the forcing depending on the direction of . Here, the forcing is still in terms of eigenfunctions of the curl operator.
Note that none of the described options seems to completely capture the sense in which convection is anisotropic.
Bibliography
- Käpylä (2019_1). Effects of small-scale dynamo and compressibility on the \Lambda effect. Astronomische Nachrichten, 340(8), 744–751. doi: 10.1002/asna.201913632.
- Käpylä (2019). Magnetic and rotational quenching of the \Lambda effect. A&A, 622, A195. doi: 10.1051/0004-6361/201732519.