18 #ifndef dakota_application_h 
   19 #define dakota_application_h 
   24 #include <deal.II/base/parameter_handler.h> 
   38 #include <ParallelLibrary.hpp> 
   39 #include <ProblemDescDB.hpp> 
   40 #include <DakotaStrategy.hpp> 
   41 #include <DakotaModel.hpp> 
   42 #include <DirectApplicInterface.hpp> 
   84                           std::string parameter_file);
 
   99         void assign_interface(Dakota::DirectApplicInterface* optimization_interface);
 
  180         void write_method(std::stringstream& inputss, std::string& method_id, std::string method_name, std::string 
model_ptr);
 
  184         void write_responses(std::stringstream& inputss, 
int id, std::string method_name);
 
  197                        << 
"A "  << arg1 << 
" with name \"" << arg2 << 
"\" is not stored in available FCST design variables. Please define the variable in DakotaApplication class and in set_parameters in the appropriate class");
 
unsigned int n_nl_con
Number of non-linear constraints. 
Definition: dakota_application.h:288
 
double convergence_tol
Optimization convergence tolerance. 
Definition: dakota_application.h:383
 
std::string input_file
Name of the analysis input file. 
Definition: dakota_application.h:318
 
double constraint_tol
Optimization constraint tolerance. 
Definition: dakota_application.h:387
 
Dakota::RealVector vars_results()
Function retrieves and returns the final optimum design variables. 
 
std::vector< double > eval_max
Hybrid Optimization method specific function evaluation maximums. 
Definition: dakota_application.h:423
 
unsigned int n_con
Total number of constraints = n_nl_con + n_eq_con. 
Definition: dakota_application.h:296
 
double num_offspring
JEGA - Number of Offspring and Parent. 
Definition: dakota_application.h:637
 
double x_conv_tol
NL2SOL Parameter convergence tolerance. 
Definition: dakota_application.h:459
 
double threshold_delta
Definition: dakota_application.h:567
 
void write_variables(std::stringstream &inputss, int id)
Member function to write Dakota input file based on specified variables. 
 
unsigned int n_obj
Number of objective functions. 
Definition: dakota_application.h:284
 
std::string merit_function
OPT++ merit function. 
Definition: dakota_application.h:447
 
int rand_pareto_weights
Number of random weights for generating objective function pareto set. 
Definition: dakota_application.h:391
 
std::string n_gradient_type
Numerical Gradients type for Dakota optimization. 
Definition: dakota_application.h:227
 
std::vector< std::string > model_ptr
Hybrid Optimization model string identifiers. 
Definition: dakota_application.h:415
 
double num_parents
Definition: dakota_application.h:638
 
Dakota::RealVector step_design_var
Dakota vector of design variable step sizes for numerical gradients. 
Definition: dakota_application.h:514
 
std::vector< int > part_design_var
Parameter Study Partition vector Set number of partitions for multidim_parameter_study NOTE: Evaluate...
Definition: dakota_application.h:435
 
std::string replacement_type_moga
Definition: dakota_application.h:624
 
std::vector< double > iter_max
Hybrid Optimization method specific iteration maximums. 
Definition: dakota_application.h:427
 
std::string mutation_type
Optimization - OPT++ Search method . 
Definition: dakota_application.h:610
 
std::string optimization_method
Optimization Method - OPT++, NL2SOL, multidim_parameter_study, etc. 
Definition: dakota_application.h:357
 
bool use_dakota_input_file
Flag to use an input file from Dakota Specify interface, method, and strategy options, number of variables, number of responses/constrants. 
Definition: dakota_application.h:337
 
std::vector< std::string > hybrid_opt_method
Hybrid Optimization method names. 
Definition: dakota_application.h:407
 
std::vector< std::string > method_list
Hybrid Optimization method string identifiers. 
Definition: dakota_application.h:411
 
int max_iter
Maximum number of optimization iterations. 
Definition: dakota_application.h:375
 
