From GridLAB-D Wiki
Jump to: navigation, search


Initialization - Model initialization


Creation order 
Prior to Hassayampa (Version 3.0) all objects shall be initialized in the order in which they are created.


Deferred initialization 
Prior to Hassayampa (Version 3.0) objects shall be allowed to defer initialization to the first pre-commit or presync, sync, or postsync call, as appropriate.
As of Hassayampa (Version 3.0), objects shall be allowed to request to defer initialization to another initialization pass by returning the value 2 from the class init() function. This feature shall be enabled by default and the user shall be allowed to suppress it using a global variable.


Rank initialization 
As of Hassayampa (Version 3.0) the user shall be able to specify top-down or bottom-up rank ordered initialization using a global variable.


Object locking 
As of Hassayampa (Version 3.0) during the init() call to an object, the object flag OF_LOCKED shall be set.


Deferred flag 
As of Hassayampa (Version 3.0) when init() indicates that deferred initialization is desired, the OF_DEFERRED flag shall be set.


Automatic deferral 
As of Hassayampa (Version 3.0) automatically deferral shall be enabled when by controlling a global variable and when enabled, objects shall be automatically deferred when either the parent object or objects which are referred to by object properties are not yet initialized.


Automatic deferral override 
As of Hassayampa (Version 3.0) modelers shall be permitted to flag a class to disable automatic dependency checking using the PC_NODEFERRAL flag and identify specific properties of class to be included or excluded from dependency checking using the PF_DEFER.


Initialization time 
As of Hassayampa (Version 3.0) the clock shall be set to the start time prior to object initialization.


Initialization state
As of Hassayampa (Version 3.0) an object flag shall be set to indicate that an object has been successfully initialized using the OF_INIT flag.

See also