cloudy trunk
Loading...
Searching...
No Matches
mole_solve.cpp File Reference
#include "cddefines.h"
#include "called.h"
#include "dense.h"
#include "deuterium.h"
#include "ionbal.h"
#include "thermal.h"
#include "phycon.h"
#include "hmi.h"
#include "dynamics.h"
#include "conv.h"
#include "trace.h"
#include "timesc.h"
#include "mole.h"
#include "mole_priv.h"
#include "grainvar.h"
#include "h2.h"
#include "newton_step.h"
Include dependency graph for mole_solve.cpp:

Go to the source code of this file.

Macros

#define SMALLABUND   1e-24
#define ABSLIM   1e-12
#define ERRLIM   1e-12
#define MAT(a, I_, J_)

Enumerations

enum  { PRINTSOL = false }

Functions

void check_co_ion_converge (void)
STATIC void funjac (GroupMap &MoleMap, const valarray< double > &b2vec, double *const ervals, double *const amat, const bool lgJac, bool *lgConserve)
STATIC void mole_h_fixup (void)
STATIC void grouped_elems (const double bvec[], double mole_elems[])
double mole_solve ()
STATIC void mole_eval_dynamic_balance (long int num_total, double *b, bool lgJac, multi_arr< double, 2 > &c)

Macro Definition Documentation

◆ ABSLIM

#define ABSLIM   1e-12

Definition at line 331 of file mole_solve.cpp.

◆ ERRLIM

#define ERRLIM   1e-12

Definition at line 332 of file mole_solve.cpp.

◆ MAT

#define MAT ( a,
I_,
J_ )
Value:
((a)[(I_)*(mole_global.num_compacted)+(J_)])
#define J_(A_)
Definition iso.h:23
t_mole_global mole_global
Definition mole.cpp:6

Definition at line 336 of file mole_solve.cpp.

Referenced by funjac().

◆ SMALLABUND

#define SMALLABUND   1e-24

Definition at line 47 of file mole_solve.cpp.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PRINTSOL 

Definition at line 340 of file mole_solve.cpp.

Function Documentation

◆ check_co_ion_converge()

void check_co_ion_converge ( void )

Definition at line 242 of file mole_solve.cpp.

References conv, DEBUG_ENTRY, dense, findspecieslocal(), ipCARBON, ipOXYGEN, and SDIV().

Referenced by mole_solve().

Here is the call graph for this function:

◆ funjac()

STATIC void funjac ( GroupMap & MoleMap,
const valarray< double > & b2vec,
double *const ervals,
double *const amat,
const bool lgJac,
bool * lgConserve )

◆ grouped_elems()

STATIC void grouped_elems ( const double bvec[],
double mole_elems[] )

Definition at line 544 of file mole_solve.cpp.

References atom_list, groupspecies, mole_global, and STATIC.

Referenced by funjac(), and GroupMap::setup().

◆ mole_eval_dynamic_balance()

STATIC void mole_eval_dynamic_balance ( long int num_total,
double * b,
bool lgJac,
multi_arr< double, 2 > & c )

Definition at line 720 of file mole_solve.cpp.

References ASSERT, DEBUG_ENTRY, dense, dynamics, iteration, LIMELM, mole, mole_eval_balance(), mole_global, source, STATIC, and unresolved_atom_list.

Referenced by funjac().

Here is the call graph for this function:

◆ mole_h_fixup()

STATIC void mole_h_fixup ( void )

Definition at line 276 of file mole_solve.cpp.

References DEBUG_ENTRY, molezone::den, dense, findspecieslocal(), gv, h2, hmi, ipHYDROGEN, mole, mole_global, SMALLFLOAT, and STATIC.

Referenced by mole_solve().

Here is the call graph for this function:

◆ mole_solve()

double mole_solve ( void )

mole_solve fills in matrix for heavy elements molecular routines

Definition at line 49 of file mole_solve.cpp.

References ASSERT, atom_list, BIGFLOAT, check_co_ion_converge(), conv, DEBUG_ENTRY, dense, fixit(), fnzone, funjac(), get_ptr(), hmi, ionbal, ioQQQ, ipHYDROGEN, lgElemsConserved(), mole, mole_global, mole_h_fixup(), mole_return_cached_species(), MOLE_SOLVE, MOLE_SOLVE_STEPS, newton_step(), nzone, phycon, SDIV(), GroupMap::setup(), SMALLABUND, trace, and GroupMap::updateMolecules().

Referenced by mole_drive().

Here is the call graph for this function: