You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For non-ideal MHD flow with large Ohmic/Hall diffutivity coefficients (i.e., low magnetic Reynolds number flow), due to the stiffness of the induction equation, the computation time is typically much more than that for idea MHD flow under otherwise identical conditions. As a result, the computation time for a simulation of long-term non-ideal MHD flow at a relatively small magnetic Reynolds number can be extremely long.
By introducing the low magnetic Reynolds number approximation (i.e., dropping the term $\nabla \times(\boldsymbol{u}\times \boldsymbol{B})$ just in the induction equation), the computational efficiency for non-idea MHD simulations could be improved at the cost of an acceptable loss of accuracy. This approach is practical for laboratory MHD flow simulations. However, this feature seems not yet supported in Athena++.
My question is: How to implement the removal of only the term $\nabla \times(\boldsymbol{u}\times \boldsymbol{B})$ in the induction equation without affecting the Lorentz force term in the momentum equation within Athena++?
I have noticed in src/pgen/resist.cpp the initial velocity field is set to zero field to construct a simple diffusion problem for 2D/3D.
I do not think it is a generic equivalent approach, because the Lorentz force, pressure gradient, viscous stress and gravity within the momentum equation drive the velocity field evolving with time. Probably the Lorentz force term takes no effect for a curl-free (irrotational) initial magnetic field?
An extension of this question can be found in #552 , which is an open question because of algorithm details for the extra terms added to the induction equation.
Furthermore, for simulations on small time scales relative to the magnetic diffusion scales, the magnetic field can be considered quasi-static, so there is no need to solve the induction equation and an initial divergence-free magnetic field is enough. This means the Lorentz force is a constant source term within the momentum equation. The results of this simulation represent a completely decoupled interaction between the fluid and the magnetic field. The difference from the coupled equation solution depends on how small the magnetic Reynolds number is. This threshold could possibly serve as an adjustable algorithm parameter.
For example, when the global (local) magnetic Reynolds number is lower than this parameter value, the aforementioned decoupled approximate solution scheme can be globally (locally) implemented.
I wonder if it makes sense to do this? If it does, could it be considered as an optional feature for Athena++ in the future?
Sorry for my late response.
I am not familiar with this kind of approximation. In Athena++, the momentum and energy equations are solved by a Riemann solver, while the magnetic fields are updated by the constrained transport algorithm. It may be possible, although I am not sure it works well, to skip the EMF calculation for the ideal MHD part (calculate_corner_e.cpp). However, in Athena++, the diffusion part anyway uses the CT part with an explicit time integrator (including STS), and the cost of the ideal MHD EMF calculation is only a small fraction of the whole MHD algorithm. So I am not sure this feature improves the efficiency even in the low Reynolds number limit.
Thanks for your comment. I may not have clearly explained the low magnetic Reynolds number approximation in the above post. The magnetic Reynolds number, $\mathrm {Re}_m=\mu_m \sigma U L=\frac{U L}{\eta}$, is a dimensionless number, where $\mu_m$ represents magnetic permeability, U denotes characteristic velocity, L denotes characteristic length, and $\eta=(\mu_m \sigma)^{-1}$ denotes magnetic diffusivity. In the default unit system of Athena++, $\mu_m=1$, thus $\eta$ corresponds to Ohmic resistivity.
The low magnetic Reynolds number approximation essentially neglects the effects of the induction equation, as detailed in equations (6) to (8) in the paper titled “Computational Aspects of Magneto-Fluid-Dynamics Formulations” (Khan, Ovais & Hoffmann, Klaus, 2009). Figures 6 and 7 in the paper demonstrate the computational efficiency within the low magnetic Reynolds number regime.
I do understand the approximation, and what I mentioned in the previous post is how to neglect the induction equation. But again, I guess there is only little performance benefit (though there might be some advantage in stability or something). Even you skip the ideal part of the induction equation, you still need to call the constrained transport algorithm to calculate the resistive part of the induction equation, and the timestep is limited by this part anyway. So the cost you can save is only the calculation of the EMF due to the ideal part, but it is only a small fraction of the whole calculation.
Yes, I agree with that the calculation of the EMF is only a small fraction of the whole calculation. For $\mathrm{Re}_m<0.01$, according to the paper I mentioned above, if the current density $\boldsymbol J$ is simply updated by the generalized Ohm’s law, $\boldsymbol J=\sigma(\boldsymbol E+\boldsymbol U\times \boldsymbol B)$ (where $\boldsymbol E$ and $\boldsymbol B$ are quasi-static and initialized by users, requiring no updating), instead of $\boldsymbol J=\nabla\times \boldsymbol B$ used in Athena++ (which solves the induction equation to update $\boldsymbol B$), the computaion efficiency of MHD solution can be significantly improved when Runge-Kutta scheme is used. Perhaps it's a useful acceleration strategy.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
For non-ideal MHD flow with large Ohmic/Hall diffutivity coefficients (i.e., low magnetic Reynolds number flow), due to the stiffness of the induction equation, the computation time is typically much more than that for idea MHD flow under otherwise identical conditions. As a result, the computation time for a simulation of long-term non-ideal MHD flow at a relatively small magnetic Reynolds number can be extremely long.
By introducing the low magnetic Reynolds number approximation (i.e., dropping the term$\nabla \times(\boldsymbol{u}\times \boldsymbol{B})$ just in the induction equation), the computational efficiency for non-idea MHD simulations could be improved at the cost of an acceptable loss of accuracy. This approach is practical for laboratory MHD flow simulations. However, this feature seems not yet supported in Athena++.
My question is: How to implement the removal of only the term$\nabla \times(\boldsymbol{u}\times \boldsymbol{B})$ in the induction equation without affecting the Lorentz force term in the momentum equation within Athena++?
I have noticed in
src/pgen/resist.cpp
the initial velocity field is set to zero field to construct a simple diffusion problem for 2D/3D.athena/src/pgen/resist.cpp
Line 58 in 9d763ac
athena/src/pgen/resist.cpp
Lines 68 to 77 in 9d763ac
I do not think it is a generic equivalent approach, because the Lorentz force, pressure gradient, viscous stress and gravity within the momentum equation drive the velocity field evolving with time. Probably the Lorentz force term takes no effect for a curl-free (irrotational) initial magnetic field?
An extension of this question can be found in #552 , which is an open question because of algorithm details for the extra terms added to the induction equation.
Furthermore, for simulations on small time scales relative to the magnetic diffusion scales, the magnetic field can be considered quasi-static, so there is no need to solve the induction equation and an initial divergence-free magnetic field is enough. This means the Lorentz force is a constant source term within the momentum equation. The results of this simulation represent a completely decoupled interaction between the fluid and the magnetic field. The difference from the coupled equation solution depends on how small the magnetic Reynolds number is. This threshold could possibly serve as an adjustable algorithm parameter.
For example, when the global (local) magnetic Reynolds number is lower than this parameter value, the aforementioned decoupled approximate solution scheme can be globally (locally) implemented.
I wonder if it makes sense to do this? If it does, could it be considered as an optional feature for Athena++ in the future?
Beta Was this translation helpful? Give feedback.
All reactions