Dakota
Version
Explore and Predict with Confidence
|
Base class for the variables class hierarchy. More...
Public Member Functions | |
Variables () | |
default constructor | |
Variables (const ProblemDescDB &problem_db) | |
standard constructor (explicit disallows its use for implicit type conversion) | |
Variables (const SharedVariablesData &svd) | |
alternate constructor for instantiations on the fly (explicit disallows its use for implicit type conversion) | |
Variables (const Variables &vars) | |
copy constructor | |
virtual | ~Variables () |
destructor | |
Variables | operator= (const Variables &vars) |
assignment operator | |
virtual void | read (std::istream &s) |
read a variables object from an std::istream | |
virtual void | write (std::ostream &s, unsigned short vars_part=ALL_VARS) const |
write a variables object to an std::ostream, e.g., the console, optionally specifying which partition (all/active/inactive) | |
virtual void | write_aprepro (std::ostream &s) const |
write a variables object to an std::ostream in aprepro format, e.g., a parameters file | |
virtual void | read_annotated (std::istream &s) |
read a variables object in annotated format from an istream | |
virtual void | write_annotated (std::ostream &s) const |
write a variables object in annotated format to an std::ostream | |
virtual void | read_tabular (std::istream &s, unsigned short vars_part=ALL_VARS) |
read a variables object in tabular format from an istream, optionally specifying which partition (all/active/inactive) | |
virtual void | write_tabular (std::ostream &s, unsigned short vars_part=ALL_VARS) const |
write a variables object in tabular format to an std::ostream, optionally specifying which partition (all/active/inactive) | |
virtual void | write_tabular_partial (std::ostream &s, size_t start_index, size_t num_items) const |
write range of variables in tabular format to an std::ostream | |
virtual void | write_tabular_labels (std::ostream &s, unsigned short vars_part=ALL_VARS) const |
write the labels in input spec order to a std::ostream, optionally specifying which partition (all/active/inactive) | |
virtual void | write_tabular_partial_labels (std::ostream &s, size_t start_index, size_t num_items) const |
write range of variable labels in input spec order to a std::ostream | |
virtual void | read (MPIUnpackBuffer &s) |
read a variables object from a packed MPI buffer | |
virtual void | write (MPIPackBuffer &s) const |
write a variables object to a packed MPI buffer | |
size_t | tv () const |
total number of vars | |
size_t | total_active () const |
total number of active vars | |
size_t | cv () const |
number of active continuous vars | |
size_t | cv_start () const |
start index of active continuous vars | |
size_t | div () const |
number of active discrete int vars | |
size_t | div_start () const |
start index of active discrete int vars | |
size_t | dsv () const |
number of active discrete string vars | |
size_t | dsv_start () const |
start index of active discrete string vars | |
size_t | drv () const |
number of active discrete real vars | |
size_t | drv_start () const |
start index of active discrete real vars | |
size_t | icv () const |
number of inactive continuous vars | |
size_t | icv_start () const |
start index of inactive continuous vars | |
size_t | idiv () const |
number of inactive discrete int vars | |
size_t | idiv_start () const |
start index of inactive discrete int vars | |
size_t | idsv () const |
number of inactive discrete string vars | |
size_t | idsv_start () const |
start index of inactive discrete string vars | |
size_t | idrv () const |
number of inactive discrete real vars | |
size_t | idrv_start () const |
start index of inactive discrete real vars | |
size_t | acv () const |
total number of continuous vars | |
size_t | adiv () const |
total number of discrete integer vars | |
size_t | adsv () const |
total number of discrete string vars | |
size_t | adrv () const |
total number of discrete real vars | |
const SharedVariablesData & | shared_data () const |
return sharedVarsData | |
SharedVariablesData & | shared_data () |
return sharedVarsData | |
void | shape () |
shape a Variables object based on sharedVarsData | |
void | reshape () |
reshape an existing Variables object based on updated sharedVarsData | |
Real | continuous_variable (size_t index) const |
return an active continuous variable | |
const RealVector & | continuous_variables () const |
return the active continuous variables (Note: returns a view by const reference, but initializing a RealVector from this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a mutable view, use continuous_variables_view()) | |
void | continuous_variable (Real c_var, size_t index) |
set an active continuous variable | |
void | continuous_variables (const RealVector &c_vars) |
set the active continuous variables | |
int | discrete_int_variable (size_t index) const |
return an active discrete integer variable | |
const IntVector & | discrete_int_variables () const |
return the active discrete integer variables (Note: returns a view by const reference, but initializing an IntVector from this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a mutable view, use discrete_int_variables_view()) | |
void | discrete_int_variable (int di_var, size_t index) |
set an active discrete integer variable | |
void | discrete_int_variables (const IntVector &di_vars) |
set the active discrete integer variables | |
const String & | discrete_string_variable (size_t index) const |
return an active discrete string variable | |
StringMultiArrayConstView | discrete_string_variables () const |
return the active discrete string variables (Note: returns a view by const reference, but initializing a StringArray from this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a mutable view, use discrete_string_variables_view()) | |
void | discrete_string_variable (const String &ds_var, size_t index) |
set an active discrete string variable | |
void | discrete_string_variables (StringMultiArrayConstView ds_vars) |
set the active discrete string variables | |
Real | discrete_real_variable (size_t index) const |
return an active discrete real variable | |
const RealVector & | discrete_real_variables () const |
return the active discrete real variables (Note: returns a view by const reference, but initializing a RealVector from this reference invokes the Teuchos matrix copy constructor to create a Teuchos::Copy instance; to obtain a mutable view, use discrete_real_variables_view()) | |
void | discrete_real_variable (Real dr_var, size_t index) |
set an active discrete real variable | |
void | discrete_real_variables (const RealVector &dr_vars) |
set the active discrete real variables | |
void | active_variables (const Variables &vars) |
copy the active cv/div/dsv/drv variables from vars | |
void | all_variables (const Variables &vars) |
copy all cv/div/dsv/drv variables from vars | |
void | active_to_all_variables (const Variables &vars) |
copy the active cv/div/dsv/drv variables from incoming vars to all variables in this instance | |
void | all_to_active_variables (const Variables &vars) |
copy all cv/div/dsv/drv variables from incoming vars to active variables in this instance | |
void | inactive_variables (const Variables &vars) |
copy the inactive cv/div/dsv/drv variables from vars | |
void | active_to_inactive_variables (const Variables &vars) |
copy the active cv/div/dsv/drv variables from vars to inactive on this | |
void | inactive_into_all_variables (const Variables &vars) |
insert the inactive cv/div/dsv/drv variables from vars into all arrays | |
RealVector & | continuous_variables_view () |
return a mutable view of the active continuous variables | |
IntVector & | discrete_int_variables_view () |
return a mutable view of the active discrete integer variables | |
StringMultiArrayView | discrete_string_variables_view () |
return a mutable view of the active discrete string variables More... | |
RealVector & | discrete_real_variables_view () |
return a mutable view of the active discrete real variables | |
StringMultiArrayConstView | continuous_variable_labels () const |
return the active continuous variable labels | |
void | continuous_variable_labels (StringMultiArrayConstView cv_labels) |
set the active continuous variable labels | |
void | continuous_variable_label (const String &cv_label, size_t index) |
set an active continuous variable label | |
StringMultiArrayConstView | discrete_int_variable_labels () const |
return the active discrete integer variable labels | |
void | discrete_int_variable_labels (StringMultiArrayConstView div_labels) |
set the active discrete integer variable labels | |
void | discrete_int_variable_label (const String &div_label, size_t index) |
set an active discrete integer variable label | |
StringMultiArrayConstView | discrete_string_variable_labels () const |
return the active discrete string variable labels | |
void | discrete_string_variable_labels (StringMultiArrayConstView dsv_labels) |
set the active discrete string variable labels | |
void | discrete_string_variable_label (const String &dsv_label, size_t index) |
set an active discrete string variable label | |
StringMultiArrayConstView | discrete_real_variable_labels () const |
return the active discrete real variable labels | |
void | discrete_real_variable_labels (StringMultiArrayConstView drv_labels) |
set the active discrete real variable labels | |
void | discrete_real_variable_label (const String &drv_label, size_t index) |
set an active discrete real variable label | |
void | active_labels (const Variables &vars) |
copy all cv/div/dsv/drv variable labels from vars | |
void | all_labels (const Variables &vars) |
copy all cv/div/dsv/drv variable labels from vars | |
void | active_to_all_labels (const Variables &vars) |
copy the active cv/div/dsv/drv variable labels from incoming vars to all variables in this instance | |
void | all_to_active_labels (const Variables &vars) |
copy all cv/div/dsv/drv variable labels from incoming vars to active variables in this instance | |
void | inactive_labels (const Variables &vars) |
copy the inactive cv/div/dsv/drv variable labels from vars | |
UShortMultiArrayConstView | continuous_variable_types () const |
return the active continuous variable types | |
void | continuous_variable_types (UShortMultiArrayConstView cv_types) |
set the active continuous variable types | |
void | continuous_variable_type (unsigned short cv_type, size_t index) |
set an active continuous variable type | |
UShortMultiArrayConstView | discrete_int_variable_types () const |
return the active discrete integer variable types | |
void | discrete_int_variable_types (UShortMultiArrayConstView div_types) |
set the active discrete integer variable types | |
void | discrete_int_variable_type (unsigned short div_type, size_t index) |
set an active discrete integer variable type | |
UShortMultiArrayConstView | discrete_string_variable_types () const |
return the active discrete string variable types | |
void | discrete_string_variable_types (UShortMultiArrayConstView dsv_types) |
set the active discrete string variable types | |
void | discrete_string_variable_type (unsigned short dsv_type, size_t index) |
set an active discrete string variable type | |
UShortMultiArrayConstView | discrete_real_variable_types () const |
return the active discrete real variable types | |
void | discrete_real_variable_types (UShortMultiArrayConstView drv_types) |
set the active discrete real variable types | |
void | discrete_real_variable_type (unsigned short drv_type, size_t index) |
set an active discrete real variable type | |
SizetMultiArrayConstView | continuous_variable_ids () const |
return the active continuous variable position identifiers | |
void | continuous_variable_ids (SizetMultiArrayConstView cv_ids) |
set the active continuous variable position identifiers | |
void | continuous_variable_id (size_t cv_id, size_t index) |
set an active continuous variable position identifier | |
const RealVector & | inactive_continuous_variables () const |
return the inactive continuous variables | |
void | inactive_continuous_variables (const RealVector &ic_vars) |
set the inactive continuous variables | |
void | inactive_continuous_variable (Real ic_var, size_t index) |
set an inactive continuous variable | |
const IntVector & | inactive_discrete_int_variables () const |
return the inactive discrete int variables | |
void | inactive_discrete_int_variables (const IntVector &idi_vars) |
set the inactive discrete int variables | |
void | inactive_discrete_int_variable (int idi_var, size_t index) |
set an inactive discrete int variable | |
StringMultiArrayConstView | inactive_discrete_string_variables () const |
return the inactive discrete string variables | |
void | inactive_discrete_string_variables (StringMultiArrayConstView ids_vars) |
set the inactive discrete string variables | |
void | inactive_discrete_string_variable (const String &ids_var, size_t index) |
set an inactive discrete string variable | |
const RealVector & | inactive_discrete_real_variables () const |
return the inactive discrete real variables | |
void | inactive_discrete_real_variables (const RealVector &idr_vars) |
set the inactive discrete real variables | |
void | inactive_discrete_real_variable (Real idr_var, size_t index) |
set an inactive discrete real variable | |
StringMultiArrayConstView | inactive_continuous_variable_labels () const |
return the inactive continuous variable labels | |
void | inactive_continuous_variable_labels (StringMultiArrayConstView ic_vars) |
set the inactive continuous variable labels | |
StringMultiArrayConstView | inactive_discrete_int_variable_labels () const |
return the inactive discrete variable labels | |
void | inactive_discrete_int_variable_labels (StringMultiArrayConstView idi_vars) |
set the inactive discrete variable labels | |
StringMultiArrayConstView | inactive_discrete_string_variable_labels () const |
return the inactive discrete variable labels | |
void | inactive_discrete_string_variable_labels (StringMultiArrayConstView ids_vars) |
set the inactive discrete variable labels | |
StringMultiArrayConstView | inactive_discrete_real_variable_labels () const |
return the inactive discrete variable labels | |
void | inactive_discrete_real_variable_labels (StringMultiArrayConstView idr_vars) |
set the inactive discrete variable labels | |
UShortMultiArrayConstView | inactive_continuous_variable_types () const |
return the inactive continuous variable types | |
UShortMultiArrayConstView | inactive_discrete_int_variable_types () const |
return the inactive discrete integer variable types | |
UShortMultiArrayConstView | inactive_discrete_string_variable_types () const |
return the inactive discrete string variable types | |
UShortMultiArrayConstView | inactive_discrete_real_variable_types () const |
return the inactive discrete real variable types | |
SizetMultiArrayConstView | inactive_continuous_variable_ids () const |
return the inactive continuous variable position identifiers | |
const RealVector & | all_continuous_variables () const |
returns a single array with all continuous variables | |
void | all_continuous_variables (const RealVector &ac_vars) |
sets all continuous variables using a single array | |
void | all_continuous_variable (Real ac_var, size_t index) |
set a variable within the all continuous array | |
const IntVector & | all_discrete_int_variables () const |
returns a single array with all discrete variables | |
void | all_discrete_int_variables (const IntVector &adi_vars) |
sets all discrete variables using a single array | |
void | all_discrete_int_variable (int adi_var, size_t index) |
set a variable within the all discrete array | |
StringMultiArrayConstView | all_discrete_string_variables () const |
returns a single array with all discrete variables | |
void | all_discrete_string_variables (StringMultiArrayConstView ads_vars) |
sets all discrete variables using a single array | |
void | all_discrete_string_variable (const String &ads_var, size_t index) |
set a variable within the all discrete array | |
const RealVector & | all_discrete_real_variables () const |
returns a single array with all discrete variables | |
void | all_discrete_real_variables (const RealVector &adr_vars) |
sets all discrete variables using a single array | |
void | all_discrete_real_variable (Real adr_var, size_t index) |
set a variable within the all discrete array | |
void | as_vector (const StringSetArray &dss_vals, RealVector &var_values) const |
get the active variables as a vector of reals, converting string values to zero-based set indices | |
StringMultiArrayView | all_continuous_variable_labels () const |
returns a single array with all continuous variable labels | |
void | all_continuous_variable_labels (StringMultiArrayConstView acv_labels) |
sets all continuous variable labels using a single array | |
void | all_continuous_variable_label (const String &acv_label, size_t index) |
set a label within the all continuous label array | |
StringMultiArrayView | all_discrete_int_variable_labels () const |
returns a single array with all discrete variable labels | |
void | all_discrete_int_variable_labels (StringMultiArrayConstView adiv_labels) |
sets all discrete variable labels using a single array | |
void | all_discrete_int_variable_label (const String &adiv_label, size_t index) |
set a label within the all discrete label array | |
StringMultiArrayView | all_discrete_string_variable_labels () const |
returns a single array with all discrete variable labels | |
void | all_discrete_string_variable_labels (StringMultiArrayConstView adsv_labels) |
sets all discrete variable labels using a single array | |
void | all_discrete_string_variable_label (const String &adsv_label, size_t index) |
set a label within the all discrete label array | |
StringMultiArrayView | all_discrete_real_variable_labels () const |
returns a single array with all discrete variable labels | |
void | all_discrete_real_variable_labels (StringMultiArrayConstView adrv_labels) |
sets all discrete variable labels using a single array | |
void | all_discrete_real_variable_label (const String &adrv_label, size_t index) |
set a label within the all discrete label array | |
UShortMultiArrayConstView | all_continuous_variable_types () const |
return all continuous variable types | |
UShortMultiArrayConstView | all_discrete_int_variable_types () const |
return all discrete variable types | |
UShortMultiArrayConstView | all_discrete_string_variable_types () const |
return all discrete variable types | |
UShortMultiArrayConstView | all_discrete_real_variable_types () const |
return all discrete variable types | |
SizetMultiArrayConstView | all_continuous_variable_ids () const |
return all continuous variable position identifiers | |
SizetMultiArrayConstView | all_discrete_int_variable_ids () const |
return all discrete integer variable position identifiers | |
SizetMultiArrayConstView | all_discrete_string_variable_ids () const |
return all discrete string variable position identifiers | |
SizetMultiArrayConstView | all_discrete_real_variable_ids () const |
return all discrete real variable position identifiers | |
StringArray | ordered_labels (unsigned short vars_part=ALL_VARS) const |
get all or active labels in input spec order | |
Variables | copy (bool deep_svd=false) const |
a deep variables copy for use in history mechanisms (SharedVariablesData uses a shallow copy by default) | |
Variables | copy (const SharedVariablesData &svd) const |
a deep variables copy that shares an incoming SharedVariablesData | |
void | copy_rep (std::shared_ptr< Variables > source_vars_rep) |
copy attributes from source to target representation (shared code among copy() implementations) | |
const ShortShortPair & | view () const |
returns variablesView | |
ShortShortPair | get_view (const ProblemDescDB &problem_db) const |
defines variablesView from problem_db attributes | |
void | active_view (short view1) |
overrides the active view | |
void | inactive_view (short view2) |
sets the inactive view based on higher level (nested) context | |
const String & | variables_id () const |
returns the variables identifier string | |
const SizetArray & | variables_components_totals () const |
returns the number of variables for each of the constitutive components | |
bool | is_null () const |
function to check variablesRep (does this envelope contain a letter) | |
Protected Member Functions | |
Variables (BaseConstructor, const ProblemDescDB &problem_db, const ShortShortPair &view) | |
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) | |
Variables (BaseConstructor, const SharedVariablesData &svd) | |
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion in the derived class constructors - Coplien, p. 139) | |
void | build_views () |
construct active/inactive views of all variables arrays | |
void | build_active_views () |
construct active views of all variables arrays | |
void | build_inactive_views () |
construct inactive views of all variables arrays | |
Protected Attributes | |
SharedVariablesData | sharedVarsData |
reference-counted instance of shared variables data: id's, labels, counts | |
RealVector | allContinuousVars |
array combining all of the continuous variables | |
IntVector | allDiscreteIntVars |
array combining all of the discrete integer variables | |
StringMultiArray | allDiscreteStringVars |
array combining all of the discrete string variables | |
RealVector | allDiscreteRealVars |
array combining all of the discrete real variables | |
RealVector | continuousVars |
the active continuous variables array view | |
IntVector | discreteIntVars |
the active discrete integer variables array view | |
RealVector | discreteRealVars |
the active discrete real variables array view | |
RealVector | inactiveContinuousVars |
the inactive continuous variables array view | |
IntVector | inactiveDiscreteIntVars |
the inactive discrete integer variables array view | |
RealVector | inactiveDiscreteRealVars |
the inactive discrete real variables array view | |
Private Member Functions | |
std::shared_ptr< Variables > | get_variables (const ProblemDescDB &problem_db) |
Used by the standard envelope constructor to instantiate the correct letter class. | |
std::shared_ptr< Variables > | get_variables (const SharedVariablesData &svd) const |
Used by the alternate envelope constructors, by read functions, and by copy() to instantiate a new letter class. | |
short | method_map (short view_spec, bool relaxed) const |
infer domain from method selection | |
short | method_domain (const ProblemDescDB &problem_db) const |
infer domain from method selection | |
short | method_view (const ProblemDescDB &problem_db) const |
infer view from method selection | |
short | response_view (const ProblemDescDB &problem_db) const |
infer view from type of response data set | |
void | check_view_compatibility () |
perform sanity checks on view.first and view.second after update | |
template<class Archive > | |
void | load (Archive &ar, const unsigned int version) |
read a Variables object from an archive | |
template<class Archive > | |
void | save (Archive &ar, const unsigned int version) const |
write a Variables object to an archive | |
Friends | |
class | boost::serialization::access |
for serializing private data members | |
bool | operator== (const Variables &vars1, const Variables &vars2) |
strict equality operator (for boost hash-based lookups) | |
bool | operator!= (const Variables &vars1, const Variables &vars2) |
strict inequality operator | |
bool | nearby (const Variables &vars1, const Variables &vars2, Real rel_tol) |
tolerance-based equality operator | |
std::size_t | hash_value (const Variables &vars) |
hash_value | |
Base class for the variables class hierarchy.
The Variables class is the base class for the class hierarchy providing design, uncertain, and state variables for continuous and discrete domains within a Model. Using the fundamental arrays from the input specification, different derived classes define different views of the data. For memory efficiency and enhanced polymorphism, the variables hierarchy employs the "letter/envelope idiom" (see Coplien "Advanced C++", p. 133), for which the base class (Variables) serves as the envelope and one of the derived classes (selected in Variables::get_variables()) serves as the letter.
|
inline |
return a mutable view of the active discrete string variables
same as discrete_string_variables(), except mutable view
References Variables::allDiscreteStringVars, SharedVariablesData::dsv(), SharedVariablesData::dsv_start(), and Variables::sharedVarsData.