Cloudy
Spectral Synthesis Code for Astrophysics
Loading...
Searching...
No Matches
newton_step.cpp File Reference
#include "cddefines.h"
#include "newton_step.h"
#include "conv.h"
#include "thirdparty.h"
#include "mole.h"
#include "mole_priv.h"
#include "trace.h"
#include "save.h"
Include dependency graph for newton_step.cpp:

Macros

#define MAT(a, I_, J_)
 

Enumerations

enum  { PRINTSOL = false }
 

Functions

STATIC void mole_system_error (long n, long merror, const valarray< double > &a, const valarray< double > &b)
 
bool newton_step (GroupMap &MoleMap, const valarray< double > &b0vec, valarray< double > &b2vec, realnum *eqerror, realnum *error, const long n, double *rlimit, double *rmax, valarray< double > &escale, void(*jacobn)(GroupMap &MoleMap, const valarray< double > &b2vec, double *const ervals, double *const amat, const bool lgJac, bool *lgConserve))
 
int32 solve_system (const valarray< double > &a, valarray< double > &b, long int n, error_print_t error_print)
 

Macro Definition Documentation

◆ MAT

#define MAT ( a,
I_,
J_ )
Value:
((a)[(I_)*(n)+(J_)])
#define J_(A_)
Definition iso.h:25

Referenced by newton_step().

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PRINTSOL 

Function Documentation

◆ mole_system_error()

STATIC void mole_system_error ( long n,
long merror,
const valarray< double > & a,
const valarray< double > & b )

References fprintf(), groupspecies, ioQQQ, mole_print_species_reactions(), and STATIC.

Referenced by newton_step().

Here is the call graph for this function:

◆ newton_step()

bool newton_step ( GroupMap & mole_map,
const valarray< double > & oldmols,
valarray< double > & newmols,
realnum * eqerror,
realnum * error,
const long n,
double * rlimit,
double * rmax,
valarray< double > & escale,
void(* jacobn )(GroupMap &mole_map, const valarray< double > &b2vec, double *const ervals, double *const amat, const bool lgJac, bool *lgConserved) )

Take one Newton step

Parameters
*nBad
*error

References conv, DEBUG_ENTRY, e1(), e2(), fprintf(), get_ptr(), groupspecies, ioQQQ, MAT, MIN2, mole_system_error(), SMALLABUND, solve_system(), and trace.

Referenced by mole_solve().

Here is the call graph for this function:

◆ solve_system()

int32 solve_system ( const valarray< double > & a,
valarray< double > & b,
long int n,
error_print_t error_print )

References ASSERT, DEBUG_ENTRY, fprintf(), get_ptr(), getrf_wrapper(), getrs_wrapper(), ioQQQ, maxe, and NULL.

Referenced by find_solution(), newton_step(), and Atom_LevelN::operator()().

Here is the call graph for this function: