PLUTO  4.0
 All Data Structures Files Functions Variables Enumerations Macros Pages
Functions
parabolic_flux.c File Reference

Compute diffusion fluxes for explicit time stepping. More...

#include "pluto.h"

Functions

void ParabolicFlux (Data_Arr V, const State_1D *state, double **dcoeff, int beg, int end, Grid *grid)
 

Detailed Description

Compute parabolic fluxes and corresponding source terms for explicit time stepping only (STS and RKC are treated separately) and add them to upwind fluxes. Note that source terms are only included for viscous terms, since resistivity and thermal conduction do not need any.

Note
For explicit resistive MHD, the EMF is comprised of 2 terms: EMF = E(hyp) + E(par) The correct sequence of steps for building the EMF are:
  • E(hyp) is the flux computed with Riemann solver
  • for STAGGERED_MHD E(hyp) is stored at appropriate location for later re-use by calling CT_StoreEMF
  • Parabolic fluxes are stored in emf_res and stored in a different storage area by calling CT_StoreResistiveEMF
  • Parabolic fluxes are added to the hyperbolic flux (useful only for cell-centered MHD).
Authors
A. Mignone (migno.nosp@m.ne@p.nosp@m.h.uni.nosp@m.to.i.nosp@m.t)
P. Tzeferacos (petro.nosp@m.s.tz.nosp@m.efera.nosp@m.cos@.nosp@m.ph.un.nosp@m.ito..nosp@m.it)
Date
Oct 29, 2012

Function Documentation

void ParabolicFlux ( Data_Arr  V,
const State_1D state,
double **  dcoeff,
int  beg,
int  end,
Grid grid 
)

Add the diffusion fluxes to the upwind fluxes for explicit time integration.

Parameters
[in]Vpointer to the 3D array of cell-centered primitive variables
[in,out]statepointer to a State_1D structure
[out]dcoeffthe diffusion coefficients 1D array
[in]beginitial index of computation
[in]endfinal index of computation
[in]gridpointer to an array of Grid structures