/home66/gary/public_html/cloudy/c08_branch/source/optimize.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t_optimize

Defines

#define VRSNEW   3.00f
#define CNTFILE   "continue.pmr"
#define LIMEXT   5L
#define LIMPAR   20L
#define NCOLLM   100L
#define NOBSLM   100L

Functions

bool lgOptimize_do (void)
void vary_input (bool *lgLimOK)
void optimize_subplex (long int n, double tol, long int maxnfe, long int mode, realnum scale[], realnum x[], realnum *fx, long int *nfe, realnum work[], long int iwork[], long int *iflag)
void optimize_phymir (realnum[], realnum[], long, realnum *, realnum)
double optimize_func (realnum param[])

Variables

EXTERN char chOptimFileName [INPUT_LINE_LENGTH]
EXTERN struct t_optimize optimize


Define Documentation

#define CNTFILE   "continue.pmr"

this is the name of the file that optimize_phymir automatically creates containing information to continue the optimization at a later time.

Definition at line 49 of file optimize.h.

#define LIMEXT   5L

the limit to the number of numbers on the command line

Definition at line 58 of file optimize.h.

#define LIMPAR   20L

Definition at line 59 of file optimize.h.

Referenced by cdInit(), grid_do(), gridXspec(), lgOptimize_do(), optimize_phymir(), ParseGrid(), punchFITS_ParamData(), punchFITS_ParamHeader(), punchFITS_SpectraData(), and punchFITS_SpectraHeader().

#define NCOLLM   100L

Definition at line 60 of file optimize.h.

Referenced by GetOptColDen().

#define NOBSLM   100L

Definition at line 61 of file optimize.h.

Referenced by GetOptLineInt(), GetOptTemp(), and optimize_func().

#define VRSNEW   3.00f

<I4> default to INTEGER*4

Definition at line 45 of file optimize.h.

Referenced by rd_continue().


Function Documentation

bool lgOptimize_do ( void   ) 

called instead of cloudy to do optimize routine,

Returns:
return value is 0 if calculation is ok, 1 if disaster

Definition at line 13 of file optimize_do.cpp.

References t_optimize::chOptRtn, DEBUG_ENTRY, LIMPAR, NPLXMX, t_optimize::nvary, t_optimize::OptGlobalErr, optimize, optimize_phymir(), t_optimize::vincr, and t_optimize::vparm.

Here is the call graph for this function:

double optimize_func ( realnum  param[]  ) 

optimize_func actual function called during evaluation of optimization run

Definition at line 18 of file optimize_func.cpp.

References ASSERT, cap4(), cdEXIT, cdLine(), cdTemp(), cdWarnings(), chi2_func(), t_optimize::chLineLabel, t_optimize::chTempLab, t_optimize::chTempWeight, cloudy(), DEBUG_ENTRY, grid, t_optimize::ionTemp, ioQQQ, t_LineSave::ipNormWavL, t_grid::lgGrid, t_LineSave::lgLineEmergent, t_optimize::lgOptimFlow, t_optimize::lgOptimize, t_optimize::lgOptLin, t_optimize::lgOptTemp, LineSave, LineSv, MAX2, MAXCAT, MIN2, t_optimize::nlobs, NOBSLM, t_optimize::nOptimiz, t_optimize::nTempObs, t_optimize::nvary, optimize, PrintE82(), prt_wl(), t_optimize::SavGenericData, t_LineSave::ScaleNormLine, t_optimize::temp_error, t_optimize::temp_obs, t_optimize::varmax, t_optimize::varmin, vary_input(), t_optimize::vparm, t_optimize::vpused, t_optimize::wavelength, wavelength, t_optimize::xLineInt_error, t_optimize::xLineInt_Obs, and zero().

Referenced by evalf().

Here is the call graph for this function:

void optimize_phymir ( realnum  [],
realnum  [],
long  ,
realnum ,
realnum   
)

Referenced by lgOptimize_do().

void optimize_subplex ( long int  n,
double  tol,
long int  maxnfe,
long int  mode,
realnum  scale[],
realnum  x[],
realnum fx,
long int *  nfe,
realnum  work[],
long int  iwork[],
long int *  iflag 
)

optimize_subplex is the main driver, and only exposed, routine for the cowan downhill simplex routine

Parameters:
n 
tol 
maxnfe 
mode 
scale[] 
x[] 
*fx 
*nfe 
work[] 
iwork[] 
*iflag 

Definition at line 64 of file optimize_subplx.cpp.

References t_usubc::alpha, t_usubc::beta, DEBUG_ENTRY, fp_equal(), subopt(), and usubc.

Here is the call graph for this function:

void vary_input ( bool *  lgLimOK  ) 

vary_input sets input lines to feed into cloudy in optimization runs

Parameters:
*lgLimOK 

Definition at line 9 of file vary_input.cpp.

References t_input::chCardSav, t_optimize::chVarFmt, DEBUG_ENTRY, input, ioQQQ, MAX2, MIN2, t_optimize::nvarxt, t_optimize::nvary, t_optimize::nvfpnt, optimize, t_optimize::varang, t_optimize::vparm, and t_optimize::vpused.

Referenced by optimize_func().


Variable Documentation

EXTERN char chOptimFileName[INPUT_LINE_LENGTH]

file name for output, set in cddefines.c

Definition at line 63 of file optimize.h.

Referenced by InitCoreload(), and ParseOptimize().

EXTERN struct t_optimize optimize

logical variable says whether current line image has vary option

optimize increments, deltas for changing optimized variables range for optimize command io unit for final best parameters from optimizer limit to number of iterations for optimizer, set with optimize iterations command set with optimize tolerance command, used for global match to fit default set in scalar to 0.10 current counter for the number of calls to the optimizer
lgTrOpt flag set with optimization trace command
nTrOpt is which call to cloudy to turn on trace
flags set if we are to optimize lines, luminosity, or colums

labels for column densities on vary command
this specifies the optimization routine
'amoe', 'powe', 'bubr'

Referenced by abund_starburst(), cdDrive(), cdInit(), cdRead(), GetOptColDen(), GetOptLineInt(), GetOptTemp(), grid_do(), GridGatherAfterCloudy(), gridXspec(), InitDefaultsPreparse(), lgCheckAsserts(), lgOptimize_do(), optimize_func(), optimize_phymir(), ParseAssertResults(), ParseCommands(), ParseConstant(), ParseCoronal(), ParseCosmicRays(), ParseGlobule(), ParseGrain(), ParseGrid(), ParseHDEN(), ParseIonPar(), ParseMagnet(), ParseOptimize(), ParsePowerlawContinuum(), ParsePunch(), ParseRadius(), ParseRatio(), ParseSet(), ParseStop(), SetLimits(), and vary_input().


Generated on Mon Feb 16 12:09:48 2009 for cloudy by  doxygen 1.4.7