def _SetUpRestart(self): """Initialize self.restart_utility as a RestartUtility instance and check if we need to initialize the problem from a restart file.""" if self.project_parameters.Has("restart_settings"): restart_settings = self.project_parameters["restart_settings"] self.load_restart = restart_settings["load_restart"].GetBool() self.save_restart = restart_settings["save_restart"].GetBool() restart_settings.RemoveValue("load_restart") restart_settings.RemoveValue("save_restart") restart_settings.AddValue( "input_filename", self.project_parameters["problem_data"]["problem_name"]) restart_settings.AddValue( "echo_level", self.project_parameters["problem_data"]["echo_level"]) if self.parallel_type == "OpenMP": from restart_utility import RestartUtility as Restart elif self.parallel_type == "MPI": from trilinos_restart_utility import TrilinosRestartUtility as Restart self.restart_utility = Restart( self.main_model_part, self.project_parameters["restart_settings"]) else: self.load_restart = False self.save_restart = False
def _GetFluidRestartUtility(self): if self.__fluid_restart_utility is not None: return self.__fluid_restart_utility else: if self.parallel_type == "OpenMP": from restart_utility import RestartUtility as Restart elif self.parallel_type == "MPI": from KratosMultiphysics.mpi.distributed_restart_utility import DistributedRestartUtility as Restart model_part_name = self.project_parameters["fluid_solver_settings"]["solver_settings"]["model_part_name"].GetString() if self.model.HasModelPart(model_part_name): model_part = self.model.GetModelPart(model_part_name) else: model_part = self.model.CreateModelPart(model_part_name) self.__fluid_restart_utility = Restart( model_part, self.project_parameters["fluid_solver_settings"]["restart_settings"])
def _GetStructureRestartUtility(self): if self.__structure_restart_utility is not None: return self.__structure_restart_utility else: if self.parallel_type == "OpenMP": from restart_utility import RestartUtility as Restart elif self.parallel_type == "MPI": from trilinos_restart_utility import TrilinosRestartUtility as Restart model_part_name = self.project_parameters["structure_solver_settings"]["solver_settings"]["model_part_name"].GetString() if self.model.HasModelPart(model_part_name): model_part = self.model.GetModelPart(model_part_name) else: model_part = self.model.CreateModelPart(model_part_name) self.__structure_restart_utility = Restart( model_part, self.project_parameters["structure_solver_settings"]["restart_settings"])