![]() |
ModelSpace
Documentation for ModelSpace models and classes.
|
Class to generate input dispersions for the simulation. More...
#include <DispersionEngine.h>

Public Member Functions | |
| DispersionEngine (cfspp::FlightExecutive &e) | |
| ~DispersionEngine () | |
| void | initialize (int seed, int run, int nruns=1000) |
| Function to initialize the dispersion engine. More... | |
| void | setUniformValue (UniformDispersion *dispersion_ptr) |
| Function to set the value of a dispersion. More... | |
| void | setNormalValue (NormalDispersion *dispersion_ptr) |
| Function to set the value of a dispersion. More... | |
| UniformDispersion & | createUniformInputDispersion (const std::string &name, double default_val, double min, double max) |
| Function to generate a uniform input dispersion. More... | |
| NormalDispersion & | createNormalInputDispersion (const std::string &name, double default_val, double mean, double stdev) |
| Function to generate a normal input dispersion. More... | |
| Dispersion * | operator() (const std::string &query) |
| Call operator to get pointer to dispersion matching string. More... | |
Public Member Functions inherited from clockwerk::GraphTreeObject | |
| GraphTreeObject (const char *gt_nme="", GraphTreeObject **storage_array=nullptr, uint32 storage_size=0) | |
| Name-based constructor for GraphTreeObject which will have no children by default. More... | |
| virtual | ~GraphTreeObject () |
| Destructor. More... | |
| GraphTreeObject * | parent () |
| Functions to get object's parent/children. More... | |
| GraphTreeObject ** | children () |
| GraphTreeObject * | childAtIndex (uint8 i) const |
| int16 | parent (GraphTreeObject *new_parent) |
| Function to assign the node's parent via pointer. More... | |
| int16 | parent (GraphTreeObject &new_parent) |
| Function to assign the node's parent via reference. More... | |
| uint8 | nChildren () const |
| Getters for number of children and descendants. More... | |
| uint16 | nDescendants () const |
| uint8 | capacity () const |
| const char * | name () const |
| Getter and setter for object name. More... | |
| int16 | name (const char *new_name) |
| uint8 | rank () |
| Getter for the object rank. More... | |
| int8 | type () |
| Function to indicate type – -1 by default unless implemented downstream. More... | |
| bool | loggable () |
| Getter for object logability flag – note no setter because should only be set by this or a derived class in its definition. More... | |
| GraphTreeObject * | getRootDataPointer () |
| Get the pointer to the highest object in the graph tree. More... | |
| virtual int16 | str (char *output, size_t size) const |
| Get object represented as string. More... | |
| virtual int16 | fromStr (const char *val) |
| Set value of graphtreeobject from string. More... | |
Public Attributes | |
| cfspp::FlightExecutive & | exc |
| int | hash_seed = 0 |
Protected Member Functions | |
| int | _hash (int run_number, int seed) |
| Function to generate a hashed seed from run number and seed. More... | |
Protected Member Functions inherited from clockwerk::GraphTreeObject | |
| int16 | _setStorage (GraphTreeObject **storage_array, uint8 storage_size) |
| Getter for object's string address. More... | |
| void | _recalculateDescendants () |
| Function to recursively re-calculate the number of descendants of a given node on the tree. More... | |
| void | _recalculateRank () |
| Function to recursively re-calculate the rank of a given node on the tree. More... | |
| int16 | _addChild (GraphTreeObject *child) |
| Function to decompose a string into a series of substrings via indexing. More... | |
| int16 | _removeChild (GraphTreeObject *child) |
| Function to remove a child from the graph node's children. More... | |
Protected Attributes | |
| int | _hash_value |
| int | _run_number |
| int | _nruns |
| std::vector< UniformDispersion * > | _uniform_dispersions |
| std::vector< NormalDispersion * > | _normal_dispersions |
| UniformRandom< double > * | _uniform_dist = nullptr |
| NormalRandom< double > * | _normal_dist = nullptr |
Protected Attributes inherited from clockwerk::GraphTreeObject | |
| GraphTreeObject * | _parent = nullptr |
| GraphTreeObject ** | _children_ptr = nullptr |
| uint32 | _max_num_children = 0 |
| uint16 | _num_descendants = 0 |
| char | _name [MAXIMUM_NAME_CHARS] = "" |
| String name for object. More... | |
| uint8 | _num_children = 0 |
| Number of direct children of the tree (not including the tree itself) More... | |
| uint8 | _rank = 0 |
| int8 | _graph_tree_type = BASE_GRAPH_TREE |
| Variable to store graph tree object type. More... | |
| bool | _loggable = false |
| Variable to indicate whether the selected object is loggable. Set to false by default. More... | |
| uint32 | _index = 0 |
| Index pointing to the next write location for the graph tree children. More... | |
Class to generate input dispersions for the simulation.
The dispersion engine class is used to generate input dispersions for use in Monte Carlo and similar simulations. It generates dispersion values which parameters and inputs on models can map to, allowing for full dispersion-->model traceability.
The dispersion engine registers dispersions
|
inline |
| modelspace::DispersionEngine::~DispersionEngine | ( | ) |
|
protected |
Function to generate a hashed seed from run number and seed.
| run_number | The monte carlo run number |
| seed | The seed to affect hash generation |
| NormalDispersion & modelspace::DispersionEngine::createNormalInputDispersion | ( | const std::string & | name, |
| double | default_val, | ||
| double | mean, | ||
| double | stdev | ||
| ) |
Function to generate a normal input dispersion.
| name | The name of the dispersion |
| default_value | The "run zero" value for the undispersed case |
| mean | The mean for the normal distribution |
| stdev | The standard deviation of the normal distribution |
| UniformDispersion & modelspace::DispersionEngine::createUniformInputDispersion | ( | const std::string & | name, |
| double | default_val, | ||
| double | min, | ||
| double | max | ||
| ) |
Function to generate a uniform input dispersion.
| name | The name of the dispersion |
| default_value | The "run zero" value for the undispersed case |
| min | The minimum for the uniform distribution |
| max | The maximum for the uniform distribution |
| void modelspace::DispersionEngine::initialize | ( | int | seed, |
| int | run, | ||
| int | nruns = 1000 |
||
| ) |
Function to initialize the dispersion engine.
| seed | The seed to be used in hashing the rng |
| run | The run number |
| nruns | The number of runs to generate dispersions for |
| Dispersion * modelspace::DispersionEngine::operator() | ( | const std::string & | query | ) |
Call operator to get pointer to dispersion matching string.
| The | name of the knob to search for |
| void modelspace::DispersionEngine::setNormalValue | ( | NormalDispersion * | dispersion_ptr | ) |
Function to set the value of a dispersion.
| dispersion | The dispersion to set the value for |
| void modelspace::DispersionEngine::setUniformValue | ( | UniformDispersion * | dispersion_ptr | ) |
Function to set the value of a dispersion.
| dispersion | The dispersion to set the value for |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
| cfspp::FlightExecutive& modelspace::DispersionEngine::exc |
| int modelspace::DispersionEngine::hash_seed = 0 |