def _ExecuteAfterReading(self):

        self.thermal_model_part_name = "thermal_computing_domain"
        self.mechanical_model_part_name = "mechanical_computing_domain"

        # Auxiliary Kratos parameters object to be called by the CheckAndPepareModelProcess
        aux_params = KratosMultiphysics.Parameters("{}")
        aux_params.AddEmptyValue("thermal_model_part_name").SetString(
            self.thermal_model_part_name)
        aux_params.AddValue(
            "thermal_domain_sub_model_part_list",
            self.settings["thermal_solver_settings"]
            ["problem_domain_sub_model_part_list"])
        aux_params.AddValue(
            "thermal_loads_sub_model_part_list",
            self.settings["thermal_solver_settings"]
            ["thermal_loads_sub_model_part_list"])

        aux_params.AddEmptyValue("mechanical_model_part_name").SetString(
            self.mechanical_model_part_name)
        aux_params.AddValue(
            "mechanical_domain_sub_model_part_list",
            self.settings["mechanical_solver_settings"]
            ["problem_domain_sub_model_part_list"])
        aux_params.AddValue(
            "body_domain_sub_model_part_list",
            self.settings["mechanical_solver_settings"]
            ["body_domain_sub_model_part_list"])
        aux_params.AddValue(
            "mechanical_loads_sub_model_part_list",
            self.settings["mechanical_solver_settings"]
            ["mechanical_loads_sub_model_part_list"])
        aux_params.AddValue(
            "loads_sub_model_part_list",
            self.settings["mechanical_solver_settings"]
            ["loads_sub_model_part_list"])

        # CheckAndPrepareModelProcess creates the solid_computational_model_part
        import check_and_prepare_model_process_dam
        check_and_prepare_model_process_dam.CheckAndPrepareModelProcess(
            self.main_model_part, aux_params).Execute()

        # Constitutive law import
        import dam_constitutive_law_utility
        dam_constitutive_law_utility.SetConstitutiveLaw(self.main_model_part)

        self.main_model_part.SetBufferSize(
            self.settings["buffer_size"].GetInt())
        minimum_buffer_size = self.GetMinimumBufferSize()
        if (minimum_buffer_size > self.main_model_part.GetBufferSize()):
            self.main_model_part.SetBufferSize(minimum_buffer_size)
    def _ExecuteAfterReading(self):

        self.thermal_model_part_name = "thermal_computing_domain"
        self.mechanical_model_part_name = "mechanical_computing_domain"

        # Create list of sub sub model parts (it is a copy of the standard lists with a different name)
        thermal_loads_sub_sub_model_part_list = []
        for i in range(self.settings["thermal_solver_settings"]["problem_domain_sub_model_part_list"].size()):
            thermal_loads_sub_sub_model_part_list.append("sub_"+self.settings["thermal_solver_settings"]["problem_domain_sub_model_part_list"][i].GetString())
        thermal_loads_sub_sub_model_part_list = KratosMultiphysics.Parameters(json.dumps(thermal_loads_sub_sub_model_part_list))

        self.body_domain_sub_sub_model_part_list = []
        for i in range(self.settings["mechanical_solver_settings"]["body_domain_sub_model_part_list"].size()):
            self.body_domain_sub_sub_model_part_list.append("sub_"+self.settings["mechanical_solver_settings"]["body_domain_sub_model_part_list"][i].GetString())
        self.body_domain_sub_sub_model_part_list = KratosMultiphysics.Parameters(json.dumps(self.body_domain_sub_sub_model_part_list))

        self.loads_sub_sub_model_part_list = []
        for i in range(self.settings["mechanical_solver_settings"]["loads_sub_model_part_list"].size()):
            self.loads_sub_sub_model_part_list.append("sub_"+self.settings["mechanical_solver_settings"]["loads_sub_model_part_list"][i].GetString())
        self.loads_sub_sub_model_part_list = KratosMultiphysics.Parameters(json.dumps(self.loads_sub_sub_model_part_list))

        # Auxiliary Kratos parameters object to be called by the CheckAndPepareModelProcess
        aux_params = KratosMultiphysics.Parameters("{}")
        aux_params.AddEmptyValue("thermal_model_part_name").SetString(self.thermal_model_part_name)
        aux_params.AddValue("thermal_domain_sub_model_part_list",self.settings["thermal_solver_settings"]["problem_domain_sub_model_part_list"])
        aux_params.AddValue("thermal_loads_sub_model_part_list",self.settings["thermal_solver_settings"]["thermal_loads_sub_model_part_list"])
        aux_params.AddValue("thermal_domain_sub_sub_model_part_list",thermal_loads_sub_sub_model_part_list)

        aux_params.AddEmptyValue("mechanical_model_part_name").SetString(self.mechanical_model_part_name)
        aux_params.AddValue("mechanical_domain_sub_model_part_list",self.settings["mechanical_solver_settings"]["problem_domain_sub_model_part_list"])
        aux_params.AddValue("mechanical_loads_sub_model_part_list",self.settings["mechanical_solver_settings"]["mechanical_loads_sub_model_part_list"])
        aux_params.AddValue("body_domain_sub_model_part_list",self.settings["mechanical_solver_settings"]["body_domain_sub_model_part_list"])
        aux_params.AddValue("body_domain_sub_sub_model_part_list",self.body_domain_sub_sub_model_part_list)
        aux_params.AddValue("loads_sub_model_part_list",self.settings["mechanical_solver_settings"]["loads_sub_model_part_list"])
        aux_params.AddValue("loads_sub_sub_model_part_list",self.loads_sub_sub_model_part_list)

        # CheckAndPrepareModelProcess creates the solid_computational_model_part
        import check_and_prepare_model_process_dam
        check_and_prepare_model_process_dam.CheckAndPrepareModelProcess(self.main_model_part, aux_params).Execute()

        # Constitutive law import
        import dam_constitutive_law_utility
        dam_constitutive_law_utility.SetConstitutiveLaw(self.main_model_part)

        self.main_model_part.SetBufferSize( self.settings["buffer_size"].GetInt() )
        minimum_buffer_size = self.GetMinimumBufferSize()
        if(minimum_buffer_size > self.main_model_part.GetBufferSize()):
            self.main_model_part.SetBufferSize( minimum_buffer_size )
Exemple #3
0
    def _ExecuteAfterReading(self):

        self.computing_model_part_name = "acoustic_computing_domain"

        # Auxiliary Kratos parameters object to be called by the CheckAndPepareModelProcess
        aux_params = KratosMultiphysics.Parameters("{}")
        aux_params.AddEmptyValue("computing_model_part_name").SetString(
            self.computing_model_part_name)

        # CheckAndPrepareModelProcess creates the solid_computational_model_part
        import check_and_prepare_model_process_poro
        check_and_prepare_model_process_poro.CheckAndPrepareModelProcess(
            self.main_model_part, aux_params).Execute()

        # Constitutive law import
        import dam_constitutive_law_utility
        dam_constitutive_law_utility.SetConstitutiveLaw(self.main_model_part)

        self.main_model_part.SetBufferSize(
            self.settings["buffer_size"].GetInt())
        minimum_buffer_size = self.GetMinimumBufferSize()
        if (minimum_buffer_size > self.main_model_part.GetBufferSize()):
            self.main_model_part.SetBufferSize(minimum_buffer_size)