This interface allows to control parameters of the parallel computing suite of OpenDSS-PM where its value can be specified as an integer number. The structure of the interface is as follows:


int32_t ParalleI(int32_t Parameter, int32_t Argument);


This interface returns an integer number with the result of the query according to the value of the variable Parameter, which can be one of the following:


Parameter 0: Parallel.NumCPUs 

This parameter returns the number of CPUs available in the local computer.


Parameter 1: Parallel.NumCores

This parameter returns the number of physical cores available in the local computer. If your computer has less than 64 Cores, this number should be the number of CPUs/2. For more information, please check: https://www.howtogeek.com/194756/cpu-basics-multiple-cpus-cores-and-hyper-threading-explained/.


Parameter 2: Parallel.ActiveActor read

This parameter returns the ID of the active actor.


Parameter 3: Parallel.ActiveActor write

This parameter sets the ID of the active actor; this number cannot be higher than the number of existing actors.


Parameter 4: Parallel.CreateActor

This parameter creates a new actor and sets the active actor ID as the ID for the recently created actor. If there are no more CPUs available, the system will not allow the creation of the new actor


Parameter 5: Parallel.ActorCPU read

This parameter gets the ID of the CPU assigned for the execution of the active actor.


Parameter 6: Parallel.ActorCPU write

This parameter sets the CPU for the execution of the active actor.


Parameter 7: Parallel.NumActors

This parameter gets the number of actors created in the actual session.


Parameter 8: Parallel.Wait

This parameter waits until all the actors are free and ready to receive a new command. 


Parameter 9: Parallel.ActiveParallel read

This parameter gets if the parallel features of OpenDSS are active. If active, this parameter will return 1, otherwise, will return 0 and OpenDSS-PM will behave sequentially.


Parameter 10: Parallel.ActiveParallel write

This parameter enables/disables the parallel features of OpenDSS. To enable set the argument in 1, otherwise, the argument should be 0 and OpenDSS-PM will behave sequentially.


Parameter 11: Parallel.ConcatenateReports Read

This parameter gets the state of the ConcatenateReports property of OpenDSS-PM. If 1, means that every time the user executes a Show/Export monitor operation, the data stored on the monitors with the same name for each actor will be concatenated one after the other. Otherwise (0), to get access of each monitor the user will have to activate the actor of interest and then perform the Show/Export command on the desired monitor.


Parameter 12: Parallel.ConcatenateReports Write

This parameter sets the state of the ConcatenateReports property of OpenDSS-PM. If 1, means that every time the user executes a Show/Export monitor operation, the data stored on the monitors with the same name for each actor will be concatenated one after the other. Otherwise (0), to get access of each monitor the user will have to activate the actor of interest and then perform the Show/Export command on the desired monitor.