def test_valuefederate_test_file_load(): filename = os.path.join(CURRENT_DIRECTORY, "valuefederate.json") vFed = h.helicsCreateValueFederateFromConfig(filename) name = h.helicsFederateGetName(vFed) assert name == "valueFed" assert h.helicsFederateGetInputCount(vFed) == 3 assert h.helicsFederateGetPublicationCount(vFed) == 2 h.helicsFederateFinalize(vFed) h.helicsFederateFree(vFed) h.helicsCloseLibrary()
while (h.helicsBrokerIsConnected(broker)): time.sleep(1) h.helicsFederateFree(fed) h.helicsCloseLibrary() if __name__ == "__main__": broker = create_broker() #fed = create_federate() ################################# Registering federate from json ######################################## fed = h.helicsCreateValueFederateFromConfig('Transmission_json.json') status = h.helicsFederateRegisterInterfaces(fed, 'Transmission_json.json') federate_name = h.helicsFederateGetName(fed)[-1] print(" Federate {} has been registered".format(federate_name)) pubkeys_count = h.helicsFederateGetPublicationCount(fed) subkeys_count = h.helicsFederateGetInputCount(fed) print(subkeys_count) ###################### Reference to Publications and Subscription form index ############################# pubid = {} subid = {} for i in range(0, pubkeys_count): pubid["m{}".format(i)] = h.helicsFederateGetPublicationByIndex(fed, i) pubtype = h.helicsPublicationGetType(pubid["m{}".format(i)]) print(pubtype) for i in range(0, subkeys_count): subid["m{}".format(i)] = h.helicsFederateGetInputByIndex(fed, i)
# Probabilities of a new EV charging at the specified level. lvl1 = 0.2 lvl2 = 0.2 lvl3 = 0.6 listOfBatts = np.random.choice([25,62,100],numBattery,p=[lvl1,lvl2, lvl3]).tolist() return listOfBatts if __name__ == "__main__": np.random.seed(2608) ########## Registering federate and configuring from JSON################ fed = h.helicsCreateValueFederateFromConfig("BatteryConfig.json") federate_name = h.helicsFederateGetName(fed) logger.info(f'Created federate {federate_name}') print(f'Created federate {federate_name}') sub_count = h.helicsFederateGetInputCount(fed) logger.debug(f'\tNumber of subscriptions: {sub_count}') pub_count = h.helicsFederateGetPublicationCount(fed) logger.debug(f'\tNumber of publications: {pub_count}') # Diagnostics to confirm JSON config correctly added the required # publications and subscriptions subid = {} sub_name = {} for i in range(0, sub_count): subid[i] = h.helicsFederateGetInputByIndex(fed, i)
lvl2 = 0.6 lvl3 = 0.35 listOfEVs = np.random.choice([1, 2, 3], numEVs, p=[lvl1, lvl2, lvl3]).tolist() numLvl1 = listOfEVs.count(1) numLvl2 = listOfEVs.count(2) numLvl3 = listOfEVs.count(3) return numLvl1, numLvl2, numLvl3, listOfEVs if __name__ == "__main__": np.random.seed(1490) ############## Registering federate from json ########################## fed = h.helicsCreateValueFederateFromConfig("ChargerConfig.json") federate_name = h.helicsFederateGetName(fed) logger.info(f'Created federate {federate_name}') print(f'Created federate {federate_name}') sub_count = h.helicsFederateGetInputCount(fed) logger.debug(f'\tNumber of subscriptions: {sub_count}') pub_count = h.helicsFederateGetPublicationCount(fed) logger.debug(f'\tNumber of publications: {pub_count}') # Diagnostics to confirm JSON config correctly added the required # publications, and subscriptions. subid = {} for i in range(0, sub_count): subid[i] = h.helicsFederateGetInputByIndex(fed, i) sub_name = h.helicsSubscriptionGetKey(subid[i])