Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
t_dynamics Struct Reference

#include <dynamics.h>

Inheritance diagram for t_dynamics:
Collaboration diagram for t_dynamics:

Public Member Functions

const char * chName () const
 
void zero ()
 
void comment (t_warnings &)
 
bool isInitialRelaxIteration (long int iteration)
 isInitialRelaxIteration - Check if initial iteration
 
bool doNonEquilibriumSolve (long int iteration)
 
double Cool ()
 
double Heat ()
 
double dCooldT ()
 
- Public Member Functions inherited from module
 module ()
 
virtual ~module ()
 

Public Attributes

bool lgAdvection
 
double Cool_r
 
double Heat_v
 
double dHeatdT
 
double CoolMax
 
double HeatMax
 
double Rate
 
multi_arr< double, 2 > Source
 
multi_arr< double, 3 > StatesElem
 
vector< double > molecules
 
bool lgISO [NISO]
 
bool lgMETALS
 
bool lgCoolHeat
 
bool lg_coronal_time_init
 
bool lgTimeDependentStatic
 
double time_elapsed
 
bool lgRecom
 
bool lgStatic_completed
 
double AdvecLengthInit
 
double FluxCenter
 
char chPresMode [20]
 
double ShockDepth
 
double ShockMach
 
long int n_initial_relax
 
double FluxScale
 
bool lgFluxDScale
 
double FluxIndex
 
double dRad
 
double oldFullDepth
 
double convergence_error
 
double convergence_tolerance
 
double discretization_error
 
double error_scale1
 
double error_scale2
 
bool lgSetPresMode
 
realnum Upstream_density
 
realnum DivergePresInteg
 
bool lgEquilibrium
 
bool lgTracePrint
 
double timestep_init
 
double timestep
 
double timestep_stop
 
double timestep_factor
 

Detailed Description

all of these are initialized in zero

Member Function Documentation

◆ chName()

const char * t_dynamics::chName ( ) const
inlinevirtual

Implements module.

◆ comment()

void t_dynamics::comment ( t_warnings & )
inlinevirtual

Implements module.

◆ Cool()

double t_dynamics::Cool ( )

References Cool_r, Heat_v, MERGE, phycon, and scalingDensity().

Here is the call graph for this function:

◆ dCooldT()

double t_dynamics::dCooldT ( )

References Cool_r, phycon, and pressure.

◆ doNonEquilibriumSolve()

bool t_dynamics::doNonEquilibriumSolve ( long int iteration)

◆ Heat()

double t_dynamics::Heat ( )

References Cool_r, Heat_v, MERGE, phycon, and scalingDensity().

Here is the call graph for this function:

◆ isInitialRelaxIteration()

bool t_dynamics::isInitialRelaxIteration ( long int iteration)

isInitialRelaxIteration - Check if initial iteration

At the beginning of a dynamical run, a number of steady-state iterations are performed to relax the solution before any dynamical solves are done. This method checks if the given iteration is one of the initial relaxation iterations.

Parameters
[in]iterationiteration number
Returns
bool true, if initial iteration; else false

References DEBUG_ENTRY, iteration, and n_initial_relax.

◆ zero()

Member Data Documentation

◆ AdvecLengthInit

double t_dynamics::AdvecLengthInit

the initial value of the advection length, reset with set advection length

Referenced by zero().

◆ chPresMode

char t_dynamics::chPresMode[20]

flag set by the "set dynamics pressure mode" command

◆ convergence_error

double t_dynamics::convergence_error

convergence_error and discretization_error give estimates of convergence: :: convergence_error – change between the last iterations; :: discretization_error – error in the upstream interpolation. When (and if) discretization_error >> convergence_error, the interpolation length should be decreased.

They should both be based on the same norm of the models, but what norm may be experimented with – at present, it's H+/Htot just weighted by cell number, which makes the estimates sensitive to the structure of the primary ionization front.

◆ convergence_tolerance

double t_dynamics::convergence_tolerance

the allowed rel error, by default 0.1

Referenced by zero().

◆ Cool_r

double t_dynamics::Cool_r

advective cooling minus heating (erg cm^-3 s^-1)

Referenced by Cool(), dCooldT(), Heat(), and zero().

◆ CoolMax

double t_dynamics::CoolMax

largest fraction of cooling and heating

Referenced by zero().

◆ dHeatdT

double t_dynamics::dHeatdT

Referenced by zero().

◆ discretization_error