void assign_interface(Dakota::DirectApplicInterface *optimization_interface)
Assign the direct interface to the simulation code which is of type Dakota::DirectApplicInterface. 
 
double false_conv_tol
NL2SOL Parameter false convergence tolerance. 
Definition: dakota_application.h:463
 
unsigned int n_eq_con
Number of equality constraints. 
Definition: dakota_application.h:292
 
double volume_boxsize_limit
NCSU parameter. 
Definition: dakota_application.h:484
 
void write_method(std::stringstream &inputss, std::string &method_id, std::string method_name, std::string model_ptr)
Member function to write Dakota input file based on method selection. 
 
void synchronize_variables(unsigned int &n_dvar, unsigned int &n_resp, std::vector< std::string > &name_design_var, std::vector< std::string > &name_responses)
This function is used to remotely axcess the number and name of design_variables, number and name of ...
 
void declare_parameters(ParameterHandler ¶m)
Declare all parameters that are needed for optimization. 
 
unsigned int n_resp
Number of responses = n_obj + n_con. 
Definition: dakota_application.h:300
 
std::vector< std::string > all_name_design_var
Member that stores the name of all possible design variables that have been defined in FCST...
Definition: dakota_application.h:308
 
void run()
This function will first lock the problem_db preventing anychanges to the data. 
 
int rand_start_points
Number of random weights for generating objective function pareto set. 
Definition: dakota_application.h:395
 
Dakota::RealVector eq_constraint
Dakota vector of equality constraints. 
Definition: dakota_application.h:526
 
DakotaApplication(boost::shared_ptr< Dakota::ProblemDescDB > global_problem_db, std::string parameter_file)
Constructor for an object of this class. 
 
Dakota::RealVector resp_results()
Function retrieves and returns the optimum response values. 
 
std::string crossover_type
JEGA - crossover_type. 
Definition: dakota_application.h:614
 
Dakota::RealVector lb_nl_constraint
Dakota vector of nonlinear constraint lower bounds. 
Definition: dakota_application.h:518
 
bool NLS_flag
Nonlinear Least-Squares Parameter Estimation Flag. 
Definition: dakota_application.h:361
 
double contraction_factor
Definition: dakota_application.h:568
 
double abs_conv_tol
NL2SOL absolute convergence tolerance. 
Definition: dakota_application.h:455
 
boost::shared_ptr< Dakota::ProblemDescDB > problem_db
Pointer to the problem description data base. 
Definition: dakota_application.h:322
 
bool n_gradients
Numerical Gradients option for Dakota optimization. 
Definition: dakota_application.h:210
 
Dakota::StringArray scale_types
Dakota vector of design variable scale methods. 
Definition: dakota_application.h:510
 
std::string dakota_version
Dakota version used. 
Definition: dakota_application.h:328
 
void manage_inputs(ParameterHandler ¶m)
Declares & Initializes all parameters, creates Dakota input file. 
 
void write_multi_start_dakota_input_file()
Write Dakota input file for multi-start optimization strategy. 
 
void write_single_method_dakota_input_file()
Write Dakota input file for single optimization strategy. 
 
double centering_param
Centering parameter for the opt++ strategy. 
Definition: dakota_application.h:541
 
std::string dakota_input
Name of the Dakota input file. 
Definition: dakota_application.h:341
 
double final_solutions
NCSU parameter. 
Definition: dakota_application.h:476
 
int m_data_points
NL2SOL Parameter storing the number of terms. 
Definition: dakota_application.h:467
 
double trust_rad
NL2SOL initial trust radius. 
Definition: dakota_application.h:451
 
double solution_target
NCSU parameter. 
Definition: dakota_application.h:472
 
std::vector< std::string > name_responses
Member that stores the name of the responses, i.e. 
Definition: dakota_application.h:313
 
Dakota::StringArray dakota_name_design_var
Dakota array of design variable names. 
Definition: dakota_application.h:490
 
