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

Super Time Stepping driver for integration of diffusion terms. More...

#include "pluto.h"

Functions

static void STS_ComputeSubSteps (double, double tau[], int)
 
void STS (const Data *d, Time_Step *Dts, Grid *grid)
 

Detailed Description

Take one step in the solution of the diffusion equation $ dV/dt = R $ where R is a nonlinear right hand side involving second derivatives. The super step is taken to be equal to the current time step g_dt and the number of steps Nsts is given by solving Eq. (??) of Alexiades et al. with the explicit parabolic time step being computed from

\[ \frac{2}{N_d} \max\left[ \frac{\eta_x}{\Delta x^2} + \frac{\eta_y}{\Delta y^2} + \frac{\eta_z}{\Delta z^2} \right] \Delta t_{exp} = C_p < \frac{1}{N_d} \]

where $C_p$ is the parabolic Courant number, $ N_d $ is the number of spatial dimensions and the maximum of the square bracket is computed during the call to ParabolicRHS.

This function is called in an operator-split way before/after advection has been carried out.

References

Authors
A. Mignone (migno.nosp@m.ne@p.nosp@m.h.uni.nosp@m.to.i.nosp@m.t)
T. Matsakos
Date
Oct 29, 2012

Function Documentation

void STS ( const Data d,
Time_Step Dts,
Grid grid 
)

Solve diffusion equation using Super-Time-Stepping.

Parameters
[in,out]dpointer to Data structure
[in,out]Dtspointer to Time_Step structure
[in]gridpointer to an array of Grid structures
void STS_ComputeSubSteps ( double  dtex,
double  tau[],
int  ssorder 
)
static

< $ \pi $.