stellaGK / stella

stella is a flux tube gyrokinetic code for micro-stability and turbulence simulations of strongly magnetised plasma.
https://stellagk.github.io/stella/
Other
21 stars 10 forks source link

Zonal mode and the flux-tube train #20

Open DenSto opened 3 years ago

DenSto commented 3 years ago

Currently when the flux-tube train is used in Stella, the k_y = 0 modes of the train are uncoupled, and so these modes are treated as periodic within a single car. I'm not quite sure this is what we want to do, since the zonal modes may grow to be different between the cars. I think it would be best to match the nperiod > 1 case without the train. This is easy enough to change explicitly (fill_zed_ghostzones), but the response matrix will have to be modified somewhat for periodic modes.

mabarnes commented 3 years ago

Is the proposal that we make the zonal modes periodic at the ends of the flux tube train rather than within each car? I'm not sure which approach is preferable (zonal modes should only differ between cars if the driving turbulence differs from car to car, which itself seems potentially problematic given that all cars should be statistically identical), but self-periodic within each car seems like it would be numerically cheaper within the response matrix framework.

DenSto commented 3 years ago

Is the proposal that we make the zonal modes periodic at the ends of the flux tube train rather than within each car?

Yes, that's right. This will make the response matrix framework for those modes somewhat more expensive, but I don't see it slowing down the simulation all that much. I also see this as being somewhat more physical; the cars themselves are able to differ in a statistical sense, so I don't see why the k_y = 0 mode shouldn't be allowed to either.