Example #1
0
    def __CreateVTKIO(self):

        vtk_parameters = self.output_settings["output_format"][
            "vtk_parameters"]
        output_mode = self.output_settings["design_output_mode"].GetString()

        nodal_results = self.output_settings["nodal_results"]
        vtk_parameters.AddValue("nodal_solution_step_data_variables",
                                nodal_results)

        if output_mode == "WriteDesignSurface":
            vtk_parameters["model_part_name"].SetString(
                self.design_surface.Name)
        elif output_mode == "WriteOptimizationModelPart":
            vtk_parameters["model_part_name"].SetString(
                self.optimization_model_part.Name)
        else:
            raise NameError(
                "The following design output mode is not defined within a VTK output (name may be misspelled): "
                + output_mode)

        vtk_parameters["folder_name"].SetString(
            self.output_settings["output_directory"].GetString())

        return VtkOutputProcess(self.model, vtk_parameters)
Example #2
0
def _create_post_process(main_model_part, constitutive_law_type, debug="gid"):
    if debug == "gid":
        from KratosMultiphysics.gid_output_process import GiDOutputProcess
        output = GiDOutputProcess(
            main_model_part, "output_" + constitutive_law_type,
            KratosMultiphysics.Parameters("""
                                        {
                                            "result_file_configuration" : {
                                                "gidpost_flags": {
                                                    "GiDPostMode": "GiD_PostBinary",
                                                    "WriteDeformedMeshFlag": "WriteUndeformed",
                                                    "WriteConditionsFlag": "WriteConditions",
                                                    "MultiFileFlag": "SingleFile"
                                                },
                                                "nodal_results"       : ["DISPLACEMENT"],
                                                "gauss_point_results" : ["VON_MISES_STRESS","GREEN_LAGRANGE_STRAIN_VECTOR","PK2_STRESS_VECTOR","PLASTIC_DISSIPATION","PLASTIC_STRAIN","EQUIVALENT_PLASTIC_STRAIN","PLASTIC_STRAIN_VECTOR","UNIAXIAL_STRESS"]
                                            }
                                        }
                                        """))
    elif debug == "vtk":
        from KratosMultiphysics.vtk_output_process import VtkOutputProcess
        output = VtkOutputProcess(
            main_model_part.GetModel(),
            KratosMultiphysics.Parameters("""{
                                            "model_part_name"                    : "solid_part",
                                            "nodal_solution_step_data_variables" : ["DISPLACEMENT"],
                                            "gauss_point_variables"              : ["VON_MISES_STRESS"]
                                        }
                                        """))

    output.ExecuteInitialize()
    output.ExecuteBeforeSolutionLoop()
    output.ExecuteInitializeSolutionStep()

    return output
