DirectApplicInterface Class Reference

and testers using direct procedure calls. More...

Inheritance diagram for DirectApplicInterface:

ApplicationInterface Interface ParallelDirectApplicInterface SerialDirectApplicInterface List of all members.

Public Member Functions

 DirectApplicInterface (const ProblemDescDB &problem_db)
 constructor
 ~DirectApplicInterface ()
 destructor
void derived_map (const Variables &vars, const ActiveSet &set, Response &response, int fn_eval_id)
 that is specific to a derived class.
void derived_map_asynch (const ParamResponsePair &pair)
 asynchronous evaluation that is specific to a derived class.
void derived_synch (PRPList &prp_list)
 classes. This version waits for at least one completion.
void derived_synch_nowait (PRPList &prp_list)
 any completions if none are immediately available.
int derived_synchronous_local_analysis (const int &analysis_id)
const StringArrayanalysis_drivers () const
 retrieve the analysis drivers specification for application interfaces

Protected Member Functions

virtual int derived_map_if (const String &if_name)
 execute the input filter portion of a direct evaluation invocation
virtual int derived_map_ac (const String &ac_name)
 execute an analysis code portion of a direct evaluation invocation
virtual int derived_map_of (const String &of_name)
 execute the output filter portion of a direct evaluation invocation
void set_local_data (const Variables &vars, const ActiveSet &set, const Response &response)
 variable attributes and zeros response data
void overlay_response (Response &response)
 response contributions from multiple analyses using MPI_Reduce

Protected Attributes

String iFilterName
 name of the direct function input filter
String oFilterName
 name of the direct function output filter
bool gradFlag
 signals use of fnGrads in direct simulator functions
bool hessFlag
 signals use of fnHessians in direct simulator functions
size_t numFns
 number of functions in fnVals
size_t numVars
 total number of continuous and discrete variables
size_t numACV
 total number of continuous variables
size_t numADV
 total number of discete variables
size_t numDerivVars
 number of active derivative variables
RealVector xC
 continuous variables used within direct simulator fns
IntVector xD
 discrete variables used within direct simulator fns
StringArray xCLabels
 continuous variable labels
StringArray xDLabels
 discrete variable labels
ShortArray directFnASV
 class scope active set vector
UIntArray directFnDVV
 class scope derivative variables vector
RealVector fnVals
 response fn values within direct simulator fns
RealMatrix fnGrads
 response fn gradients w/i direct simulator fns
RealMatrixArray fnHessians
 response fn Hessians w/i direct simulator fns
StringArray analysisDrivers
 analysis_drivers interface specification)
size_t analysisDriverIndex
 the index of the active analysis driver within analysisDrivers
String2DArray analysisComponents
 (from the analysis_components interface specification)
engine * matlabEngine
 pointer to the MATLAB engine used for direct evaluations

Private Member Functions

int cantilever ()
 the cantilever UQ/OUU test function
int cyl_head ()
 the cylinder head constrained optimization test fn
int rosenbrock ()
 the Rosenbrock optimization and least squares test fn
int generalized_rosenbrock ()
 n-dimensional Rosenbrock (Schittkowski)
int extended_rosenbrock ()
 n-dimensional Rosenbrock (Nocedal/Wright)
int log_ratio ()
 the log_ratio UQ test function
int short_column ()
 the short_column UQ/OUU test function
int steel_column_cost ()
 the steel_column_cost UQ/OUU test function
int steel_column_perf ()
 the short_column_perf UQ/OUU test function
int text_book ()
 the text_book constrained optimization test function
int text_book1 ()
 portion of text_book() evaluating the objective fn
int text_book2 ()
 portion of text_book() evaluating constraint 1
int text_book3 ()
 portion of text_book() evaluating constraint 2
int text_book_ouu ()
 the text_book_ouu OUU test function
int multimodal ()
 multimodal UQ test function
int salinas ()
 direct interface to the SALINAS structural dynamics code
int mc_api_run ()
 direct interface to ModelCenter via API, HKIM 4/3/03
int matlab_engine_run ()
 direct interface to Matlab via API, BMA 11/28/05
int matlab_field_prep (mxArray *dakota_matlab, const char *field_name)
 add if necessary; free structure memory in preparation for new alloc
int python_run ()
 direct interface to Python via API, BMA 07/02/07
template<class ArrayT>
bool python_convert_int (const ArrayT &src, PyObject **dst)
 convert arrays of integer types to Python
bool python_convert (const RealVector &src, PyObject **dst)
 convert RealVector to Python list or numpy array
bool python_convert (const RealVector &c_src, const IntVector &d_src, PyObject **dst)
 convert RealVector + IntVector to Python mixed list or numpy double array
bool python_convert (const StringArray &src, PyObject **dst)
 convert labels
bool python_convert (const StringArray &c_src, const StringArray &d_src, PyObject **dst)
 convert all labels to single list
bool python_convert (PyObject *pyv, RealBaseVector &rv, const int &dim)
 convert python list of int or float to RealVector
bool python_convert (PyObject *pym, RealMatrix &rm)
 convert python list of lists of int or float to RealMatrix
bool python_convert (PyObject *pyma, RealMatrixArray &rma)
 convert python list of lists of lists of int or float to RealMatrixArray

Private Attributes

bool userNumpyFlag
 whether the user requested numpy data structures

Detailed Description

and testers using direct procedure calls.

DirectApplicInterface uses a few linkable simulation codes and several internal member functions to perform parameter to response mappings.


Member Function Documentation

int derived_synchronous_local_analysis ( const int &  analysis_id  )  [inline, virtual]

This code provides the derived function used by ApplicationInterface::serve_analyses_synch().

Reimplemented from ApplicationInterface.

int derived_map_ac ( const String ac_name  )  [protected, virtual]

execute an analysis code portion of a direct evaluation invocation

When a direct analysis/filter is a member function, the (vars,set,response) data does not need to be passed through the API. If, however, non-member analysis/filter functions are added, then pass (vars,set,response) through to the non-member fns:

    // API declaration
    int sim(const Variables& vars, const ActiveSet& set, Response& response);
    // use of API within derived_map_ac()
    if (ac_name == "sim")
      fail_code = sim(directFnVars, directFnActSet, directFnResponse);

Reimplemented in ParallelDirectApplicInterface, and SerialDirectApplicInterface.


The documentation for this class was generated from the following files:
Generated on Wed Nov 5 19:54:06 2008 for DAKOTA by  doxygen 1.5.1