double t_dynamics::discretization_error

the error to be expected based on the coarseness of current advection length

Referenced by zero().

◆ DivergePresInteg

realnum t_dynamics::DivergePresInteg

Referenced by zero().

◆ dRad

double t_dynamics::dRad

the proposed thickness for the next zone when advection is included

Referenced by zero().

◆ error_scale1

double t_dynamics::error_scale1

two ways of scaling the error estimate for convergence

◆ error_scale2

double t_dynamics::error_scale2

Referenced by zero().

◆ FluxCenter

double t_dynamics::FluxCenter

the center of the particle flux law

Referenced by zero().

◆ FluxIndex

double t_dynamics::FluxIndex

the power law index of the particle flux law

Referenced by zero().

◆ FluxScale

double t_dynamics::FluxScale

the scale of the particle flux law

Referenced by zero().

◆ Heat_v

double t_dynamics::Heat_v

Referenced by Cool(), Heat(), and zero().

◆ HeatMax

double t_dynamics::HeatMax

Referenced by zero().

◆ lg_coronal_time_init

bool t_dynamics::lg_coronal_time_init

var set with coronal time init - says to use constant temperature on first relax iterations then let temp run free

◆ lgAdvection

bool t_dynamics::lgAdvection

is advection turned on ?, set to false in zero

Referenced by doNonEquilibriumSolve(), and zero().

◆ lgCoolHeat

bool t_dynamics::lgCoolHeat

factor to turn off advective cooling

Referenced by zero().

◆ lgEquilibrium

bool t_dynamics::lgEquilibrium

Enforce equilibrium populations

Referenced by doNonEquilibriumSolve(), and zero().

◆ lgFluxDScale

bool t_dynamics::lgFluxDScale

whether we also need to scale by the face density

Referenced by zero().

◆ lgISO

bool t_dynamics::lgISO[NISO]

factor to turn off advection for H-like or He-like iso seq, no advection h-like, he-like

Referenced by zero().

◆ lgMETALS

bool t_dynamics::lgMETALS

factor to turn off advection for rest of ions, "no advection metals"

Referenced by zero().

◆ lgRecom

bool t_dynamics::lgRecom

true if recombination logic in place

Referenced by zero().

◆ lgSetPresMode

bool t_dynamics::lgSetPresMode

flag set true if set dynamics flow type was set - this means to use the specified option, and not to derive one

Referenced by zero().

◆ lgStatic_completed

bool t_dynamics::lgStatic_completed

true if model ends since time dependent model is finished

Referenced by zero().

◆ lgTimeDependentStatic

bool t_dynamics::lgTimeDependentStatic

set true if time dependent static simulation

Referenced by doNonEquilibriumSolve(), and zero().

◆ lgTracePrint

bool t_dynamics::lgTracePrint

◆ molecules

vector<double> t_dynamics::molecules

save molecular network densities

◆ n_initial_relax

long int t_dynamics::n_initial_relax

set how many iterations we will start with, before allowing changes. This allows the solution to relax to an equilibrium set with "set dynamics relax" command

Referenced by doNonEquilibriumSolve(), isInitialRelaxIteration(), and zero().

◆ oldFullDepth

double t_dynamics::oldFullDepth

the depth of the last iteration

◆ Rate

double t_dynamics::Rate

the advection rate (s^-1)

Referenced by doNonEquilibriumSolve(), and zero().

◆ ShockDepth

double t_dynamics::ShockDepth

the shock depth in cm set with "set dynamics shock depth" command

◆ ShockMach

double t_dynamics::ShockMach

the isothermal Mach number at which to insert an antishock set with "set dynamics antishock Mach" command

◆ Source

multi_arr<double,2> t_dynamics::Source

the advective recombination rate (cm^-3 s^-1)

◆ StatesElem

multi_arr<double,3> t_dynamics::StatesElem

the advective isolevel balance terms

◆ time_elapsed

double t_dynamics::time_elapsed

elapsed time in time dependent static model

Referenced by zero().

◆ timestep

double t_dynamics::timestep

◆ timestep_factor

double t_dynamics::timestep_factor

Referenced by zero().

◆ timestep_init

double t_dynamics::timestep_init

Referenced by zero().

◆ timestep_stop

double t_dynamics::timestep_stop

◆ Upstream_density

realnum t_dynamics::Upstream_density

Upstream density

Referenced by zero().


The documentation for this struct was generated from the following files: