cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Member Functions | Private Attributes
phymir_state< X, Y, NP, NSTR > Class Template Reference

#include <optimize.h>

Collaboration diagram for phymir_state< X, Y, NP, NSTR >:
Collaboration graph
[legend]

Public Member Functions

 phymir_state ()
 
void clear ()
 
void init_minmax (const X[], const X[], int)
 
void init_state_file_name (const char *)
 
void init_strings (const char *, const char *, const char *)
 
void initial_run (Y(*)(const X[], int), int, const X[], const X[], X, int, phymir_mode, int)
 
void continue_from_state (Y(*)(const X[], int), int, const char *, X, int, phymir_mode, int)
 
void optimize ()
 
void optimize_with_restart ()
 
bool lgMaxIterExceeded () const
 
bool lgInitialized () const
 
bool lgConverged () const
 
bool lgConvergedRestart () const
 
xval (int i) const
 
xmin (int i) const
 
xmax (int i) const
 
yval () const
 
int32 noptim () const
 

Private Member Functions

void p_clear1 ()
 
void p_wr_state (const char *) const
 
void p_rd_state (const char *)
 
p_execute_job (const X[], int, int)
 
void p_execute_job_parallel (const X[], int, int) const
 
void p_barrier (int, int)
 
void p_process_output (int, int)
 
void p_evaluate_hyperblock ()
 
void p_setup_next_hyperblock ()
 
void p_reset_hyperblock ()
 
void p_phygrm (X[][NP], int)
 
bool p_lgLimitExceeded (const X[]) const
 
p_delta (int i, int j) const
 
void p_reset_transformation_matrix ()
 

Private Attributes

p_xmax
 
p_ymax
 
p_xp [2 *NP+1][NP]
 
p_yp [2 *NP+1]
 
p_absmin [NP]
 
p_absmax [NP]
 
p_varmin [NP]
 
p_varmax [NP]
 
p_a2 [NP][NP]
 
p_c1 [NP]
 
p_c2 [NP]
 
p_xc [NP]
 
p_xcold [NP]
 
p_vers
 
p_toler
 
p_dmax
 
p_dold
 
p_ymin
 
int32 p_dim
 
int32 p_sdim
 
int32 p_nvar
 
int32 p_noptim
 
int32 p_maxiter
 
int32 p_jmin
 
int32 p_maxcpu
 
int32 p_curcpu
 
phymir_mode p_mode
 
char p_chState [NSTR]
 
char p_chStr1 [NSTR]
 
char p_chStr2 [NSTR]
 
char p_chStr3 [NSTR]
 
uint32 p_size
 
Y(* p_func )(const X[], int)
 

Detailed Description

template<class X, class Y = X, int NP = 32, int NSTR = 32>
class phymir_state< X, Y, NP, NSTR >

Definition at line 71 of file optimize.h.

Constructor & Destructor Documentation

template<class X, class Y = X, int NP = 32, int NSTR = 32>
phymir_state< X, Y, NP, NSTR >::phymir_state ( )
inline

Definition at line 128 of file optimize.h.

References phymir_state< X, Y, NP, NSTR >::p_clear1().

Here is the call graph for this function:

Member Function Documentation

template<class X, class Y = X, int NP = 32, int NSTR = 32>
void phymir_state< X, Y, NP, NSTR >::clear ( )
inline

Definition at line 129 of file optimize.h.

References phymir_state< X, Y, NP, NSTR >::p_clear1().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::continue_from_state ( Y(*)(const X[], int)  func,
int  nvar,
const char *  fnam,
toler,
int  maxiter,
phymir_mode  mode,
int  maxcpu 
)

Definition at line 580 of file optimize_phymir.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fp_equal(), and VRSNEW.

Referenced by optimize_phymir().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::init_minmax ( const X  pmin[],
const X  pmax[],
int  nvar 
)

Definition at line 485 of file optimize_phymir.cpp.

References ASSERT, and DEBUG_ENTRY.

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::init_state_file_name ( const char *  fnam)

Definition at line 519 of file optimize_phymir.cpp.

References DEBUG_ENTRY.

Referenced by optimize_phymir().

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::init_strings ( const char *  date,
const char *  version,
const char *  host_name 
)

Definition at line 501 of file optimize_phymir.cpp.

References DEBUG_ENTRY.

Referenced by optimize_phymir().

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::initial_run ( Y(*)(const X[], int)  func,
int  nvar,
const X  start[],
const X  del[],
toler,
int  maxiter,
phymir_mode  mode,
int  maxcpu 
)

