[FLASH-USERS] Numerical methods to solve systems of convection–diffusion equations (part 2)

Mariana Cecere marialda27 at gmail.com
Tue Mar 3 12:52:36 EST 2015


Hi FLASH software developers and all:
I'm going to be more specific about my previous question.
I'm trying to add my own subunits (implementation) to introduce anisotropic
thermal conduction to pure MHD simulations. To do this, I've studied in
detail the code, but I think of there must be several things I do not
completely understand.

In Driver/DriverMain/Unsplit/Driver_evolveFlash there are two calls (among
many others), in this order,

call Hydro
call Diffuse

In Hydro/HydroMain/Unsplit/hy_uhd_addThermalFluxes is defined the thermal
fluxes, so, the thermal conduction is added to the MHD energy fluxes.

While in Diffuse/DiffuseMain/Unsplit/diff_advanceTherm is obtained the
diffuse temperature from the equation cv rho dT/dt = div (kappa grad T).

Therefore, the first call obtains the evolution of the MHD variables
including thermal conduction flux energy, and separately the second call,
obtains the diffused temperature.

About the time step (dt), Driver/DriverMain/Driver_computeDt calls to
Hydro_computeDt and Diffuse_computeDt, then the code takes as a time step the
minimum between them, i.e. dt=dt_min. Where the diffusion term is given by:
0.5 dx*dx/diff_coef.

So, the evolution of the whole system is done with this dt_min. Is this
statement correct? If yes, it is, the numerical method applied is evolving,
simultaneously the ideal magnetohydrodynamic plus thermal conduction flux
energy, and separately the heat equation. Does this numerical method ensure
that the whole evolution is stable? Because I know there are another
methods (time splitting) which evolve the diffuse part with different time
step (and less) to the convective part which are stable.

In order to introduce the anisotropic thermal conduction, I realize that I
have to modify several subroutines (hy_uhd_addThermalFluxes,
Grid_advanceDiffusion, Diffuse_solveScalar, Diffuse_computeDt... ), so I
have to be very careful to make these changes, taking into clear how things
are now done. For these reasons, I would like to know which numerical
methods are implemented in Flash to solve this convection-difussion
(hyperbolic + parabolic) equation system.

Thank you very much and I hope somebody could help me.

Mariana
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://flash.rochester.edu/pipermail/flash-users/attachments/20150303/b20546b2/attachment.htm>


More information about the flash-users mailing list