def Factory(settings, Model): if(type(settings) != KratosMultiphysics.Parameters): raise Exception("Expected input shall be a Parameters object, encapsulating a json string") process_settings = settings["Parameters"] folder_settings = KratosMultiphysics.Parameters("""{ "folder_name" : "EigenResults", "save_output_files_in_folder" : true }""") process_settings.AddMissingParameters(folder_settings) if process_settings["save_output_files_in_folder"].GetBool(): folder_name = process_settings["folder_name"].GetString() kratos_utils.DeleteDirectoryIfExisting(folder_name) # make sure to remove old results os.mkdir(folder_name) if process_settings.Has("computing_model_part_name"): computing_model_part = Model[process_settings["computing_model_part_name"].GetString()] else: # using default name computing_model_part = Model["Structure"] process_settings.RemoveValue("computing_model_part_name") process_settings.RemoveValue("help") return KSM.PostprocessEigenvaluesProcess(computing_model_part, process_settings)
def Factory(settings, Model): if(type(settings) != KratosMultiphysics.Parameters): raise Exception("Expected input shall be a Parameters object, encapsulating a json string") process_settings = settings["Parameters"] if process_settings.Has("computing_model_part_name"): computing_model_part = Model[process_settings["computing_model_part_name"].GetString()] else: # using default name computing_model_part = Model["Structure.computing_domain"] process_settings.RemoveValue("computing_model_part_name") process_settings.RemoveValue("help") return KSM.PostprocessEigenvaluesProcess(computing_model_part, process_settings)
def __init__(self, Model, settings): default_settings = KratosMultiphysics.Parameters(""" { "result_file_name" : "Structure", "result_file_format_use_ascii" : false, "computing_model_part_name" : "computing_domain", "animation_steps" : 20, "list_of_result_variables" : ["DISPLACEMENT"], "label_type" : "frequency" } """) settings.ValidateAndAssignDefaults(default_settings) KratosMultiphysics.Process.__init__(self) model_part = Model[settings["computing_model_part_name"].GetString()] settings.RemoveValue("computing_model_part_name") self.post_eigen_process = StructuralMechanicsApplication.PostprocessEigenvaluesProcess( model_part, settings)
def ExecuteFinalize(self): StructuralMechanicsApplication.PostprocessEigenvaluesProcess( self.model_part, self.settings).Execute()