Пример #1
0
    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
Пример #2
0
    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"])
Пример #3
0
    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"])