def Initialize(self): csprint(self.lvl, yellow(self.__class__.__name__ + ":") + " Starting to initialize Empire") import empire_wrapper csprint(self.lvl, yellow(self.__class__.__name__ + ":") + " Wrapper-Import Successful") self.empire = empire_wrapper.EmpireWrapper() csprint(self.lvl, yellow(self.__class__.__name__ + ":") + " Wrapper Created") self.empire.Connect(self.xml_file_name) self.empire.ReceiveMesh("client_mesh", self.client_model_part)
def SetNodalValues(counter): # Somehow Modify the Nodal Values for node in model_part.Nodes: value = sum(node.GetSolutionStepValue(VELOCITY)) + counter node.SetSolutionStepValue(PRESSURE, value) print("This is kratos_client_2") model_part = ModelPart("MyModelPart") model_part.AddNodalSolutionStepVariable(VELOCITY) model_part.AddNodalSolutionStepVariable(PRESSURE) print("Starting to initialize Empire") import empire_wrapper print("Import Successfull") empire = empire_wrapper.EmpireWrapper() print("Wrapper Created") empire.Connect("kratos_client_2.xml") empire.ReceiveMesh("myMesh2", model_part) for i in range(10): is_converged = 0 k = 0 while not is_converged: k += 1 empire.ReceiveDataField("myMesh2", "velocity", [VELOCITY, VELOCITY]) # receiving an (Empire) "doubleVector" SetNodalValues(i) empire.SendDataField("myMesh2", "pressure", PRESSURE) is_converged = empire.ReceiveConvergenceSignal()
print("Mesh 1 ::::: Finished extracting properties from the model part !!") for i in range(0, int(len(elements) / 4)): sys.stdout.flush() model_part.CreateNewElement("Element2D4N", i + 1, [ int(elements[4 * i + 0]), int(elements[4 * i + 1]), int(elements[4 * i + 2]), int(elements[4 * i + 3]) ], prp) print("Mesh 1 ::::: Finished Adding Elements to model part !!") print("Starting to initialize Empire") import empire_wrapper print("Import Successfull") empire = empire_wrapper.EmpireWrapper(echo_level=2) print("Wrapper Created") empire.Connect("kratos_client_1.xml") empire.SendMesh("myMesh1", model_part) for i in range(10): empire.SendDataField( "myMesh1", "displacement", [DISPLACEMENT, DISPLACEMENT]) # sending an (Empire) "doubleVector" empire.ReceiveDataField("myMesh1", "temperature", TEMPERATURE) SetNodalValues(i) empire.Disconnect()
gid_io.InitializeMesh(mesh_name) gid_io.WriteMesh(fluid_model_part.GetMesh()) gid_io.FinalizeMesh() # Stepping and time settings full_Dt = ProjectParameters.Dt initial_Dt = 0.001 * full_Dt # 0.05 #0.01 Nsteps = ProjectParameters.nsteps time = ProjectParameters.Start_time # import empire_wrapper print('Create object wrapper ...') wrapper = empire_wrapper.EmpireWrapper(fluid_model_part) # loop information it = 0 maxit = 1 for i in range(1, Nsteps + 1): print('################## Current time step: {}'.format(i)) # while it < maxit: # print '--------------Iteration: {}'.format(it) if (i < 3): deltaT = initial_Dt else: