PLUTO  4.4-patch2
Functions
cooling.c File Reference

Take a source step using power-law cooling. More...

#include "pluto.h"

Functions

void PowerLawCooling (Data_Arr VV, double dt, timeStep *Dts, Grid *grid)
 

Detailed Description

Integrate the ODE

\[ dp_{\rm cgs}/dt_{\rm cgs} = -(\Gamma - 1) \Lambda(\rho_{\rm cgs}, T_{\rm cgs}) \qquad{\rm where}\qquad \Lambda = \frac{a_{br}}{(\mu m_H)^2} \rho_{\rm cgs}^2 \sqrt{T_{\rm cgs}} \,,\qquad a_{br} = 2.e-27 c.g.s \]

which accounts for bremmstrahlung cooling. Here the subscript 'cgs' means that the corresponding quantity is given in c.g.s units. We denote with mu the molecular weight, mH the hydrogen mass (in c.g.s).

The previous integration is carried out analytically since the density does not change during this step. In non-dimensional form:

\[ \frac{dp}{dt} = -{\rm cost} \;\rho (\rho p)^{\HALF} \]

[notice that since p/rho=T/KELVIN this is equivalent to: dp/dt=-cost rho^2 (T/KELVIN)^(1/2) ]

The quantity cost is determined by transforming the dimensional equation into the non-dimensional one. If p, rho and t are in code (non-dimensional) units and if L_0, rho_0, and V_0 are the unit length, density and velocity, then cost is found to be:

                 a_br * (gamma - 1) * L_0 * rho_0
      cost = -------------------------------------------
              sqrt(kB * mu * mH) * mu * mH * V_0^2

where a_{br} = 2.e-27 (in c.g.s), kB is the Boltmann constant

Authors
A. Mignone (migno.nosp@m.ne@p.nosp@m.h.uni.nosp@m.to.i.nosp@m.t)
Date
July 28, 2014

Function Documentation

◆ PowerLawCooling()

void PowerLawCooling ( Data_Arr  VV,
double  dt,
timeStep Dts,
Grid grid 
)
Parameters
[in,out]VVa pointer to the PLUTO 3D data array containing pimitive variables.
[in]dtthe current integration time step
[in]Dtsa pointer to the timeStep structure
[in]gridpointer to an array of Grid structures