From 891a398ffb75ad15afe291bbfc39130fad5fb4aa Mon Sep 17 00:00:00 2001 From: Sudhanshu Dubey Date: Mon, 22 Jun 2020 13:08:51 +0200 Subject: [PATCH] FEM: examples, use gmsh mesh object instead off pure mesh object --- src/Mod/Fem/femexamples/boxanalysis_static.py | 4 +++- src/Mod/Fem/femexamples/ccx_cantilever_faceload.py | 4 +++- src/Mod/Fem/femexamples/constraint_contact_shell_shell.py | 4 +++- src/Mod/Fem/femexamples/constraint_contact_solid_solid.py | 4 +++- src/Mod/Fem/femexamples/constraint_tie.py | 4 +++- src/Mod/Fem/femexamples/material_multiple_twoboxes.py | 4 +++- src/Mod/Fem/femexamples/material_nl_platewithhole.py | 4 +++- src/Mod/Fem/femexamples/rc_wall_2d.py | 4 +++- src/Mod/Fem/femexamples/thermomech_bimetall.py | 4 +++- src/Mod/Fem/femexamples/thermomech_flow1d.py | 4 +++- src/Mod/Fem/femexamples/thermomech_spine.py | 4 +++- 11 files changed, 33 insertions(+), 11 deletions(-) diff --git a/src/Mod/Fem/femexamples/boxanalysis_static.py b/src/Mod/Fem/femexamples/boxanalysis_static.py index 0686eba7f3..192962b344 100644 --- a/src/Mod/Fem/femexamples/boxanalysis_static.py +++ b/src/Mod/Fem/femexamples/boxanalysis_static.py @@ -82,8 +82,10 @@ def setup_base(doc=None, solvertype="ccxtools"): control = create_elements(fem_mesh) if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") - femmesh_obj = analysis.addObject(doc.addObject("Fem::FemMeshObject", mesh_name))[0] + femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, mesh_name))[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py b/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py index bcacbfb6ed..dad5056ad0 100644 --- a/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py +++ b/src/Mod/Fem/femexamples/ccx_cantilever_faceload.py @@ -113,9 +113,11 @@ def setup_cantileverbase(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py b/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py index 9d6f55e6ee..de8a518080 100644 --- a/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py +++ b/src/Mod/Fem/femexamples/constraint_contact_shell_shell.py @@ -190,9 +190,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py b/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py index 7f31000b53..6c62f8b1c2 100644 --- a/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py +++ b/src/Mod/Fem/femexamples/constraint_contact_solid_solid.py @@ -176,9 +176,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/constraint_tie.py b/src/Mod/Fem/femexamples/constraint_tie.py index d2fc105a77..013e6a3e19 100644 --- a/src/Mod/Fem/femexamples/constraint_tie.py +++ b/src/Mod/Fem/femexamples/constraint_tie.py @@ -150,9 +150,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/material_multiple_twoboxes.py b/src/Mod/Fem/femexamples/material_multiple_twoboxes.py index eb5457b8bd..0ce2b5b33a 100644 --- a/src/Mod/Fem/femexamples/material_multiple_twoboxes.py +++ b/src/Mod/Fem/femexamples/material_multiple_twoboxes.py @@ -151,9 +151,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/material_nl_platewithhole.py b/src/Mod/Fem/femexamples/material_nl_platewithhole.py index 08383c5d8f..5cfe7178f3 100644 --- a/src/Mod/Fem/femexamples/material_nl_platewithhole.py +++ b/src/Mod/Fem/femexamples/material_nl_platewithhole.py @@ -152,9 +152,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/rc_wall_2d.py b/src/Mod/Fem/femexamples/rc_wall_2d.py index b2c51ea38f..387a27a4c8 100644 --- a/src/Mod/Fem/femexamples/rc_wall_2d.py +++ b/src/Mod/Fem/femexamples/rc_wall_2d.py @@ -159,9 +159,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/thermomech_bimetall.py b/src/Mod/Fem/femexamples/thermomech_bimetall.py index 87584f4efb..2388a43e47 100644 --- a/src/Mod/Fem/femexamples/thermomech_bimetall.py +++ b/src/Mod/Fem/femexamples/thermomech_bimetall.py @@ -183,9 +183,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/thermomech_flow1d.py b/src/Mod/Fem/femexamples/thermomech_flow1d.py index 82e8976ac7..f82eae1877 100644 --- a/src/Mod/Fem/femexamples/thermomech_flow1d.py +++ b/src/Mod/Fem/femexamples/thermomech_flow1d.py @@ -253,9 +253,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc diff --git a/src/Mod/Fem/femexamples/thermomech_spine.py b/src/Mod/Fem/femexamples/thermomech_spine.py index 42eaee3b63..d2cdf6f1ec 100644 --- a/src/Mod/Fem/femexamples/thermomech_spine.py +++ b/src/Mod/Fem/femexamples/thermomech_spine.py @@ -140,9 +140,11 @@ def setup(doc=None, solvertype="ccxtools"): if not control: FreeCAD.Console.PrintError("Error on creating elements.\n") femmesh_obj = analysis.addObject( - doc.addObject("Fem::FemMeshObject", mesh_name) + ObjectsFem.makeMeshGmsh(doc, mesh_name) )[0] femmesh_obj.FemMesh = fem_mesh + femmesh_obj.Part = geom_obj + femmesh_obj.SecondOrderLinear = False doc.recompute() return doc