I/O and Boundary Conditions

Grid & I/O

I finished up MHD I/O in Cholla so now cholla can read and write magnetic field variables, set initial conditions, etc. I also added new parameter files for Einfeldt Strong Rarefaction plus the Ryu & Jones 4 and Dai & Woodward MHD shock tubes.

Boundary Conditions

I’ve started on boundary conditions in Cholla for MHD but they’re especially tricky. The MPI and periodic boundaries work exactly the same in hydro and MHD since they just take the value of the next cell over but the reflective and transmissive boundaries don’t; they take the value of one of the real cells near the edge and so I need to make sure we get the correct cell and treat the outer face of MHD grid as part of the real grid and not a ghost cell. After discussing it extensively I think that I need to modify some combination of functions in src/mpi/ since that is where all the assignment is done. Specifically the kernel PackGhostCellsKernel which in turn calls SetBoundaryMapping and FindIndex to compute which cell to source the ghost cell values from. I’m not sure of the best way to do that yet but I’m working on it.


This post is licensed under CC BY 4.0 by the author.