cloudy trunk
Loading...
Searching...
No Matches
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.

Macros

#define NTIME   200
#define MERGE   0

Functions

STATIC void DynaNewStep (void)
STATIC void DynaSaveLast (void)
STATIC double timestep_next (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

t_dynamics dynamics
static int ipUpstream =-1
static int iphUpstream =-1
static int ipyUpstream =-1
static double ** UpstreamIon
static double *** UpstreamStatesElem
static double * UpstreamElem
static double * Upstream_molecules
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_density
static realnumOld_DenMass
static realnumEnthalpyDensity
static realnumOld_ednstr
static realnumOld_EnthalpyDensity
static realnum ** Old_molecules
static realnum *** Old_xIonDense
static realnum ** Old_gas_phase
static realnum **** Old_StatesElem
static long int nOld_zone

Macro Definition Documentation

◆ MERGE

#define MERGE   0

Definition at line 2172 of file dynamics.cpp.

Referenced by t_dynamics::Cool(), and t_dynamics::Heat().

◆ NTIME

#define NTIME   200

Definition at line 78 of file dynamics.cpp.

Referenced by ParseDynaTime().

Function Documentation

◆ advection_set_default()

STATIC void advection_set_default ( bool lgWind)

Definition at line 1609 of file dynamics.cpp.

References conv, cosmology, DEBUG_ENTRY, dynamics, pressure, STATIC, and thermal.

Referenced by ParseDynaTime(), and ParseDynaWind().

◆ DynaCreateArrays()

void DynaCreateArrays ( void )

DynaCreateArrays allocate some space needed to save the dynamics structure variables, called from atmdat_readin

Definition at line 1400 of file dynamics.cpp.

References DEBUG_ENTRY, dense, dynamics, EnthalpyDensity, fixit(), ipH_LIKE, ipHYDROGEN, iso_sp, LIMELM, MALLOC, mole_global, NISO, Old_DenMass, Old_density, Old_depth, Old_ednstr, Old_EnthalpyDensity, Old_gas_phase, Old_hiistr, Old_histr, Old_molecules, Old_pressure, Old_StatesElem, Old_xIonDense, Old_xLyman_depth, struc, Upstream_molecules, UpstreamElem, UpstreamIon, and UpstreamStatesElem.

Referenced by atmdat_readin().

Here is the call graph for this function:

◆ DynaEndZone()

void DynaEndZone ( void )

DynaEndZone called at end of iteration when advection is turned on

Definition at line 853 of file dynamics.cpp.

References DEBUG_ENTRY, DynaFlux(), dynamics, ioQQQ, radius, and wind.

Referenced by ZoneEnd().

Here is the call graph for this function:

◆ DynaFlux()

realnum DynaFlux ( double depth)

Definition at line 1292 of file dynamics.cpp.

References DEBUG_ENTRY, dense, and dynamics.

Referenced by DynaEndZone(), PresTotCurrent(), and stepDensity().

◆ DynaIonize()

void DynaIonize ( void )

DynaIonize, called from ionize to evaluate advective terms for current conditions

Definition at line 186 of file dynamics.cpp.

References AdvecSpecificEnthalpy, ASSERT, DEBUG_ENTRY, dense, Dyn_dr, dynamics, EnthalpyDensity, ioQQQ, ipCARBON, ipH_LIKE, ipHYDROGEN, ipUpstream, iso_sp, iteration, LIMELM, mole_global, NISO, nzone, Old_depth, Old_xIonDense, phycon, POW2, pressure, radius, scalingDensity(), struc, thermal, Upstream_molecules, UpstreamElem, UpstreamIon, UpstreamStatesElem, and wind.

Referenced by ConvBase().

Here is the call graph for this function:

◆ DynaIterEnd()

void DynaIterEnd ( void )

routine called at end of iteration when advection is turned on

Definition at line 874 of file dynamics.cpp.

References ASSERT, cosmology, DEBUG_ENTRY, Dyn_dr, dynamics, DynaNewStep(), DynaSaveLast(), GetHubbleFactor(), ioQQQ, iphUpstream, ipUpstream, ipyUpstream, iteration, iterations, lgtime_dt_specified, lgtime_Recom, nTime_flux, phycon, pressure, radius, rfield, scalingDensity(), StopCalc, thermal, time_dt, time_dt_scale_factor, time_elapsed_time, timestep_next(), and wind.

Referenced by IterRestart().

Here is the call graph for this function:

◆ DynaIterStart()

void DynaIterStart ( void )

routine called at start of iteration when advection is turned on

Definition at line 2207 of file dynamics.cpp.

References cdEXIT, DEBUG_ENTRY, dynamics, EXIT_FAILURE, hextra, ioQQQ, iteration, linint(), nTime_flux, rfield, time_elapsed_time, and time_flux_ratio.

Referenced by IterStart().

Here is the call graph for this function:

◆ DynaNewStep()

STATIC void DynaNewStep ( void )

◆ DynaPrtZone()

void DynaPrtZone ( void )

DynaPrtZone - called to print zone results

Definition at line 2009 of file dynamics.cpp.

References AdvecSpecificEnthalpy, ASSERT, DEBUG_ENTRY, dense, dynamics, EnthalpyDensity, ioQQQ, nzone, phycon, POW2, pressure, scalingDensity(), struc, thermal, timesc, and wind.

Referenced by PrtZone().

Here is the call graph for this function:

◆ DynaPunchTimeDep()

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

DynaPunchTimeDep - save info about time dependent solution

Parameters
ipPnunit
*chJob

Definition at line 2039 of file dynamics.cpp.

References cdIonFrac(), cdTemp(), colden, cosmology, DEBUG_ENTRY, dense, dynamics, findspecieslocal(), ipCOL_HTOT, ipHYDROGEN, rfield, scalingDensity(), SDIV(), and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

◆ DynaSave()

void DynaSave ( FILE * ipPnunit,
char chJob )

DynaSave save info related to advection

Parameters
ipPnunit
chJob

Definition at line 2148 of file dynamics.cpp.

References AdvecSpecificEnthalpy, DEBUG_ENTRY, dynamics, ipHYDROGEN, phycon, radius, scalingDensity(), thermal, and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

◆ DynaSaveLast()

◆ DynaStartZone()

void DynaStartZone ( void )

◆ DynaZero()

void DynaZero ( void )

DynaZero zero some dynamics variables, called from zero.c

Definition at line 1321 of file dynamics.cpp.

References AdvecSpecificEnthalpy, BIGFLOAT, DEBUG_ENTRY, dynamics, ipH_LIKE, NISO, and nOld_zone.

Referenced by zero().

◆ ParseDynaTime()

void ParseDynaTime ( Parser & p)

◆ ParseDynaWind()

void ParseDynaWind ( Parser & p)
Todo
2 Need to include divergence terms in pressure balance if flux index is != 0
Todo
2 Need to include divergence terms in pressure balance if flux index is != 0

Definition at line 1798 of file dynamics.cpp.

References advection_set_default(), BIGDOUBLE, cdEXIT, DEBUG_ENTRY, dense, dynamics, EXIT_FAILURE, Parser::getNumberCheck(), Parser::getNumberDefault(), Parser::getNumberPlain(), ioQQQ, Parser::nMatch(), pressure, and wind.

Referenced by ParseCommands().

Here is the call graph for this function:

◆ timestep_next()

STATIC double timestep_next ( void )

Definition at line 134 of file dynamics.cpp.

References cdTemp(), DEBUG_ENTRY, dynamics, ioQQQ, MAX2, MIN2, SDIV(), STATIC, and TotalInsanity().

Referenced by DynaIterEnd().

Here is the call graph for this function:

Variable Documentation

◆ AdvecSpecificEnthalpy

double AdvecSpecificEnthalpy
static

Definition at line 96 of file dynamics.cpp.

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

◆ Dyn_dr

double Dyn_dr
static

Definition at line 93 of file dynamics.cpp.

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

◆ dynamics

◆ EnthalpyDensity

realnum * EnthalpyDensity
static

Definition at line 113 of file dynamics.cpp.

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

◆ iphUpstream

int iphUpstream =-1
static

Definition at line 45 of file dynamics.cpp.

Referenced by DynaIterEnd(), and DynaStartZone().

◆ ipUpstream

int ipUpstream =-1
static

Definition at line 45 of file dynamics.cpp.

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

◆ ipyUpstream

int ipyUpstream =-1
static

Definition at line 45 of file dynamics.cpp.

Referenced by DynaIterEnd(), and DynaStartZone().

◆ lgtime_dt_specified

bool lgtime_dt_specified

Definition at line 76 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

◆ lgtime_Recom

int* lgtime_Recom

Definition at line 77 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

◆ nOld_zone

long int nOld_zone
static

Definition at line 131 of file dynamics.cpp.

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

◆ nTime_flux

long int nTime_flux =0
static

Definition at line 81 of file dynamics.cpp.

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

◆ Old_DenMass

realnum * Old_DenMass
static

Definition at line 111 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ Old_density

realnum * Old_density
static

Definition at line 109 of file dynamics.cpp.

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

◆ Old_depth

realnum * Old_depth
static

Definition at line 103 of file dynamics.cpp.

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

◆ Old_ednstr

realnum * Old_ednstr
static

Definition at line 115 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ Old_EnthalpyDensity

realnum * Old_EnthalpyDensity
static

Definition at line 117 of file dynamics.cpp.

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

◆ Old_gas_phase

realnum** Old_gas_phase
static

Definition at line 125 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ Old_hiistr

realnum * Old_hiistr
static

Definition at line 105 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ Old_histr

realnum* Old_histr
static

Definition at line 99 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ Old_molecules

realnum** Old_molecules
static

Definition at line 119 of file dynamics.cpp.

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

◆ Old_pressure

realnum * Old_pressure
static

Definition at line 107 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ Old_StatesElem

realnum**** Old_StatesElem
static

Definition at line 128 of file dynamics.cpp.

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

◆ Old_xIonDense

realnum*** Old_xIonDense
static

Definition at line 122 of file dynamics.cpp.

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

◆ Old_xLyman_depth

realnum * Old_xLyman_depth
static

Definition at line 101 of file dynamics.cpp.

Referenced by DynaCreateArrays(), and DynaSaveLast().

◆ time_dt

double * time_dt
static

Definition at line 74 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

◆ time_dt_scale_factor

double * time_dt_scale_factor
static

Definition at line 75 of file dynamics.cpp.

Referenced by DynaIterEnd(), and ParseDynaTime().

◆ time_elapsed_time

double* time_elapsed_time
static

Definition at line 72 of file dynamics.cpp.

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

◆ time_flux_ratio

double * time_flux_ratio
static

Definition at line 73 of file dynamics.cpp.

Referenced by DynaIterStart(), and ParseDynaTime().

◆ Upstream_molecules

double* Upstream_molecules
static

Definition at line 66 of file dynamics.cpp.

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

◆ UpstreamElem

double* UpstreamElem
static

Definition at line 63 of file dynamics.cpp.

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

◆ UpstreamIon

double** UpstreamIon
static

Definition at line 60 of file dynamics.cpp.

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

◆ UpstreamStatesElem

double*** UpstreamStatesElem
static

Definition at line 61 of file dynamics.cpp.

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