/home66/gary/public_html/cloudy/c10_branch/source/dynamics.cpp File Reference

#include "cddefines.h"
#include "cddrive.h"
#include "struc.h"
#include "input.h"
#include "colden.h"
#include "radius.h"
#include "thirdparty.h"
#include "stopcalc.h"
#include "hextra.h"
#include "rfield.h"
#include "iterations.h"
#include "trace.h"
#include "conv.h"
#include "timesc.h"
#include "dense.h"
#include "mole.h"
#include "thermal.h"
#include "pressure.h"
#include "phycon.h"
#include "wind.h"
#include "hmi.h"
#include "iso.h"
#include "dynamics.h"
#include "cosmology.h"
#include "taulines.h"
#include "parser.h"
Include dependency graph for dynamics.cpp:

Go to the source code of this file.

Defines

#define NTIME   200
#define SUBSONIC   1
#define SUPERSONIC   2
#define STRONGD   4
#define ORIGINAL   5
#define SHOCK   6
#define ANTISHOCK   7
#define ANTISHOCK2   8

Functions

STATIC void DynaNewStep (void)
STATIC void DynaSaveLast (void)
STATIC double timestep_next (void)
double DynaPresChngFactor (void)
void DynaIonize (void)
void DynaStartZone (void)
void DynaEndZone (void)
void DynaIterEnd (void)
realnum DynaFlux (double depth)
void DynaZero (void)
void DynaCreateArrays (void)
STATIC void advection_set_default (bool lgWind)
void ParseDynaTime (Parser &p)
void ParseDynaWind (Parser &p)
void DynaPrtZone (void)
void DynaPunchTimeDep (FILE *ipPnunit, const char *chJob)
void DynaSave (FILE *ipPnunit, char chJob)
void DynaIterStart (void)

Variables

static int ipUpstream = -1
static int iphUpstream = -1
static int ipyUpstream = -1
static double ** UpstreamIon
static double *** UpstreamStatesElemNEW
static double * UpstreamElem
static double * Upstream_H2_molec
static double * Upstream_CO_molec
static double * time_elapsed_time
static double * time_flux_ratio
static double * time_dt
static double * time_dt_scale_factor
bool lgtime_dt_specified
int * lgtime_Recom
static long int nTime_flux = 0
static double Dyn_dr
static double AdvecSpecificEnthalpy
static realnumOld_histr
static realnumOld_xLyman_depth
static realnumOld_depth
static realnumOld_hiistr
static realnumOld_pressure
static realnumOld_hden
static realnumOld_DenMass
static realnumEnthalpyDensity
static realnumOld_ednstr
static realnumOld_EnthalpyDensity
static realnum ** Old_H2_molec
static realnum ** Old_CO_molec
static realnum *** Old_xIonDense
static realnum ** Old_gas_phase
static realnum **** Old_StatesElemNEW
static long int nOld_zone
static realnum DivergePresInteg

Define Documentation

#define ANTISHOCK   7

Definition at line 211 of file dynamics.cpp.

Referenced by DynaPresChngFactor().

#define ANTISHOCK2   8

Definition at line 212 of file dynamics.cpp.

Referenced by DynaPresChngFactor().

#define NTIME   200

Definition at line 80 of file dynamics.cpp.

Referenced by ParseDynaTime().

#define ORIGINAL   5

Definition at line 209 of file dynamics.cpp.

Referenced by DynaPresChngFactor().

#define SHOCK   6

Definition at line 210 of file dynamics.cpp.

Referenced by DynaPresChngFactor().

#define STRONGD   4

Definition at line 208 of file dynamics.cpp.

Referenced by DynaPresChngFactor().

#define SUBSONIC   1

Definition at line 205 of file dynamics.cpp.

Referenced by DynaPresChngFactor().

#define SUPERSONIC   2

Definition at line 206 of file dynamics.cpp.

Referenced by DynaPresChngFactor().


Function Documentation

STATIC void advection_set_default ( bool  lgWind  ) 
void DynaCreateArrays ( void   ) 
void DynaEndZone ( void   ) 

DynaEndZone called at end of iteration when advection is turned on

Definition at line 1375 of file dynamics.cpp.

References DEBUG_ENTRY, t_radius::depth, DivergePresInteg, t_radius::drad, DynaFlux(), dynamics, ioQQQ, t_dynamics::lgTracePrint, radius, wind, and Wind::windv.

Referenced by ZoneEnd().

Here is the call graph for this function:

realnum DynaFlux ( double  depth  ) 
void DynaIonize ( void   ) 
void DynaIterEnd ( void   ) 
void DynaIterStart ( void   ) 
STATIC void DynaNewStep ( void   ) 
double DynaPresChngFactor ( void   ) 

DynaPresChngFactor, called from PressureChange to evaluate new density needed for current conditions and wind solution, returns ratio of new to old density, called when wind velocity is negative for D-critical solutions

Todo:
2 this should be setable at run time as per Robin Williams email rshock = 4e16;
Todo:
2 Switch to supersonic when bad enough failure for STRONGD -- need to improve this logic when the p(rho) data is cleaner

Definition at line 214 of file dynamics.cpp.

References ANTISHOCK, ANTISHOCK2, ASSERT, cdEXIT, t_dynamics::chPresMode, DEBUG_ENTRY, dense, t_radius::depth, DivergePresInteg, DynaFlux(), dynamics, t_dense::gas_phase, ioQQQ, ipHYDROGEN, t_pressure::lgContRadPresOn, t_dynamics::lgSetPresMode, t_pressure::lgSonicPointAbortOK, t_dynamics::lgTimeDependentStatic, t_trace::lgTrace, t_dynamics::lgTracePrint, MAX2, t_trace::nTrConvg, nzone, ORIGINAL, t_pressure::PresGasCurr, t_pressure::PresInteg, t_pressure::PresRamCurr, pressure, PresTotCurrent(), t_pressure::PresTotlCorrect, t_pressure::PresTotlCurr, t_pressure::PresTotlInit, radius, SHOCK, t_dynamics::ShockDepth, t_dynamics::ShockMach, sign(), SMALLFLOAT, STRONGD, SUBSONIC, SUPERSONIC, trace, wind, Wind::windv, and t_dense::xMassDensity.

Referenced by lgConvPres().

Here is the call graph for this function:

void DynaPrtZone ( void   ) 
void DynaPunchTimeDep ( FILE *  ipPnunit,
const char *  chJob 
)

DynaPunchTimeDep - save info about time dependent solution

Parameters:
ipPnunit 
*chJob 

Definition at line 2590 of file dynamics.cpp.

References cdIonFrac(), cdTemp(), t_colden::colden, colden, cosmology, DEBUG_ENTRY, dense, dynamics, t_dense::eden, findspecies(), t_dense::gas_phase, ipCOL_HTOT, ipHYDROGEN, t_cosmology::redshift_current, rfield, SDIV(), t_rfield::time_continuum_scale, t_dynamics::time_elapsed, t_dynamics::timestep, and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

void DynaSave ( FILE *  ipPnunit,
char  chJob 
)

DynaSave save info related to advection

Parameters:
ipPnunit 
chJob 

Definition at line 2699 of file dynamics.cpp.

References AdvecSpecificEnthalpy, t_dynamics::Cool(), t_dynamics::dCooldT(), DEBUG_ENTRY, dense, t_radius::depth_mid_zone, dynamics, t_phycon::EnthalpyDensity, t_dense::gas_phase, t_dynamics::Heat(), t_thermal::htot, ipHYDROGEN, phycon, radius, t_dynamics::Rate, t_dynamics::Source, thermal, and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

STATIC void DynaSaveLast ( void   ) 
void DynaStartZone ( void   ) 
void DynaZero ( void   ) 
void ParseDynaTime ( Parser p  ) 
void ParseDynaWind ( Parser p  ) 
STATIC double timestep_next ( void   ) 

