#include "energy.h"
#include "flux.h"
Go to the source code of this file.
Data Structures | |
class | phymir_state< X, Y, NP, NSTR > |
struct | t_optimize |
Typedefs | |
typedef double | chi2_type |
Enumerations | |
enum | phymir_mode { PHYMIR_ILL, PHYMIR_SEQ, PHYMIR_FORK, PHYMIR_MPI } |
Functions | |
bool | lgOptimize_do (void) |
void | vary_input (bool *lgLimOK, int grid_index) |
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[], const realnum[], long, chi2_type *, realnum) |
chi2_type | optimize_func (const realnum param[], int grid_index=-1) |
Variables | |
const realnum | VRSNEW = realnum(4.00) |
const chi2_type | BIG_CHI2 = chi2_type(FLT_MAX) |
const long | LIMEXT = 5L |
const long | LIMPAR = 20L |
EXTERN char | chOptimFileName [INPUT_LINE_LENGTH] |
EXTERN struct t_optimize | optimize |
typedef double chi2_type |
Definition at line 49 of file optimize.h.
enum phymir_mode |
Definition at line 65 of file optimize.h.
bool lgOptimize_do | ( | void | ) |
called instead of cloudy to do optimize routine,
Definition at line 13 of file optimize_do.cpp.
References AS_LOCAL_ONLY, called, cdEXIT, t_input::chCardSav, chOptimFileName, t_optimize::chOptRtn, t_optimize::chVarFmt, cpu, DEBUG_ENTRY, input, ioQQQ, lgAbort, t_prt::lgFaintOn, t_cpu::lgMaster(), t_cpu::lgMPI_talk(), t_optimize::lgOptimFlow, t_called::lgTalk, t_called::lgTalkIsOK, LIMPAR, t_optimize::nIterOptim, t_optimize::nOptimiz, NPLXMX, t_input::nSave, t_optimize::nvarxt, t_optimize::nvary, t_optimize::nvfpnt, open_data(), t_optimize::OptGlobalErr, optimize, optimize_func(), optimize_phymir(), optimize_subplex(), prt, TotalInsanity(), t_optimize::varang, t_optimize::varmax, t_optimize::varmin, t_optimize::vincr, and t_optimize::vparm.
Referenced by grid_do().
optimize_func actual function called during evaluation of optimization run
Definition at line 20 of file optimize_func.cpp.
References AS1RAD, ASSERT, BIG_CHI2, called, cap4(), cdColm(), cdEXIT, cdLine(), cdTemp(), cdWarnings(), t_tag_LineSv::chALab, t_input::chCardSav, t_optimize::chColDen_label, chi2_func(), t_optimize::chLineLabel, t_optimize::chOptRtn, t_optimize::chTempLab, t_optimize::chTempWeight, t_optimize::chVarFmt, cloudy(), t_optimize::ColDen_error, t_optimize::ColDen_Obs, t_optimize::ContEner, t_optimize::ContIndex, t_optimize::ContNFnu, t_optimize::ContNFnuErr, t_radius::Conv2PrtInten, cpu, DEBUG_ENTRY, t_radius::distance, grid, input, Singleton< t_PredCont >::Inst(), t_optimize::ion_ColDen, t_optimize::ionTemp, ioQQQ, t_LineSave::ipNormWavL, t_optimize::ipobs, t_optimize::lgDiamInCM, t_grid::lgGrid, t_cpu::lgMPI(), t_optimize::lgOptDiam, t_optimize::lgOptimFlow, t_optimize::lgOptimize, t_optimize::lgOptLum, t_called::lgTalk, t_rfield::lgUSphON, LineSave, LineSv, max(), min(), t_optimize::nEmergent, t_optimize::nOptimiz, t_optimize::nOptLum, t_optimize::nvarxt, t_optimize::nvary, t_optimize::nvfpnt, t_PredCont::offset(), t_optimize::optDiam, t_optimize::optDiamErr, t_optimize::optier, optimize, t_optimize::optint, pow(), prt_wl(), t_radius::Radius, radius, rfield, t_rfield::rstrom, t_optimize::SavGenericData, t_LineSave::ScaleNormLine, SMALLFLOAT, t_tag_LineSv::SumLine, t_optimize::temp_error, t_optimize::temp_obs, t_optimize::varang, t_optimize::varmax, t_optimize::varmin, vary_input(), t_optimize::vparm, wavelength, t_tag_LineSv::wavelength, t_optimize::wavelength, t_optimize::xLineInt_error, t_optimize::xLineInt_Obs, and zero().
Referenced by evalf(), gridXspec(), lgOptimize_do(), and optimize_phymir().
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
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, t_usubc::bonus, cdcopy(), DEBUG_ENTRY, t_usubc::delta, evalf(), t_isubc::fbonus, fp_equal(), t_usubc::fstop, t_usubc::ftest, t_usubc::gamma, t_usubc::ifxsw, t_usubc::initx, t_isubc::IntNew, t_usubc::irepl, isubc, MAX2, t_usubc::minf, t_usubc::nfstop, t_usubc::nfxe, t_usubc::nsmax, t_usubc::nsmin, t_usubc::omega, partx(), POW2, t_usubc::psi, setstp(), t_isubc::sfstop, simplx(), sortd(), subopt(), and usubc.
Referenced by lgOptimize_do().
void vary_input | ( | bool * | lgLimOK, | |
int | grid_index | |||
) |
vary_input sets input lines to feed into cloudy in optimization runs
*lgLimOK |
Definition at line 11 of file vary_input.cpp.
References AS_LOCAL_ONLY, cdEXIT, t_input::chCardSav, t_save::chRedirectPrefix, t_optimize::chVarFmt, cpu, DEBUG_ENTRY, grid, GridPointPrefix(), input, ioQQQ, t_grid::lgGrid, t_cpu::lgMaster(), t_cpu::lgMPI(), t_optimize::lgOptimizeAsLinear, mode_w, nMatch(), t_input::nSave, t_optimize::nvarxt, t_optimize::nvary, t_optimize::nvfpnt, open_data(), optimize, save, TotalInsanity(), t_optimize::varang, and t_optimize::vparm.
Referenced by optimize_func().
Definition at line 51 of file optimize.h.
Referenced by chi2_func(), and optimize_func().
EXTERN char chOptimFileName[INPUT_LINE_LENGTH] |
file name for output, set in cddefines.c
Definition at line 63 of file optimize.h.
Referenced by grid_do(), InitCoreload(), lgOptimize_do(), and ParseOptimize().
const long LIMEXT = 5L |
the limit to the number of numbers on the command line
Definition at line 60 of file optimize.h.
Referenced by ParseTable(), and ParseTLaw().
const long LIMPAR = 20L |
Definition at line 61 of file optimize.h.
Referenced by grid_do(), gridXspec(), InitCoreload(), lgOptimize_do(), optimize_phymir(), ParseCommands(), ParseGrid(), punchFITS_ParamData(), punchFITS_ParamHeader(), punchFITS_SpectraData(), and punchFITS_SpectraHeader().
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(), GridGatherInCloudy(), gridXspec(), InitCoreload(), InitDefaultsPreparse(), lgCheckMonitors(), lgOptimize_do(), main(), optimize_func(), optimize_phymir(), ParseAtomISO(), ParseBlackbody(), ParseBremsstrahlung(), ParseCommands(), ParseConstant(), ParseCoronal(), ParseCosmicRays(), ParseDarkMatter(), ParseDistance(), ParseDLaw(), ParseElement(), ParseEnergy(), ParseFill(), ParseFudge(), ParseGlobule(), ParseGrain(), ParseGrid(), ParseHDEN(), ParseHExtra(), ParseIlluminate(), ParseIntensity(), ParseIonPar(), ParseLuminosity(), ParseMagnet(), ParseMetal(), ParseMonitorResults(), ParseOptimize(), ParsePhi(), ParsePowerlawContinuum(), ParseQH(), ParseRadius(), ParseRatio(), ParseSave(), ParseSet(), ParseStop(), ParseTable(), ParseTLaw(), ParseTurbulence(), SaveDo(), SetLimits(), and vary_input().
<I4> default to INTEGER*4
Definition at line 47 of file optimize.h.
Referenced by phymir_state< X, Y, NP, NSTR >::continue_from_state(), and phymir_state< X, Y, NP, NSTR >::p_clear1().