def RemeshDomains(self): if (self.echo_level > 0): print("::[Meshing_Process]:: CONTACT SEARCH...( call:", self.counter, ")") meshing_options = KratosMultiphysics.Flags() self.model_structure = KratosContact.ContactModelStructure( self.main_model_part, meshing_options, self.echo_level) self.model_structure.ExecuteInitialize() for domain in self.meshing_domains: domain.ExecuteMeshing() self.model_structure.ExecuteFinalize() if (self.echo_level > 1): print("") print(self.main_model_part) self.counter += 1 # schedule next meshing if (self.meshing_frequency > 0.0): # note: if == 0 always active if (self.meshing_control_is_time): time = self.main_model_part.ProcessInfo[ KratosMultiphysics.TIME] while (self.next_meshing <= time): self.next_meshing += self.meshing_frequency else: while (self.next_meshing <= self.step_count): self.next_meshing += self.meshing_frequency
def GetModelManager(self): meshing_options = KratosMultiphysics.Flags() return KratosContact.ContactModelStructure(self.main_model_part, meshing_options, self.echo_level)