Definition at line 528 of file optimize_phymir.cpp.

References ASSERT, DEBUG_ENTRY, max(), and min().

Referenced by optimize_phymir().

Here is the call graph for this function:

template<class X, class Y = X, int NP = 32, int NSTR = 32>
bool phymir_state< X, Y, NP, NSTR >::lgConverged ( ) const
inline
template<class X , class Y , int NP, int NSTR>
bool phymir_state< X, Y, NP, NSTR >::lgConvergedRestart ( ) const

Definition at line 658 of file optimize_phymir.cpp.

References DEBUG_ENTRY, dist(), and pow2().

Here is the call graph for this function:

template<class X, class Y = X, int NP = 32, int NSTR = 32>
bool phymir_state< X, Y, NP, NSTR >::lgInitialized ( ) const
inline

Definition at line 138 of file optimize.h.

References phymir_state< X, Y, NP, NSTR >::p_nvar.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
bool phymir_state< X, Y, NP, NSTR >::lgMaxIterExceeded ( ) const
inline
template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::noptim ( ) const
inline

Definition at line 145 of file optimize.h.

References phymir_state< X, Y, NP, NSTR >::p_noptim.

Referenced by optimize_phymir().

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::optimize ( )

Definition at line 625 of file optimize_phymir.cpp.

References ASSERT, and DEBUG_ENTRY.

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::optimize_with_restart ( )

Definition at line 642 of file optimize_phymir.cpp.

References ASSERT, DEBUG_ENTRY, and optimize.

Referenced by optimize_phymir().

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_barrier ( int  jlo,
int  jhi 
)
private

Definition at line 212 of file optimize_phymir.cpp.

References DEBUG_ENTRY, MPI_Barrier, MPI_Bcast, PHYMIR_FORK, PHYMIR_MPI, PHYMIR_SEQ, TotalInsanity(), and wait.

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_clear1 ( )
private

Definition at line 34 of file optimize_phymir.cpp.

References DEBUG_ENTRY, max(), PHYMIR_ILL, and VRSNEW.

Referenced by phymir_state< X, Y, NP, NSTR >::clear(), and phymir_state< X, Y, NP, NSTR >::phymir_state().

Here is the call graph for this function:

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_delta ( int  i,
int  j 
) const
inlineprivate

Definition at line 123 of file optimize.h.

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_evaluate_hyperblock ( )
private

Definition at line 265 of file optimize_phymir.cpp.

References DEBUG_ENTRY, max(), and min().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
Y phymir_state< X, Y, NP, NSTR >::p_execute_job ( const X  x[],
int  jj,
int  runNr 
)
private

Definition at line 128 of file optimize_phymir.cpp.

References cdEXIT, cpu, DEBUG_ENTRY, EXIT_FAILURE, EXIT_SUCCESS, fork, fprintf(), t_cpu::i(), ioQQQ, t_cpu_i::nCPU(), t_cpu_i::nRANK(), PHYMIR_FORK, PHYMIR_MPI, PHYMIR_SEQ, pid_t, TotalInsanity(), and wait.

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_execute_job_parallel ( const X  x[],
int  jj,
int  runNr 
) const
private

Definition at line 178 of file optimize_phymir.cpp.

References DEBUG_ENTRY, ioQQQ, open_data(), and wr_block().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
bool phymir_state< X, Y, NP, NSTR >::p_lgLimitExceeded ( const X  x[]) const
private

Definition at line 459 of file optimize_phymir.cpp.

References DEBUG_ENTRY.

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_phygrm ( a[][NP],
int  n 
)
private

Definition at line 432 of file optimize_phymir.cpp.

References DEBUG_ENTRY, and pow2().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_process_output ( int  jlo,
int  jhi 
)
private

Definition at line 244 of file optimize_phymir.cpp.

References append_file(), cpu, DEBUG_ENTRY, t_cpu::i(), ioQQQ, t_cpu_i::lgMaster(), and rd_block().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_rd_state ( const char *  fnam)
private

Definition at line 109 of file optimize_phymir.cpp.

References AS_LOCAL_ONLY, cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, and open_data().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_reset_hyperblock ( )
private

Definition at line 414 of file optimize_phymir.cpp.

References DEBUG_ENTRY.

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_reset_transformation_matrix ( )
private

Definition at line 474 of file optimize_phymir.cpp.