Definition at line 140 of file dynamics.cpp.

References cdTemp(), DEBUG_ENTRY, dynamics, ioQQQ, t_dynamics::lgRecom, MAX2, MIN2, SDIV(), t_dynamics::timestep, t_dynamics::timestep_init, and TotalInsanity().

Referenced by DynaIterEnd().

Here is the call graph for this function:


Variable Documentation

double AdvecSpecificEnthalpy [static]

Definition at line 98 of file dynamics.cpp.

Referenced by DynaIonize(), DynaPrtZone(), DynaSave(), DynaStartZone(), and DynaZero().

Definition at line 137 of file dynamics.cpp.

Referenced by DynaEndZone(), DynaIterEnd(), DynaPresChngFactor(), and DynaZero().

double Dyn_dr [static]

Definition at line 95 of file dynamics.cpp.

Referenced by DynaIonize(), DynaIterEnd(), DynaNewStep(), and DynaStartZone().

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), DynaPrtZone(), and DynaSaveLast().

int iphUpstream = -1 [static]

Definition at line 44 of file dynamics.cpp.

Referenced by DynaIterEnd(), and DynaStartZone().

int ipUpstream = -1 [static]

Definition at line 44 of file dynamics.cpp.

Referenced by DynaIonize(), DynaIterEnd(), and DynaStartZone().

int ipyUpstream = -1 [static]

Definition at line 44 of file dynamics.cpp.

Referenced by DynaIterEnd(), and DynaStartZone().

Definition at line 78 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

Definition at line 79 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

long int nOld_zone [static]

Definition at line 134 of file dynamics.cpp.

Referenced by DynaNewStep(), DynaSaveLast(), DynaStartZone(), and DynaZero().

long int nTime_flux = 0 [static]

Definition at line 83 of file dynamics.cpp.

Referenced by DynaIterEnd(), DynaIterStart(), and ParseDynaTime().

realnum** Old_CO_molec [static]

Definition at line 122 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaNewStep(), DynaSaveLast(), and DynaStartZone().

realnum * Old_DenMass [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

realnum * Old_depth [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), and DynaStartZone().

realnum * Old_ednstr [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaSaveLast(), and DynaStartZone().

realnum** Old_gas_phase [static]

Definition at line 128 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

realnum** Old_H2_molec [static]

Definition at line 121 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaNewStep(), DynaSaveLast(), and DynaStartZone().

realnum * Old_hden [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaNewStep(), DynaSaveLast(), and DynaStartZone().

realnum * Old_hiistr [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

realnum* Old_histr [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

realnum * Old_pressure [static]

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

realnum**** Old_StatesElemNEW [static]

Definition at line 131 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaNewStep(), DynaSaveLast(), and DynaStartZone().

realnum*** Old_xIonDense [static]

Definition at line 125 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), DynaNewStep(), DynaSaveLast(), and DynaStartZone().

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

double * time_dt [static]

Definition at line 74 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

double * time_dt_scale_factor [static]

Definition at line 74 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

double* time_elapsed_time [static]

Definition at line 74 of file dynamics.cpp.

Referenced by DynaIterEnd(), DynaIterStart(), and ParseDynaTime().

double * time_flux_ratio [static]

Definition at line 74 of file dynamics.cpp.

Referenced by DynaIterStart(), and ParseDynaTime().

double* Upstream_CO_molec [static]

Definition at line 68 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), and DynaStartZone().

double* Upstream_H2_molec [static]

Definition at line 65 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), and DynaStartZone().

double* UpstreamElem [static]

Definition at line 62 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), and DynaStartZone().

double** UpstreamIon [static]

Definition at line 59 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), and DynaStartZone().

double*** UpstreamStatesElemNEW [static]

Definition at line 60 of file dynamics.cpp.

Referenced by DynaCreateArrays(), DynaIonize(), and DynaStartZone().

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 15 Nov 2012 for cloudy by  doxygen 1.6.1