double step_to_boundary
OPT++ steplength. 
Definition: dakota_application.h:439
 
Dakota::RealVector ub_nl_constraint
Dakota vector of nonlinear constraint upper bounds. 
Definition: dakota_application.h:522
 
void write_responses(std::stringstream &inputss, int id, std::string method_name)
Member function to write Dakota input file based on specified response variables. ...
 
double min_boxsize_limit
NCSU parameter. 
Definition: dakota_application.h:480
 
void write_pareto_dakota_input_file()
Write Dakota input file for pareto optimization strategy. 
 
Dakota::Strategy selected_strategy
DAKOTA strategy. 
Definition: dakota_application.h:536
 
bool a_gradients
Analytical Gradients option for Dakota optimization. 
Definition: dakota_application.h:202
 
Dakota::RealVector lb_design_var
Dakota vector of design variable lower bounds. 
Definition: dakota_application.h:498
 
std::string convergence_type_moga
Definition: dakota_application.h:633
 
This class is used to interface with DAKOTA as an algorithm library. 
Definition: dakota_application.h:76
 
int n_hybrid_methods
Number of Hybrid Optimization methods. 
Definition: dakota_application.h:403
 
std::string replacement_type
JEGA - replacement_type. 
Definition: dakota_application.h:623
 
Dakota::RealVector ip_design_var
Dakota vector of design variable initial points. 
Definition: dakota_application.h:494
 
bool use_NLS()
Get boolean NLS flag. 
Definition: dakota_application.h:129
 
double initial_delta
Optimization SCOLIB (COLINY) - COBYLA (Constrained Optimization By Linear Appoximations) [coliny_coby...
Definition: dakota_application.h:566
 
unsigned int n_dvar
Number of design variables. 
Definition: dakota_application.h:280
 
std::string convergence_type
JEGA - convergence_type. 
Definition: dakota_application.h:632
 
double grad_tol
OPT++ gradient tolerance. 
Definition: dakota_application.h:443
 
std::vector< std::string > name_design_var
Member that stores the name of the design variables. 
Definition: dakota_application.h:304
 
std::string fitness_type
JEGA - fitness_type. 
Definition: dakota_application.h:618
 
Dakota::RealVector scale_design_var
Dakota vector of design variable scales. 
Definition: dakota_application.h:506
 
std::string NLS_data_file
Experimental data file for NLS parameter estimation - Operating Conditions & output. 
Definition: dakota_application.h:371
 
int max_f_eval
Maximum number of optimization function evaluations. 
Definition: dakota_application.h:379
 
Dakota::RealVector ub_design_var
Dakota vector of design variable upper bounds. 
Definition: dakota_application.h:502
 
void initialize(ParameterHandler ¶m)
Read in parameters for the parameter handler in order to initialize data.These parameters are read in...
 
std::string initialization_type
JEGA - initialization_type. 
Definition: dakota_application.h:628
 
DeclException2(DesignVariableNotFoundInFCSTDesignVariables, std::string, std::string,<< "A "<< arg1<< " with name \""<< arg2<< "\" is not stored in available FCST design variables. Please define the variable in DakotaApplication class and in set_parameters in the appropriate class")
Exception thrown when a user defined design variables is not found among available FCST design variab...
 
bool scaling
Used to activate scaling. 
Definition: dakota_application.h:367
 
std::string optimization_strategy
Optimization Strategy - Single, Pareto, Multi start point, Hybrid. 
Definition: dakota_application.h:349
 
void write_hybrid_dakota_input_file()
Write Dakota input file for hybrid optimization strategy. 
 
std::string fitness_type_moga
Definition: dakota_application.h:619
 
std::vector< double > tol
Hybrid Optimization method specific tolerances. 
Definition: dakota_application.h:419
 
std::string hybrid_strategy
Hybrid Optimization strategy - sequential, etc. 
Definition: dakota_application.h:399
 
bool hessians
Analytical Hessian Option for Dakota optimization. 
Definition: dakota_application.h:231