Example #3
0
    def __post_process(self, main_model_part, post_type = "gid"):
        if post_type == "gid":
            self.gid_output = GiDOutputProcess(
                main_model_part,
                main_model_part.Name,
                KratosMultiphysics.Parameters(r"""
                {
                    "result_file_configuration" : {
                    "gidpost_flags": {
                        "GiDPostMode": "GiD_PostBinary",
                        "WriteDeformedMeshFlag": "WriteUndeformed",
                        "WriteConditionsFlag": "WriteConditions",
                        "MultiFileFlag": "SingleFile"
                    },
                    "nodal_results"       : ["DISPLACEMENT","VOLUMETRIC_STRAIN"],
                    "gauss_point_results" : []
                    }
                }"""))

            self.gid_output.ExecuteInitialize()
            self.gid_output.ExecuteBeforeSolutionLoop()
            self.gid_output.ExecuteInitializeSolutionStep()
            self.gid_output.PrintOutput()
            self.gid_output.ExecuteFinalizeSolutionStep()
            self.gid_output.ExecuteFinalize()

        elif post_type == "vtk":
            vtk_output_parameters = KratosMultiphysics.Parameters(r"""
            {
                "model_part_name": "",
                "extrapolate_gauss_points": false,
                "nodal_solution_step_data_variables" : ["DISPLACEMENT","VOLUMETRIC_STRAIN"],
                "gauss_point_variables": []
            }""")
            vtk_output_parameters["model_part_name"].SetString(main_model_part.Name)
            self.vtk_output_process = VtkOutputProcess(
                main_model_part.GetModel(),
                vtk_output_parameters)

            self.vtk_output_process.ExecuteInitialize()
            self.vtk_output_process.ExecuteBeforeSolutionLoop()
            self.vtk_output_process.ExecuteInitializeSolutionStep()
            self.vtk_output_process.PrintOutput()
            self.vtk_output_process.ExecuteFinalizeSolutionStep()
            self.vtk_output_process.ExecuteFinalize()
    def __post_process(self, main_model_part, post_type = "gid"):
        if post_type == "gid":
            self.gid_output = GiDOutputProcess(main_model_part,
                                        "gid_output",
                                        KratosMultiphysics.Parameters("""
                                            {
                                                "result_file_configuration" : {
                                                    "gidpost_flags": {
                                                        "GiDPostMode": "GiD_PostBinary",
                                                        "WriteDeformedMeshFlag": "WriteUndeformed",
                                                        "WriteConditionsFlag": "WriteConditions",
                                                        "MultiFileFlag": "SingleFile"
                                                    },
                                                    "nodal_results"       : ["DISPLACEMENT"],
                                                    "gauss_point_results" : ["GREEN_LAGRANGE_STRAIN_TENSOR","CAUCHY_STRESS_TENSOR","VON_MISES_STRESS"]
                                                }
                                            }
                                            """)
                                        )

            self.gid_output.ExecuteInitialize()
            self.gid_output.ExecuteBeforeSolutionLoop()
            self.gid_output.ExecuteInitializeSolutionStep()
            self.gid_output.PrintOutput()
            self.gid_output.ExecuteFinalizeSolutionStep()
            self.gid_output.ExecuteFinalize()
        elif post_type == "vtk":
            self.vtk_output_process = VtkOutputProcess(main_model_part.GetModel(),
                                        KratosMultiphysics.Parameters("""{
                                                "model_part_name"                    : "solid_part",
                                                "extrapolate_gauss_points"           : false,
                                                "nodal_solution_step_data_variables" : ["DISPLACEMENT"],
                                                "gauss_point_variables": ["VON_MISES_STRESS"]
                                            }
                                            """)
                                        )

            self.vtk_output_process.ExecuteInitialize()
            self.vtk_output_process.ExecuteBeforeSolutionLoop()
            self.vtk_output_process.ExecuteInitializeSolutionStep()
            self.vtk_output_process.PrintOutput()
            self.vtk_output_process.ExecuteFinalizeSolutionStep()
            self.vtk_output_process.ExecuteFinalize()
    def __post_process(self, debug = "GiD"):
        if debug == "GiD":
            self.gid_output = GiDOutputProcess(self.main_model_part,
                                        "gid_output",
                                        KM.Parameters("""
                                            {
                                                "result_file_configuration" : {
                                                    "gidpost_flags": {
                                                        "GiDPostMode": "GiD_PostBinary",
                                                        "WriteDeformedMeshFlag": "WriteUndeformed",
                                                        "MultiFileFlag": "SingleFile"
                                                    },
                                                    "nodal_results"       : ["NORMAL"],
                                                    "nodal_nonhistorical_results": [],
                                                    "nodal_flags_results": ["INTERFACE"]
                                                }
                                            }
                                            """)
                                        )

            self.gid_output.ExecuteInitialize()
            self.gid_output.ExecuteBeforeSolutionLoop()
            self.gid_output.ExecuteInitializeSolutionStep()
            self.gid_output.PrintOutput()
            self.gid_output.ExecuteFinalizeSolutionStep()
            self.gid_output.ExecuteFinalize()
        elif debug == "VTK":
            self.vtk_output_process = VtkOutputProcess(self.model,
                                        KM.Parameters("""{
                                                "model_part_name"                    : "Main",
                                                "nodal_solution_step_data_variables" : ["NORMAL"],
                                                "nodal_data_value_variables": [],
                                                "nodal_flags" : ["INTERFACE"]
                                            }
                                            """)
                                        )

            self.vtk_output_process.ExecuteInitialize()
            self.vtk_output_process.ExecuteBeforeSolutionLoop()
            self.vtk_output_process.ExecuteInitializeSolutionStep()
            self.vtk_output_process.PrintOutput()
            self.vtk_output_process.ExecuteFinalizeSolutionStep()
            self.vtk_output_process.ExecuteFinalize()