References DEBUG_ENTRY.

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_setup_next_hyperblock ( )
private

Definition at line 296 of file optimize_phymir.cpp.

References DEBUG_ENTRY, F1, F2, max(), min(), MIN2, and pow2().

Here is the call graph for this function:

template<class X , class Y , int NP, int NSTR>
void phymir_state< X, Y, NP, NSTR >::p_wr_state ( const char *  fnam) const
private

Definition at line 88 of file optimize_phymir.cpp.

References AS_LOCAL_ONLY_TRY, cpu, DEBUG_ENTRY, t_cpu::i(), t_cpu_i::lgMaster(), and open_data().

Here is the call graph for this function:

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::xmax ( int  i) const
inline

Definition at line 143 of file optimize.h.

References min(), phymir_state< X, Y, NP, NSTR >::p_absmax, and phymir_state< X, Y, NP, NSTR >::p_varmax.

Referenced by optimize_phymir().

Here is the call graph for this function:

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::xmin ( int  i) const
inline

Definition at line 142 of file optimize.h.

References max(), phymir_state< X, Y, NP, NSTR >::p_absmin, and phymir_state< X, Y, NP, NSTR >::p_varmin.

Referenced by optimize_phymir().

Here is the call graph for this function:

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::xval ( int  i) const
inline

Definition at line 141 of file optimize.h.

References phymir_state< X, Y, NP, NSTR >::p_xc.

Referenced by optimize_phymir().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
Y phymir_state< X, Y, NP, NSTR >::yval ( ) const
inline

Definition at line 144 of file optimize.h.

References phymir_state< X, Y, NP, NSTR >::p_ymin.

Referenced by optimize_phymir().

Field Documentation

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_a2[NP][NP]
private

Definition at line 81 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_absmax[NP]
private

Definition at line 78 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::xmax().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_absmin[NP]
private

Definition at line 77 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::xmin().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_c1[NP]
private

Definition at line 82 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_c2[NP]
private

Definition at line 83 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
char phymir_state< X, Y, NP, NSTR >::p_chState[NSTR]
private

Definition at line 100 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
char phymir_state< X, Y, NP, NSTR >::p_chStr1[NSTR]
private

Definition at line 101 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
char phymir_state< X, Y, NP, NSTR >::p_chStr2[NSTR]
private

Definition at line 102 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
char phymir_state< X, Y, NP, NSTR >::p_chStr3[NSTR]
private

Definition at line 103 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_curcpu
private

Definition at line 98 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_dim
private

Definition at line 91 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_dmax
private

Definition at line 88 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::lgConverged().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_dold
private

Definition at line 89 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
Y(* phymir_state< X, Y, NP, NSTR >::p_func)(const X[], int)
private

Definition at line 107 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_jmin
private

Definition at line 96 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_maxcpu
private

Definition at line 97 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_maxiter
private

Definition at line 95 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::lgMaxIterExceeded().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
phymir_mode phymir_state< X, Y, NP, NSTR >::p_mode
private

Definition at line 99 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_noptim
private
template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_nvar
private

Definition at line 93 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::lgInitialized().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
int32 phymir_state< X, Y, NP, NSTR >::p_sdim
private

Definition at line 92 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
uint32 phymir_state< X, Y, NP, NSTR >::p_size
private

Definition at line 106 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_toler
private

Definition at line 87 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::lgConverged().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_varmax[NP]
private

Definition at line 80 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::xmax().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_varmin[NP]
private

Definition at line 79 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::xmin().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_vers
private

Definition at line 86 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_xc[NP]
private

Definition at line 84 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::xval().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_xcold[NP]
private

Definition at line 85 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_xmax
private

Definition at line 73 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
X phymir_state< X, Y, NP, NSTR >::p_xp[2 *NP+1][NP]
private

Definition at line 75 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
Y phymir_state< X, Y, NP, NSTR >::p_ymax
private

Definition at line 74 of file optimize.h.

template<class X, class Y = X, int NP = 32, int NSTR = 32>
Y phymir_state< X, Y, NP, NSTR >::p_ymin
private

Definition at line 90 of file optimize.h.

Referenced by phymir_state< X, Y, NP, NSTR >::yval().

template<class X, class Y = X, int NP = 32, int NSTR = 32>
Y phymir_state< X, Y, NP, NSTR >::p_yp[2 *NP+1]
private

Definition at line 76 of file optimize.h.


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