# Casual Block Class from math import * from BaseBlock import * from VC import * from RH import * from Lungs import * from LH import * from Trunk import * from Legs import * from Head import * from Arms import * from Aorta import * class Physbe: def __init__(self, initParams={}): self.__initParams = initParams self.__blocks = [] if (self.__initParams.has_key("VenaCava") == 1): self.VenaCava = ChildBlock("VenaCava", "Child", VC(self.__initParams["VenaCava"])) else: self.VenaCava = ChildBlock("VenaCava", "Child", VC()) self.__blocks.append(self.VenaCava) if (self.__initParams.has_key("RightHeart") == 1): self.RightHeart = ChildBlock("RightHeart", "Child", RH(self.__initParams["RightHeart"])) else: self.RightHeart = ChildBlock("RightHeart", "Child", RH()) self.__blocks.append(self.RightHeart) if (self.__initParams.has_key("Lungs") == 1): self.Lungs = ChildBlock("Lungs", "Child", Lungs(self.__initParams["Lungs"])) else: self.Lungs = ChildBlock("Lungs", "Child", Lungs()) self.__blocks.append(self.Lungs) if (self.__initParams.has_key("LeftHeart") == 1): self.LeftHeart = ChildBlock("LeftHeart", "Child", LH(self.__initParams["LeftHeart"])) else: self.LeftHeart = ChildBlock("LeftHeart", "Child", LH()) self.__blocks.append(self.LeftHeart) if (self.__initParams.has_key("Trunk") == 1): self.Trunk = ChildBlock("Trunk", "Child", Trunk(self.__initParams["Trunk"])) else: self.Trunk = ChildBlock("Trunk", "Child", Trunk()) self.__blocks.append(self.Trunk) if (self.__initParams.has_key("Legs") == 1): self.Legs = ChildBlock("Legs", "Child", Legs(self.__initParams["Legs"])) else: self.Legs = ChildBlock("Legs", "Child", Legs()) self.__blocks.append(self.Legs) if (self.__initParams.has_key("Head") == 1): self.Head = ChildBlock("Head", "Child", Head(self.__initParams["Head"])) else: self.Head = ChildBlock("Head", "Child", Head()) self.__blocks.append(self.Head) if (self.__initParams.has_key("Arms") == 1): self.Arms = ChildBlock("Arms", "Child", Arms(self.__initParams["Arms"])) else: self.Arms = ChildBlock("Arms", "Child", Arms()) self.__blocks.append(self.Arms) if (self.__initParams.has_key("Aorta") == 1): self.Aorta = ChildBlock("Aorta", "Child", Aorta(self.__initParams["Aorta"])) else: self.Aorta = ChildBlock("Aorta", "Child", Aorta()) self.__blocks.append(self.Aorta) self.P9_Splitter = BaseBlock("P9_Splitter", "Adder") self.__blocks.append(self.P9_Splitter) self.t4_Splitter = BaseBlock("t4_Splitter", "Adder") self.__blocks.append(self.t4_Splitter) self.P4_Splitter = BaseBlock("P4_Splitter", "Adder") self.__blocks.append(self.P4_Splitter) self.t9_splitter = BaseBlock("t9_splitter", "Adder") self.__blocks.append(self.t9_splitter) self.F1i_Splitter = BaseBlock("F1i_Splitter", "Adder") self.__blocks.append(self.F1i_Splitter) self.P2i_Splitter = BaseBlock("P2i_Splitter", "Adder") self.__blocks.append(self.P2i_Splitter) self.F3i_Splitter = BaseBlock("F3i_Splitter", "Adder") self.__blocks.append(self.F3i_Splitter) self.F7i = BaseBlock("F7i", "Adder") self.__blocks.append(self.F7i) self.F8i_splitter = BaseBlock("F8i_splitter", "Adder") self.__blocks.append(self.F8i_splitter) self.F6i = BaseBlock("F6i", "Adder") self.__blocks.append(self.F6i) self.F6i_splliter = BaseBlock("F6i_splliter", "Adder") self.__blocks.append(self.F6i_splliter) self.F6o = BaseBlock("F6o", "Adder") self.__blocks.append(self.F6o) self.f6o = BaseBlock("f6o", "Adder") self.__blocks.append(self.f6o) self.VenaCava.linksIN.append((self.Legs, "F8o_vc", "PORT_F8o")) self.VenaCava.linksIN.append((self.Legs, "f8o_vc", "PORT_f8o")) self.VenaCava.linksIN.append((self.Arms, "F5o_vc", "PORT_F5o")) self.VenaCava.linksIN.append((self.Arms, "f5o_vc", "PORT_f5o")) self.VenaCava.linksIN.append((self.F1i_Splitter, "F1i_to_VC", "PORT_F1i")) self.VenaCava.linksIN.append((self.Trunk, "F7o_to_vc", "PORT_F7o")) self.VenaCava.linksIN.append((self.Trunk, "f7o_to_vc", "PORT_f7o")) self.VenaCava.linksIN.append((self.F6o, "F6o_vc", "PORT_F6o")) self.VenaCava.linksIN.append((self.f6o, "f6o_vc", "PORT_f6o")) self.RightHeart.linksIN.append((self.P9_Splitter, "P9_to_rh", "PORT_P9")) self.RightHeart.linksIN.append((self.t9_splitter, "t9_to_RH2", "PORT_t9")) self.RightHeart.linksIN.append((self.P2i_Splitter, "P2i_to_RH2", "PORT_P2i")) self.Lungs.linksIN.append((self.RightHeart, "F1o_lungs", "PORT_F1o")) self.Lungs.linksIN.append((self.RightHeart, "t1o_lungs", "PORT_t1o")) self.Lungs.linksIN.append((self.F3i_Splitter, "F3i_to_Lungs", "PORT_F3i")) self.LeftHeart.linksIN.append((self.Lungs, "P2o_lh", "PORT_P2o")) self.LeftHeart.linksIN.append((self.Lungs, "t2o_lh", "PORT_t2o")) self.LeftHeart.linksIN.append((self.P4_Splitter, "P4_to_lh", "PORT_P4")) self.Trunk.linksIN.append((self.P9_Splitter, "P9_to_trunk", "PORT_P9")) self.Trunk.linksIN.append((self.P4_Splitter, "P4_to_trunk", "PORT_P4")) self.Trunk.linksIN.append((self.t4_Splitter, "t4_to_trunk", "PORT_t4")) self.Legs.linksIN.append((self.P9_Splitter, "p9_to_legs", "PORT_P9")) self.Legs.linksIN.append((self.P4_Splitter, "P4_to_Legs", "PORT_P4")) self.Legs.linksIN.append((self.t4_Splitter, "t4_to_legs", "PORT_t4")) self.Head.linksIN.append((self.P4_Splitter, "P4_to_head", "PORT_P4")) self.Head.linksIN.append((self.t4_Splitter, "t4_to_head", "PORT_t4")) self.Head.linksIN.append((self.P9_Splitter, "P9_to_head", "PORT_P9")) self.Arms.linksIN.append((self.P9_Splitter, "P9_to_arm", "PORT_P9")) self.Arms.linksIN.append((self.P4_Splitter, "P4_to_arms", "PORT_P4")) self.Arms.linksIN.append((self.t4_Splitter, "t4_to_Arms", "PORT_t4")) self.Aorta.linksIN.append((self.LeftHeart, "F3o_aorta", "PORT_F3o")) self.Aorta.linksIN.append((self.LeftHeart, "t3o_aorta", "PORT_t3o")) self.Aorta.linksIN.append((self.F7i, "F7i_to_aorta", "PORT_F7i")) self.Aorta.linksIN.append((self.F8i_splitter, "F8i_to_aorta", "PORT_F8i")) self.Aorta.linksIN.append((self.F6i, "F5i_to_aorta", "PORT_F5i")) self.Aorta.linksIN.append((self.F6i_splliter, "F6i_to_aorta", "PORT_F6i")) self.P9_Splitter.linksIN.append((self.VenaCava, "P9", "PORT_P9")) self.t4_Splitter.linksIN.append((self.Aorta, "t4", "PORT_t4")) self.P4_Splitter.linksIN.append((self.Aorta, "P4", "PORT_P4")) self.t9_splitter.linksIN.append((self.VenaCava, "t9", "PORT_t9")) self.F1i_Splitter.linksIN.append((self.RightHeart, "F1i", "PORT_F1i")) self.P2i_Splitter.linksIN.append((self.Lungs, "P2i", "PORT_P2i")) self.F3i_Splitter.linksIN.append((self.LeftHeart, "F3i", "PORT_F3i")) self.F7i.linksIN.append((self.Trunk, "F7i", "PORT_F7i")) self.F8i_splitter.linksIN.append((self.Legs, "F8i", "PORT_F8i")) self.F6i.linksIN.append((self.Arms, "F5i", "PORT_F5i")) self.F6i_splliter.linksIN.append((self.Head, "F6i", "PORT_F6i")) self.F6o.linksIN.append((self.Head, "F6o", "PORT_F6o")) self.f6o.linksIN.append((self.Head, "f6o", "PORT_f6o")) for block in self.__blocks: if isinstance(block, ConstantBlock): if (self.__initParams.has_key(block.getBlockName()) == 1): block.setInitValue(self.__initParams[block.getBlockName()]) def getBlocks(self): return self.__blocks