|
virtual void | configure () |
| Configures a component by setting up ports, variables, constants and other resources.
|
|
bool | isComponentSystem () const |
| Check if a component is a System-Component.
|
|
CQSEnumT | getTypeCQS () const |
| Get the C, Q or S type of the component as enum.
|
|
void | setTypeCQS (CQSEnumT cqs_type, bool doOnlyLocalSet=false) |
| Set the type C, Q, or S of the subsystem.
|
|
bool | changeSubComponentSystemTypeCQS (const HString &rName, const CQSEnumT newType) |
| Change the CQS type of a stored subsystem component.
|
|
void | determineCQSType () |
| This function automatically determines the CQS type depending on the what has been connected to the systemports.
|
|
bool | isTopLevelSystem () const |
|
bool | isExternalSystem () const |
|
void | setExternalModelFilePath (const HString &rPath) |
|
HString | getExternalModelFilePath () const |
|
void | addComponents (std::vector< Component * > &rComponents) |
| Add multiple components to the system.
|
|
void | addComponent (Component *pComponent) |
| Add a component to the system.
|
|
void | renameSubComponent (const HString &rOldName, const HString &rNewName) |
| Rename a sub component and automatically fix unique names.
|
|
void | removeSubComponent (const HString &rName, bool doDelete=false) |
| Remove a dub component from a system, can also be used to actually delete the component.
|
|
void | removeSubComponent (Component *pComponent, bool doDelete=false) |
| Remove a sub component from a system, can also be used to actually delete the component.
|
|
HString | reserveUniqueName (const HString &rDesiredName, const UniqeNameEnumT type=UniqueReservedNameType) |
| Reserves a unique name in the system.
|
|
void | unReserveUniqueName (const HString &rName) |
| unReserves a unique name in the system
|
|
bool | renameParameter (const HString &rOldName, const HString &rNewName) |
| Rename a system parameter.
|
|
virtual std::list< HString > | getModelAssets () const |
|
Port * | addSystemPort (HString portName, const HString &rDescription="", const Port::RequireConnectionEnumT reqConnect=Port::Required) |
| Adds a transparent SubSystemPort.
|
|
HString | renameSystemPort (const HString &rOldname, const HString &rNewname) |
| Rename system port.
|
|
void | deleteSystemPort (const HString &rName) |
| Delete a System port from the component.
|
|
Component * | getSubComponentOrThisIfSysPort (const HString &rName) |
| Get a Component ptr to the component with supplied name, can also return a ptr to self if no subcomponent found but systemport with name found.
|
|
Component * | getSubComponent (const HString &rName) const |
|
const std::vector< Component * > | getSubComponents () const |
|
ComponentSystem * | getSubComponentSystem (const HString &rName) const |
|
std::vector< HString > | getSubComponentNames () const |
|
bool | haveSubComponent (const HString &rName) const |
| Check if a system has a subcomponent with given name.
|
|
bool | isEmpty () const |
| Checks if a system is empty (if there are no components or systemports)
|
|
AliasHandler & | getAliasHandler () |
|
bool | connect (Port *pPort1, Port *pPort2) |
| Connect two components with specified ports to each other.
|
|
bool | connect (const HString &compname1, const HString &portname1, const HString &compname2, const HString &portname2) |
| Connect two components, string version.
|
|
bool | disconnect (const HString &compname1, const HString &portname1, const HString &compname2, const HString &portname2) |
| Disconnect two ports, string version.
|
|
bool | disconnect (Port *pPort1, Port *pPort2) |
| Disconnects two ports and remove node if no one is using it any more.
|
|
bool | keepsValuesAsStartValues () |
| Returns whether or not to keep node values instead of over writing with defaultStartValues.
|
|
void | setKeepValuesAsStartValues (bool load) |
| Set if node data values should be used as start values instead of the default start values or expressions.
|
|
void | loadStartValues () |
| Load start values by telling each component to load their start values.
|
|
void | loadStartValuesFromSimulation () |
| Load start values from last simulation to start value container.
|
|
void | evaluateParametersRecursively () |
| Recurse through the model system hierarchy and evaluate all parameters.
|
|
size_t | loadParameterValues (const HString &rFilePath) |
| Loads parameters from a file.
|
|
bool | evaluateNumHopScriptRecursively () |
| Recurse through the model system hierarchy and evaluate all system-level numhop scripts.
|
|
bool | runNumHopScript (const HString &rScript, bool printOutput, HString &rOutput) |
| Interprets and evaluates (runs) a numhop scripts.
|
|
void | setNumHopScript (const HString &rScript) |
| Set the system-level numhop script.
|
|
HString | getNumHopScript () const |
|
bool | checkModelBeforeSimulation () |
| Checks that everything is OK before simulation.
|
|
virtual bool | preInitialize () |
|
bool | initialize (const double startT, const double stopT) |
| Initializes a system and all its contained components before a simulation. Also allocates log data memory.
|
|
void | simulate (const double stopT) |
| Simulate function for single-threaded simulations.
|
|
bool | startRealtimeSimulation (double realTimeFactor=1) |
|
virtual void | simulateMultiThreaded (const double startT, const double stopT, const size_t nDesiredThreads=0, const bool noChanges=false, ParallelAlgorithmT algorithm=APrioriScheduling) |
| Simulate function that overrides multi-threaded simulation call with a single-threaded call In case multi-threaded support is not available.
|
|
void | finalize () |
| Finalizes a system component and all its contained components after a simulation.
|
|
bool | simulateAndMeasureTime (const size_t nSteps) |
| Helper function that simulates all components and measure their average time requirements.
|
|
double | getTotalMeasuredTime () |
| Returns the total sum of the measured time of the components in the system.
|
|
void | sortComponentVectorsByMeasuredTime () |
| Helper function that sorts C- and Q- component vectors by simulation time for each component.
|
|
void | distributeCcomponents (std::vector< std::vector< Component * > > &rSplitCVector, size_t nThreads) |
|
void | distributeQcomponents (std::vector< std::vector< Component * > > &rSplitQVector, size_t nThreads) |
|
void | distributeSignalcomponents (std::vector< std::vector< Component * > > &rSplitSignalVector, size_t nThreads) |
|
void | distributeNodePointers (std::vector< std::vector< Node * > > &rSplitNodeVector, size_t nThreads) |
|
void | reschedule (size_t nThreads) |
|
void | setDesiredTimestep (const double timestep) |
| Sets the desired time step in a component system.
|
|
void | setInheritTimestep (const bool inherit=true) |
|
bool | doesInheritTimestep () const |
|
double | getDesiredTimeStep () const |
|
void | logTimeAndNodes (const size_t simStep) |
|
void | enableLog () |
| Enable node data logging.
|
|
void | disableLog () |
| Disable node data logging.
|
|
std::vector< double > * | getLogTimeVector () |
|
void | setNumLogSamples (const size_t nLogSamples) |
| Set the desired number of log samples.
|
|
double | getLogStartTime () const |
|
void | setLogStartTime (const double logStartTime) |
|
size_t | getNumLogSamples () const |
| Returns the desired number of log samples.
|
|
size_t | getNumActuallyLoggedSamples () const |
| Returns the number of actually logged data samples.
|
|
void | stopSimulation (const HString &rReason) |
| Set the stop simulation flag to abort the initialization or simulation loops.
|
|
void | stopSimulation () |
| Set the stop simulation flag to abort the initialization or simulation loops, (without messages being added)
|
|
bool | wasSimulationAborted () const |
| Check if the simulation was aborted.
|
|
bool | setOrAddSystemParameter (const HString &rName, const HString &rValue, const HString &rType, const HString &rDescription="", const HString &rUnitOrQuantity="", const bool internal=false, const bool force=false) |
| Set, add or change a system parameter including all meta data.
|
|
bool | setSystemParameter (const HString &rName, const HString &rValue, const HString &rType, const HString &rDescription="", const HString &rUnitOrQuantity="", const bool internal=false, const bool force=false) |
| Set or change a system parameter including all meta data.
|
|
void | unRegisterParameter (const HString &name) |
| Removes a parameter from the component.
|
|
void | addSearchPath (HString searchPath) |
| Adds a search path that can be used by its components to look for external files, e.g. area curves.
|
|
void | addSubNode (Node *pNode) |
| Add a node as subnode in the system, if the node is already owned by someone else, transfer ownership to this system.
|
|
void | removeSubNode (Node *pNode) |
| Removes a previously added node.
|
|
virtual void | reconfigure () |
| Re-configures a component, depending on e.g. parameter values or external files.
|
|
virtual void | deconfigure () |
| Deconfigure a component, use this to cleanup and memory/resource allocations you have made in configure.
|
|
void | setDisabled (bool value) |
|
bool | isDisabled () const |
|
void | setDesiredTimestep (const double timestep) |
|
void | setInheritTimestep (const bool inherit=true) |
| Set whether the component should inherit timestep from its system parent.
|
|
bool | doesInheritTimestep () const |
| Check if a component inherits timestep from its system parent.
|
|
void | setName (HString name) |
| Set the desired component name.
|
|
const HString & | getName () const |
| Get the component name.
|
|
const HString & | getTypeName () const |
| Get the TypeName of the component.
|
|
const HString & | getSubTypeName () const |
| Get the SubType name of the component.
|
|
void | setSubTypeName (const HString &rSubTypeName) |
| Set the SubType name of the component.
|
|
HString | getTypeCQSString () const |
| Get the CQStype as string.
|
|
virtual bool | isComponentC () const |
| Check if a component is a C-Component.
|
|
virtual bool | isComponentQ () const |
| Check if a component is a Q-Component.
|
|
virtual bool | isComponentSignal () const |
| Check if a component is a Signal-Component.
|
|
virtual bool | isExperimental () const |
| Check if component is tagged as experimental.
|
|
virtual bool | isObsolete () const |
| Check if component is tagged as obsolete.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rQuantityOrUnit, const double defaultValue, double &rData) |
| Add (register) a constant parameter with a default value to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rQuantity, const HString &rUnit, const double defaultValue, double &rData) |
| Add (register) a constant parameter with a default value to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, HTextBlock &rData) |
|
void | addConstant (const HString &rName, const HString &rDescription, HFilePath &rData) |
|
void | addConditionalConstant (const HString &rName, const HString &rDescription, std::vector< HString > &rConditions, int &rData) |
| Add (register) a conditional constant parameter to the component.
|
|
void | addConditionalConstant (const HString &rName, const HString &rDescription, std::vector< HString > &rConditions, const int defaultValue, int &rData) |
| Add (register) a conditional constant parameter to the component.
|
|
void | setReconfigurationParameter (const HString &rName) |
|
const std::vector< VariameterDescription > * | getVariameters () |
|
void | registerConditionalParameter (const HString &rName, const HString &rDescription, std::vector< HString > &rConditions, int &rValue) |
| Register a conditional parameter value so that it can be accessed for read and write.
|
|
bool | hasParameter (const HString &rName) const |
| Check if a component has a specific parameter.
|
|
void | getParameterNames (std::vector< HString > &rParameterNames) |
|
const std::vector< ParameterEvaluator * > * | getParametersVectorPtr () const |
|
const ParameterEvaluator * | getParameter (const HString &rName) |
|
void | getParameterValue (const HString &rName, HString &rValue) |
|
void * | getParameterDataPtr (const HString &rName) |
| Returns a pointer directly to the parameter data variable.
|
|
bool | setParameterValue (const HString &rName, const HString &rValue, bool force=false) |
|
bool | checkParameters (HString &errParName) |
|
void | evaluateParameters () |
|
bool | evaluateParameter (const HString &rName, HString &rEvaluatedParameterValue, const HString &rType) |
|
void | setDefaultStartValue (Port *pPort, const size_t idx, const double value) |
| Set the default startvalue in a port.
|
|
void | setDefaultStartValue (const HString &rPortName, const HString &rDataName, const double value) |
| Set the default startvalue in a port.
|
|
double | getDefaultStartValue (Port *pPort, const size_t idx, const size_t portIdx=0) |
| Get the an actual start value of a port.
|
|
double | getDefaultStartValue (const HString &rPortName, const HString &rDataName, const size_t portIdx=0) |
| Get the an actual start value of a port.
|
|
void | disableStartValue (Port *pPort, const size_t idx) |
| Disable a start value to prevent the user from setting it, this is usefully if you calculate the value internally.
|
|
void | disableStartValue (const HString &rPortName, const size_t idx) |
| Disable a start value to prevent the user from setting it, this is usefully if you calculate the value internally.
|
|
void | disableStartValue (const HString &rPortName, const HString &rDataName) |
| Disable a start value to prevent the user from setting it, this is usefully if you calculate the value internally.
|
|
std::vector< Port * > | getPortPtrVector () const |
|
Port * | getPort (const HString &rPortname) const |
| Returns a pointer to the port with the given name.
|
|
std::vector< HString > | getPortNames () |
| Returns a string vector containing names of all ports in the component.
|
|
double * | getSafeNodeDataPtr (Port *pPort, const int dataId) |
| Get a pointer to the node data variable, (Port pointer version)
|
|
double * | getSafeNodeDataPtr (const HString &rPortName, const int dataId) |
| Get a pointer to the node data variable, (Port name version)
|
|
double * | getSafeMultiPortNodeDataPtr (Port *pPort, const size_t portIdx, const int dataId) |
| Get a pointer to node data in a subport in a multiport.
|
|
double * | getSafeMultiPortNodeDataPtr (Port *pPort, const size_t portIdx, const int dataId, const double defaultValue) |
| Get a pointer to node data in a subport in a multiport (also setting initial value at the same time)
|
|
double | readNodeSafe (const HString &rPortName, const HString &rDataName, const size_t subPortIdx=0) |
| Read value based on the port and node data name.
|
|
double | readNodeSafe (const HString &rPortName, const size_t dataId, const size_t subPortIdx=0) |
| Read value based on the port name and node data id.
|
|
void | writeNodeSafe (const HString &rPortName, const HString &rDataName, const double value, const size_t subPortIdx=0) |
| Write node data based on port and data name.
|
|
void | writeNodeSafe (const HString &rPortName, const size_t dataId, const double value, const size_t subPortIdx=0) |
| Write node data based on port and data id.
|
|
ComponentSystem * | getSystemParent () const |
|
size_t | getModelHierarchyDepth () const |
|
double | getTimestep () const |
| Returns the component simulation time step.
|
|
double * | getTimePtr () |
| Returns a pointer to the simulation time variable in the component.
|
|
double | getTime () const |
| Get the current simulation time.
|
|
void | setMeasuredTime (const double time) |
|
double | getMeasuredTime () const |
| Returns the measured time variable for the component. This is used to measure time requirements when sorting components for multicore purposes.
|
|
void | addDebugMessage (const HString &rMessage, const HString &rTag="") const |
| Write an Debug message, i.e. for debugging purposes.
|
|
void | addWarningMessage (const HString &rMessage, const HString &rTag="") const |
| Write an Warning message.
|
|
void | addErrorMessage (const HString &rMessage, const HString &rTag="") const |
| Write an Error message.
|
|
void | addInfoMessage (const HString &rMessage, const HString &rTag="") const |
| Write an Info message.
|
|
void | addFatalMessage (const HString &rMessage, const HString &rTag="") const |
| Writes a Fatal message and tells the receiver of the message to close program in a controlled way. Also prints message to log file.
|
|
void | stopSimulation (const HString &rReason="") |
| Terminate/stop a running initialization or simulation.
|
|
HopsanEssentials * | getHopsanEssentials () |
|
HString | findFilePath (const HString &rFileName) const |
| Find and return the full file path name of fileName within the system search path, parent systems included (path to HMF file is always in here)
|
|
std::vector< HString > | getSearchPaths () const |
|
virtual void | reInitializeValuesFromNodes () |
|
virtual void | solveSystem () |
|
virtual double | getStateVariableDerivative (int) |
|
virtual double | getStateVariableSecondDerivative (int) |
|
virtual void | getResiduals (double *, double *) |
|
virtual void | getJacobian (double *, double *, double *) |
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, double &rData) |
| Add (register) a constant parameter to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, int &rData) |
| Add (register) a constant parameter to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, HString &rData) |
| Add (register) a constant parameter to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, bool &rData) |
| Add (register) a constant parameter to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, const int defaultValue, int &rData) |
| Add (register) a constant parameter with a default value to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, const HString &defaultValue, HString &rData) |
| Add (register) a constant parameter with a default value to the component.
|
|
void | addConstant (const HString &rName, const HString &rDescription, const HString &rUnit, const bool defaultValue, bool &rData) |
| Add (register) a constant parameter with a default value to the component.
|
|
void | setConstantValue (const HString &rName, const double value) |
| Set the value of a constant parameter.
|
|
void | setConstantValue (const HString &rName, const int value) |
| Set the value of a constant parameter.
|
|
void | setConstantValue (const HString &rName, const HString &rValue) |
| Set the value of a constant parameter.
|
|
void | setConstantValue (const HString &rName, const char *value) |
| Set the value of a constant parameter.
|
|
void | setConstantValue (const HString &rName, const bool value) |
| Set the value of a constant parameter.
|
|