diff --git a/src/Mod/Fem/CMakeLists.txt b/src/Mod/Fem/CMakeLists.txt index 9d92f1a4e7..abf242cf7e 100755 --- a/src/Mod/Fem/CMakeLists.txt +++ b/src/Mod/Fem/CMakeLists.txt @@ -229,7 +229,10 @@ SET(FemTestsCcx_SRCS femtest/data/calculix/box_static_expected_values femtest/data/calculix/box_static.FCStd femtest/data/calculix/box.FCStd + femtest/data/calculix/ccxcantilever_faceload.inp femtest/data/calculix/ccxcantilever_hexa20.inp + femtest/data/calculix/ccxcantilever_nodeload.inp + femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp femtest/data/calculix/constraint_contact_shell_shell.FCStd femtest/data/calculix/constraint_contact_shell_shell.inp femtest/data/calculix/constraint_contact_solid_solid.FCStd diff --git a/src/Mod/Fem/femtest/app/test_solver_calculix.py b/src/Mod/Fem/femtest/app/test_solver_calculix.py index ed2747776b..8e91e63422 100644 --- a/src/Mod/Fem/femtest/app/test_solver_calculix.py +++ b/src/Mod/Fem/femtest/app/test_solver_calculix.py @@ -96,6 +96,14 @@ class TestSolverCalculix(unittest.TestCase): setup(self.document, "calculix") self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** + def test_ccxcantilever_faceload( + self + ): + from femexamples.ccx_cantilever_faceload import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** def test_ccxcantilever_hexa20( self @@ -104,6 +112,22 @@ class TestSolverCalculix(unittest.TestCase): setup(self.document, "calculix") self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** + def test_ccxcantilever_nodeload( + self + ): + from femexamples.ccx_cantilever_nodeload import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + + # ******************************************************************************************** + def test_ccxcantilever_prescribeddisplacement( + self + ): + from femexamples.ccx_cantilever_prescribeddisplacement import setup + setup(self.document, "calculix") + self.input_file_writing_test(get_namefromdef("test_")) + # ******************************************************************************************** def test_constraint_contact_shell_shell( self diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp b/src/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp new file mode 100644 index 0000000000..27f9102c12 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccxcantilever_faceload.inp @@ -0,0 +1,435 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 8000, 1000, 0 +2, 8000, 1000, 1000 +3, 8000, 0, 0 +4, 8000, 0, 1000 +5, 0, 1000, 0 +6, 0, 1000, 1000 +7, 0, 0, 0 +8, 0, 0, 1000 +9, 728, 1000, 1000 +10, 1456, 1000, 1000 +11, 2184, 1000, 1000 +12, 2912, 1000, 1000 +13, 3640, 1000, 1000 +14, 4368, 1000, 1000 +15, 5096, 1000, 1000 +16, 5824, 1000, 1000 +17, 6552, 1000, 1000 +18, 7280, 1000, 1000 +19, 728, 0, 1000 +20, 1456, 0, 1000 +21, 2184, 0, 1000 +22, 2912, 0, 1000 +23, 3640, 0, 1000 +24, 4368, 0, 1000 +25, 5096, 0, 1000 +26, 5824, 0, 1000 +27, 6552, 0, 1000 +28, 7280, 0, 1000 +29, 728, 1000, 0 +30, 1456, 1000, 0 +31, 2184, 1000, 0 +32, 2912, 1000, 0 +33, 3640, 1000, 0 +34, 4368, 1000, 0 +35, 5096, 1000, 0 +36, 5824, 1000, 0 +37, 6552, 1000, 0 +38, 7280, 1000, 0 +39, 728, 0, 0 +40, 1456, 0, 0 +41, 2184, 0, 0 +42, 2912, 0, 0 +43, 3640, 0, 0 +44, 4368, 0, 0 +45, 5096, 0, 0 +46, 5824, 0, 0 +47, 6552, 0, 0 +48, 7280, 0, 0 +49, 8000, 500, 500 +50, 0, 500, 500 +51, 4731.99999977, 500.000001086, 499.999998599 +52, 0, 500, 1000 +53, 364, 1000, 1000 +54, 1092, 1000, 1000 +55, 1820, 1000, 1000 +56, 2548, 1000, 1000 +57, 3276, 1000, 1000 +58, 4004, 1000, 1000 +59, 4732, 1000, 1000 +60, 5460, 1000, 1000 +61, 6188, 1000, 1000 +62, 6916, 1000, 1000 +63, 7640, 1000, 1000 +64, 8000, 500, 1000 +65, 364, 0, 1000 +66, 1092, 0, 1000 +67, 1820, 0, 1000 +68, 2548, 0, 1000 +69, 3276, 0, 1000 +70, 4004, 0, 1000 +71, 4732, 0, 1000 +72, 5460, 0, 1000 +73, 6188, 0, 1000 +74, 6916, 0, 1000 +75, 7640, 0, 1000 +76, 0, 500, 0 +77, 364, 1000, 0 +78, 1092, 1000, 0 +79, 1820, 1000, 0 +80, 2548, 1000, 0 +81, 3276, 1000, 0 +82, 4004, 1000, 0 +83, 4732, 1000, 0 +84, 5460, 1000, 0 +85, 6188, 1000, 0 +86, 6916, 1000, 0 +87, 7640, 1000, 0 +88, 8000, 500, 0 +89, 364, 0, 0 +90, 1092, 0, 0 +91, 1820, 0, 0 +92, 2548, 0, 0 +93, 3276, 0, 0 +94, 4004, 0, 0 +95, 4732, 0, 0 +96, 5460, 0, 0 +97, 6188, 0, 0 +98, 6916, 0, 0 +99, 7640, 0, 0 +100, 8000, 1000, 500 +101, 0, 1000, 500 +102, 8000, 0, 500 +103, 0, 0, 500 +104, 364, 500, 1000 +105, 728, 500, 1000 +106, 1092, 500, 1000 +107, 1456, 500, 1000 +108, 1820, 500, 1000 +109, 2184, 500, 1000 +110, 2548, 500, 1000 +111, 3276, 500, 1000 +112, 3640, 500, 1000 +113, 4004, 500, 1000 +114, 4368, 500, 1000 +115, 4732, 500, 1000 +116, 5096, 500, 1000 +117, 5460, 500, 1000 +118, 5824, 500, 1000 +119, 6188, 500, 1000 +120, 6552, 500, 1000 +121, 6916, 500, 1000 +122, 7640, 500, 1000 +123, 2912, 500, 1000 +124, 7280, 500, 1000 +125, 364, 500, 0 +126, 1092, 500, 0 +127, 728, 500, 0 +128, 1820, 500, 0 +129, 1456, 500, 0 +130, 2548, 500, 0 +131, 2184, 500, 0 +132, 3640, 500, 0 +133, 3276, 500, 0 +134, 4004, 500, 0 +135, 5096, 500, 0 +136, 4732, 500, 0 +137, 5460, 500, 0 +138, 6188, 500, 0 +139, 5824, 500, 0 +140, 6916, 500, 0 +141, 6552, 500, 0 +142, 7640, 500, 0 +143, 2912, 500, 0 +144, 4368, 500, 0 +145, 7280, 500, 0 +146, 364, 1000, 500 +147, 728, 1000, 500 +148, 1092, 1000, 500 +149, 1456, 1000, 500 +150, 1820, 1000, 500 +151, 2184, 1000, 500 +152, 2548, 1000, 500 +153, 3276, 1000, 500 +154, 3640, 1000, 500 +155, 4004, 1000, 500 +156, 4368, 1000, 500 +157, 4732, 1000, 500 +158, 5096, 1000, 500 +159, 5460, 1000, 500 +160, 5824, 1000, 500 +161, 6188, 1000, 500 +162, 6552, 1000, 500 +163, 6916, 1000, 500 +164, 7640, 1000, 500 +165, 2912, 1000, 500 +166, 7280, 1000, 500 +167, 364, 0, 500 +168, 1092, 0, 500 +169, 728, 0, 500 +170, 1820, 0, 500 +171, 1456, 0, 500 +172, 2548, 0, 500 +173, 2184, 0, 500 +174, 3640, 0, 500 +175, 3276, 0, 500 +176, 4004, 0, 500 +177, 5096, 0, 500 +178, 4732, 0, 500 +179, 5460, 0, 500 +180, 6188, 0, 500 +181, 5824, 0, 500 +182, 6916, 0, 500 +183, 6552, 0, 500 +184, 7640, 0, 500 +185, 2912, 0, 500 +186, 4368, 0, 500 +187, 7280, 0, 500 +188, 8000, 250, 250 +189, 8000, 250, 750 +190, 8000, 750, 750 +191, 8000, 750, 250 +192, 0, 250, 750 +193, 0, 250, 250 +194, 0, 750, 250 +195, 0, 750, 750 +196, 1456, 500, 500 +197, 6552, 500, 500 +198, 6916, 500, 500 +199, 2184, 500, 500 +200, 2548, 500, 500 +201, 2912, 500, 500 +202, 1820, 500, 500 +203, 7640, 750, 250 +204, 7640, 750, 750 +205, 7280, 500, 500 +206, 7640, 250, 250 +207, 5460, 500, 500 +208, 5096, 500, 500 +209, 6188, 500, 500 +210, 5824, 500, 500 +211, 364, 750, 250 +212, 364, 750, 750 +213, 364, 250, 250 +214, 1092, 500, 500 +215, 728, 500, 500 +216, 364, 250, 750 +217, 4549.99999989, 250.000000543, 249.9999993 +218, 4549.99999989, 750.000000543, 249.9999993 +219, 4549.99999989, 750.000000543, 749.9999993 +220, 4368, 500, 500 +221, 4549.99999989, 250.000000543, 749.9999993 +222, 4913.99999989, 250.000000543, 749.9999993 +223, 4913.99999989, 750.000000543, 749.9999993 +224, 3276, 500, 500 +225, 3640, 500, 500 +226, 4004, 500, 500 +227, 4913.99999989, 750.000000543, 249.9999993 +228, 4913.99999989, 250.000000543, 249.9999993 + + +** Volume elements +*Element, TYPE=C3D10, ELSET=Evolumes +149, 19, 40, 10, 20, 168, 196, 106, 66, 171, 107 +150, 31, 10, 30, 40, 150, 149, 79, 128, 196, 129 +151, 17, 38, 18, 47, 163, 166, 62, 197, 140, 198 +152, 41, 32, 11, 12, 130, 152, 199, 200, 165, 56 +153, 32, 12, 41, 42, 165, 200, 130, 143, 201, 92 +154, 21, 42, 12, 22, 172, 201, 110, 68, 185, 123 +155, 31, 10, 40, 11, 150, 196, 128, 151, 55, 202 +156, 12, 11, 41, 21, 56, 199, 200, 110, 109, 173 +157, 41, 20, 11, 40, 170, 108, 199, 91, 171, 202 +158, 41, 20, 21, 11, 170, 67, 173, 199, 108, 109 +159, 11, 32, 41, 31, 152, 130, 199, 151, 80, 131 +160, 10, 11, 20, 40, 55, 108, 107, 196, 202, 171 +161, 17, 38, 47, 37, 163, 140, 197, 162, 86, 141 +162, 18, 38, 49, 48, 166, 203, 204, 205, 145, 206 +163, 15, 46, 45, 36, 207, 96, 208, 159, 139, 137 +164, 16, 47, 46, 37, 209, 97, 210, 161, 141, 138 +165, 4, 18, 2, 49, 122, 63, 64, 189, 204, 190 +166, 17, 18, 27, 47, 62, 121, 120, 197, 198, 183 +167, 18, 38, 48, 47, 166, 145, 205, 198, 140, 98 +168, 23, 12, 42, 22, 111, 201, 175, 69, 123, 185 +169, 47, 26, 27, 17, 180, 73, 183, 197, 119, 120 +170, 29, 50, 9, 6, 211, 212, 147, 146, 195, 53 +171, 48, 27, 18, 47, 182, 121, 205, 98, 183, 198 +172, 7, 8, 39, 50, 103, 167, 89, 193, 192, 213 +173, 9, 40, 39, 30, 214, 90, 215, 148, 129, 126 +174, 21, 42, 41, 12, 172, 92, 173, 110, 201, 200 +175, 9, 50, 29, 39, 212, 211, 147, 215, 213, 127 +176, 7, 29, 50, 39, 125, 211, 193, 89, 127, 213 +177, 11, 31, 41, 40, 151, 131, 199, 202, 128, 91 +178, 16, 47, 37, 17, 209, 141, 161, 61, 197, 162 +179, 9, 40, 30, 10, 214, 129, 148, 54, 196, 149 +180, 38, 2, 49, 1, 164, 190, 203, 87, 100, 191 +181, 38, 2, 18, 49, 164, 63, 166, 203, 190, 204 +182, 49, 48, 38, 3, 206, 145, 203, 188, 99, 142 +183, 49, 38, 1, 3, 203, 87, 191, 188, 142, 88 +184, 4, 49, 3, 48, 189, 188, 102, 184, 206, 99 +185, 48, 28, 4, 18, 187, 75, 184, 205, 124, 122 +186, 18, 49, 4, 48, 204, 189, 122, 205, 206, 184 +187, 50, 7, 5, 29, 193, 76, 194, 211, 125, 77 +188, 6, 50, 5, 29, 195, 194, 101, 146, 211, 77 +189, 9, 50, 19, 6, 212, 216, 105, 53, 195, 104 +190, 19, 50, 9, 39, 216, 212, 105, 169, 213, 215 +191, 19, 50, 8, 6, 216, 192, 65, 104, 195, 52 +192, 9, 40, 10, 19, 214, 196, 54, 105, 168, 106 +193, 44, 51, 34, 14, 217, 218, 144, 220, 219, 156 +194, 24, 51, 44, 14, 221, 217, 186, 114, 219, 220 +195, 15, 25, 24, 51, 116, 71, 115, 223, 222, 221 +196, 12, 43, 32, 13, 224, 133, 165, 57, 225, 153 +197, 12, 43, 23, 42, 224, 174, 111, 201, 93, 175 +198, 12, 43, 13, 23, 224, 225, 57, 111, 174, 112 +199, 12, 43, 42, 32, 224, 93, 201, 165, 133, 143 +200, 13, 34, 14, 44, 155, 156, 58, 226, 144, 220 +201, 24, 14, 15, 51, 114, 59, 115, 221, 219, 223 +202, 24, 23, 14, 44, 70, 113, 114, 186, 176, 220 +203, 32, 33, 13, 43, 81, 154, 153, 133, 132, 225 +204, 33, 34, 13, 43, 82, 155, 154, 132, 134, 225 +205, 14, 35, 15, 51, 157, 158, 59, 219, 227, 223 +206, 45, 25, 15, 51, 177, 116, 208, 228, 222, 223 +207, 43, 44, 13, 23, 94, 226, 225, 174, 176, 112 +208, 34, 35, 14, 51, 83, 157, 156, 218, 227, 219 +209, 15, 46, 36, 16, 207, 139, 159, 60, 210, 160 +210, 35, 36, 15, 45, 84, 159, 158, 135, 137, 208 +211, 36, 37, 16, 46, 85, 161, 160, 139, 138, 210 +212, 26, 25, 16, 46, 72, 117, 118, 181, 179, 210 +213, 16, 47, 17, 26, 209, 197, 61, 118, 180, 119 +214, 16, 47, 26, 46, 209, 180, 118, 210, 97, 181 +215, 28, 27, 18, 48, 74, 121, 124, 187, 182, 205 +216, 34, 35, 51, 45, 83, 227, 218, 136, 135, 228 +217, 14, 13, 44, 23, 58, 226, 220, 113, 112, 176 +218, 25, 44, 24, 51, 178, 186, 71, 222, 217, 221 +219, 45, 44, 25, 51, 95, 178, 177, 228, 217, 222 +220, 15, 46, 16, 25, 207, 210, 60, 116, 179, 117 +221, 15, 46, 25, 45, 207, 179, 116, 208, 96, 177 +222, 8, 50, 19, 39, 192, 216, 65, 167, 213, 169 +223, 51, 35, 15, 45, 227, 158, 223, 228, 135, 208 +224, 44, 34, 43, 13, 144, 134, 94, 226, 155, 225 +225, 44, 51, 45, 34, 217, 228, 95, 144, 218, 136 +226, 29, 9, 39, 30, 147, 215, 127, 78, 148, 126 +227, 9, 40, 19, 39, 214, 168, 105, 215, 90, 169 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +** written by write_element_sets_material_and_femelement_type function +*ELSET,ELSET=FemMaterialSolid +Evolumes + +*********************************************************** +** constraints fixed node sets +** written by write_node_sets_constraints_fixed function +** ConstraintFixed +*NSET,NSET=ConstraintFixed +5, +6, +7, +8, +50, +52, +76, +101, +103, +192, +193, +194, +195, + +*********************************************************** +** Materials +** written by write_materials function +** Young's modulus unit is MPa = N/mm2 +** FreeCAD material name: CalculiX-Steel +** FemMaterial +*MATERIAL, NAME=FemMaterial +*ELASTIC +210000, 0.300 + +*********************************************************** +** Sections +** written by write_femelementsets function +*SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +** written by write_step_begin function +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** written by write_constraints_fixed function +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 + + +*********************************************************** +** constraints force node loads +** written by write_constraints_force function +*CLOAD +** ConstraintForce +** node loads on shape: Box:Face2 +1,3,-0.0000000000000E+00 +2,3,-0.0000000000000E+00 +3,3,-0.0000000000000E+00 +4,3,-0.0000000000000E+00 +49,3,-0.0000000000000E+00 +64,3,-7.5000000000000E+05 +88,3,-7.5000000000000E+05 +100,3,-7.5000000000000E+05 +102,3,-7.5000000000000E+05 +188,3,-1.5000000000000E+06 +189,3,-1.5000000000000E+06 +190,3,-1.5000000000000E+06 +191,3,-1.5000000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +** written by write_outputs_types function +*NODE FILE +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +** written by write_step_end function +*END STEP + +*********************************************************** +** CalculiX Input file +** written by write_footer function +** written by --> FreeCAD 0.19.21875 (Git) +** written on --> Tue Jul 7 07:19:22 2020 +** file name --> ccx_cantilever_faceload.FCStd +** analysis name --> Analysis +** +** +** +** Units +** +** Geometry (mesh data) --> mm +** Materials (Young's modulus) --> N/mm2 = MPa +** Loads (nodal loads) --> N +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp b/src/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp new file mode 100644 index 0000000000..08ff71accf --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccxcantilever_nodeload.inp @@ -0,0 +1,432 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 8000, 1000, 0 +2, 8000, 1000, 1000 +3, 8000, 0, 0 +4, 8000, 0, 1000 +5, 0, 1000, 0 +6, 0, 1000, 1000 +7, 0, 0, 0 +8, 0, 0, 1000 +9, 728, 1000, 1000 +10, 1456, 1000, 1000 +11, 2184, 1000, 1000 +12, 2912, 1000, 1000 +13, 3640, 1000, 1000 +14, 4368, 1000, 1000 +15, 5096, 1000, 1000 +16, 5824, 1000, 1000 +17, 6552, 1000, 1000 +18, 7280, 1000, 1000 +19, 728, 0, 1000 +20, 1456, 0, 1000 +21, 2184, 0, 1000 +22, 2912, 0, 1000 +23, 3640, 0, 1000 +24, 4368, 0, 1000 +25, 5096, 0, 1000 +26, 5824, 0, 1000 +27, 6552, 0, 1000 +28, 7280, 0, 1000 +29, 728, 1000, 0 +30, 1456, 1000, 0 +31, 2184, 1000, 0 +32, 2912, 1000, 0 +33, 3640, 1000, 0 +34, 4368, 1000, 0 +35, 5096, 1000, 0 +36, 5824, 1000, 0 +37, 6552, 1000, 0 +38, 7280, 1000, 0 +39, 728, 0, 0 +40, 1456, 0, 0 +41, 2184, 0, 0 +42, 2912, 0, 0 +43, 3640, 0, 0 +44, 4368, 0, 0 +45, 5096, 0, 0 +46, 5824, 0, 0 +47, 6552, 0, 0 +48, 7280, 0, 0 +49, 8000, 500, 500 +50, 0, 500, 500 +51, 4731.99999977, 500.000001086, 499.999998599 +52, 0, 500, 1000 +53, 364, 1000, 1000 +54, 1092, 1000, 1000 +55, 1820, 1000, 1000 +56, 2548, 1000, 1000 +57, 3276, 1000, 1000 +58, 4004, 1000, 1000 +59, 4732, 1000, 1000 +60, 5460, 1000, 1000 +61, 6188, 1000, 1000 +62, 6916, 1000, 1000 +63, 7640, 1000, 1000 +64, 8000, 500, 1000 +65, 364, 0, 1000 +66, 1092, 0, 1000 +67, 1820, 0, 1000 +68, 2548, 0, 1000 +69, 3276, 0, 1000 +70, 4004, 0, 1000 +71, 4732, 0, 1000 +72, 5460, 0, 1000 +73, 6188, 0, 1000 +74, 6916, 0, 1000 +75, 7640, 0, 1000 +76, 0, 500, 0 +77, 364, 1000, 0 +78, 1092, 1000, 0 +79, 1820, 1000, 0 +80, 2548, 1000, 0 +81, 3276, 1000, 0 +82, 4004, 1000, 0 +83, 4732, 1000, 0 +84, 5460, 1000, 0 +85, 6188, 1000, 0 +86, 6916, 1000, 0 +87, 7640, 1000, 0 +88, 8000, 500, 0 +89, 364, 0, 0 +90, 1092, 0, 0 +91, 1820, 0, 0 +92, 2548, 0, 0 +93, 3276, 0, 0 +94, 4004, 0, 0 +95, 4732, 0, 0 +96, 5460, 0, 0 +97, 6188, 0, 0 +98, 6916, 0, 0 +99, 7640, 0, 0 +100, 8000, 1000, 500 +101, 0, 1000, 500 +102, 8000, 0, 500 +103, 0, 0, 500 +104, 364, 500, 1000 +105, 728, 500, 1000 +106, 1092, 500, 1000 +107, 1456, 500, 1000 +108, 1820, 500, 1000 +109, 2184, 500, 1000 +110, 2548, 500, 1000 +111, 3276, 500, 1000 +112, 3640, 500, 1000 +113, 4004, 500, 1000 +114, 4368, 500, 1000 +115, 4732, 500, 1000 +116, 5096, 500, 1000 +117, 5460, 500, 1000 +118, 5824, 500, 1000 +119, 6188, 500, 1000 +120, 6552, 500, 1000 +121, 6916, 500, 1000 +122, 7640, 500, 1000 +123, 2912, 500, 1000 +124, 7280, 500, 1000 +125, 364, 500, 0 +126, 1092, 500, 0 +127, 728, 500, 0 +128, 1820, 500, 0 +129, 1456, 500, 0 +130, 2548, 500, 0 +131, 2184, 500, 0 +132, 3640, 500, 0 +133, 3276, 500, 0 +134, 4004, 500, 0 +135, 5096, 500, 0 +136, 4732, 500, 0 +137, 5460, 500, 0 +138, 6188, 500, 0 +139, 5824, 500, 0 +140, 6916, 500, 0 +141, 6552, 500, 0 +142, 7640, 500, 0 +143, 2912, 500, 0 +144, 4368, 500, 0 +145, 7280, 500, 0 +146, 364, 1000, 500 +147, 728, 1000, 500 +148, 1092, 1000, 500 +149, 1456, 1000, 500 +150, 1820, 1000, 500 +151, 2184, 1000, 500 +152, 2548, 1000, 500 +153, 3276, 1000, 500 +154, 3640, 1000, 500 +155, 4004, 1000, 500 +156, 4368, 1000, 500 +157, 4732, 1000, 500 +158, 5096, 1000, 500 +159, 5460, 1000, 500 +160, 5824, 1000, 500 +161, 6188, 1000, 500 +162, 6552, 1000, 500 +163, 6916, 1000, 500 +164, 7640, 1000, 500 +165, 2912, 1000, 500 +166, 7280, 1000, 500 +167, 364, 0, 500 +168, 1092, 0, 500 +169, 728, 0, 500 +170, 1820, 0, 500 +171, 1456, 0, 500 +172, 2548, 0, 500 +173, 2184, 0, 500 +174, 3640, 0, 500 +175, 3276, 0, 500 +176, 4004, 0, 500 +177, 5096, 0, 500 +178, 4732, 0, 500 +179, 5460, 0, 500 +180, 6188, 0, 500 +181, 5824, 0, 500 +182, 6916, 0, 500 +183, 6552, 0, 500 +184, 7640, 0, 500 +185, 2912, 0, 500 +186, 4368, 0, 500 +187, 7280, 0, 500 +188, 8000, 250, 250 +189, 8000, 250, 750 +190, 8000, 750, 750 +191, 8000, 750, 250 +192, 0, 250, 750 +193, 0, 250, 250 +194, 0, 750, 250 +195, 0, 750, 750 +196, 1456, 500, 500 +197, 6552, 500, 500 +198, 6916, 500, 500 +199, 2184, 500, 500 +200, 2548, 500, 500 +201, 2912, 500, 500 +202, 1820, 500, 500 +203, 7640, 750, 250 +204, 7640, 750, 750 +205, 7280, 500, 500 +206, 7640, 250, 250 +207, 5460, 500, 500 +208, 5096, 500, 500 +209, 6188, 500, 500 +210, 5824, 500, 500 +211, 364, 750, 250 +212, 364, 750, 750 +213, 364, 250, 250 +214, 1092, 500, 500 +215, 728, 500, 500 +216, 364, 250, 750 +217, 4549.99999989, 250.000000543, 249.9999993 +218, 4549.99999989, 750.000000543, 249.9999993 +219, 4549.99999989, 750.000000543, 749.9999993 +220, 4368, 500, 500 +221, 4549.99999989, 250.000000543, 749.9999993 +222, 4913.99999989, 250.000000543, 749.9999993 +223, 4913.99999989, 750.000000543, 749.9999993 +224, 3276, 500, 500 +225, 3640, 500, 500 +226, 4004, 500, 500 +227, 4913.99999989, 750.000000543, 249.9999993 +228, 4913.99999989, 250.000000543, 249.9999993 + + +** Volume elements +*Element, TYPE=C3D10, ELSET=Evolumes +149, 19, 40, 10, 20, 168, 196, 106, 66, 171, 107 +150, 31, 10, 30, 40, 150, 149, 79, 128, 196, 129 +151, 17, 38, 18, 47, 163, 166, 62, 197, 140, 198 +152, 41, 32, 11, 12, 130, 152, 199, 200, 165, 56 +153, 32, 12, 41, 42, 165, 200, 130, 143, 201, 92 +154, 21, 42, 12, 22, 172, 201, 110, 68, 185, 123 +155, 31, 10, 40, 11, 150, 196, 128, 151, 55, 202 +156, 12, 11, 41, 21, 56, 199, 200, 110, 109, 173 +157, 41, 20, 11, 40, 170, 108, 199, 91, 171, 202 +158, 41, 20, 21, 11, 170, 67, 173, 199, 108, 109 +159, 11, 32, 41, 31, 152, 130, 199, 151, 80, 131 +160, 10, 11, 20, 40, 55, 108, 107, 196, 202, 171 +161, 17, 38, 47, 37, 163, 140, 197, 162, 86, 141 +162, 18, 38, 49, 48, 166, 203, 204, 205, 145, 206 +163, 15, 46, 45, 36, 207, 96, 208, 159, 139, 137 +164, 16, 47, 46, 37, 209, 97, 210, 161, 141, 138 +165, 4, 18, 2, 49, 122, 63, 64, 189, 204, 190 +166, 17, 18, 27, 47, 62, 121, 120, 197, 198, 183 +167, 18, 38, 48, 47, 166, 145, 205, 198, 140, 98 +168, 23, 12, 42, 22, 111, 201, 175, 69, 123, 185 +169, 47, 26, 27, 17, 180, 73, 183, 197, 119, 120 +170, 29, 50, 9, 6, 211, 212, 147, 146, 195, 53 +171, 48, 27, 18, 47, 182, 121, 205, 98, 183, 198 +172, 7, 8, 39, 50, 103, 167, 89, 193, 192, 213 +173, 9, 40, 39, 30, 214, 90, 215, 148, 129, 126 +174, 21, 42, 41, 12, 172, 92, 173, 110, 201, 200 +175, 9, 50, 29, 39, 212, 211, 147, 215, 213, 127 +176, 7, 29, 50, 39, 125, 211, 193, 89, 127, 213 +177, 11, 31, 41, 40, 151, 131, 199, 202, 128, 91 +178, 16, 47, 37, 17, 209, 141, 161, 61, 197, 162 +179, 9, 40, 30, 10, 214, 129, 148, 54, 196, 149 +180, 38, 2, 49, 1, 164, 190, 203, 87, 100, 191 +181, 38, 2, 18, 49, 164, 63, 166, 203, 190, 204 +182, 49, 48, 38, 3, 206, 145, 203, 188, 99, 142 +183, 49, 38, 1, 3, 203, 87, 191, 188, 142, 88 +184, 4, 49, 3, 48, 189, 188, 102, 184, 206, 99 +185, 48, 28, 4, 18, 187, 75, 184, 205, 124, 122 +186, 18, 49, 4, 48, 204, 189, 122, 205, 206, 184 +187, 50, 7, 5, 29, 193, 76, 194, 211, 125, 77 +188, 6, 50, 5, 29, 195, 194, 101, 146, 211, 77 +189, 9, 50, 19, 6, 212, 216, 105, 53, 195, 104 +190, 19, 50, 9, 39, 216, 212, 105, 169, 213, 215 +191, 19, 50, 8, 6, 216, 192, 65, 104, 195, 52 +192, 9, 40, 10, 19, 214, 196, 54, 105, 168, 106 +193, 44, 51, 34, 14, 217, 218, 144, 220, 219, 156 +194, 24, 51, 44, 14, 221, 217, 186, 114, 219, 220 +195, 15, 25, 24, 51, 116, 71, 115, 223, 222, 221 +196, 12, 43, 32, 13, 224, 133, 165, 57, 225, 153 +197, 12, 43, 23, 42, 224, 174, 111, 201, 93, 175 +198, 12, 43, 13, 23, 224, 225, 57, 111, 174, 112 +199, 12, 43, 42, 32, 224, 93, 201, 165, 133, 143 +200, 13, 34, 14, 44, 155, 156, 58, 226, 144, 220 +201, 24, 14, 15, 51, 114, 59, 115, 221, 219, 223 +202, 24, 23, 14, 44, 70, 113, 114, 186, 176, 220 +203, 32, 33, 13, 43, 81, 154, 153, 133, 132, 225 +204, 33, 34, 13, 43, 82, 155, 154, 132, 134, 225 +205, 14, 35, 15, 51, 157, 158, 59, 219, 227, 223 +206, 45, 25, 15, 51, 177, 116, 208, 228, 222, 223 +207, 43, 44, 13, 23, 94, 226, 225, 174, 176, 112 +208, 34, 35, 14, 51, 83, 157, 156, 218, 227, 219 +209, 15, 46, 36, 16, 207, 139, 159, 60, 210, 160 +210, 35, 36, 15, 45, 84, 159, 158, 135, 137, 208 +211, 36, 37, 16, 46, 85, 161, 160, 139, 138, 210 +212, 26, 25, 16, 46, 72, 117, 118, 181, 179, 210 +213, 16, 47, 17, 26, 209, 197, 61, 118, 180, 119 +214, 16, 47, 26, 46, 209, 180, 118, 210, 97, 181 +215, 28, 27, 18, 48, 74, 121, 124, 187, 182, 205 +216, 34, 35, 51, 45, 83, 227, 218, 136, 135, 228 +217, 14, 13, 44, 23, 58, 226, 220, 113, 112, 176 +218, 25, 44, 24, 51, 178, 186, 71, 222, 217, 221 +219, 45, 44, 25, 51, 95, 178, 177, 228, 217, 222 +220, 15, 46, 16, 25, 207, 210, 60, 116, 179, 117 +221, 15, 46, 25, 45, 207, 179, 116, 208, 96, 177 +222, 8, 50, 19, 39, 192, 216, 65, 167, 213, 169 +223, 51, 35, 15, 45, 227, 158, 223, 228, 135, 208 +224, 44, 34, 43, 13, 144, 134, 94, 226, 155, 225 +225, 44, 51, 45, 34, 217, 228, 95, 144, 218, 136 +226, 29, 9, 39, 30, 147, 215, 127, 78, 148, 126 +227, 9, 40, 19, 39, 214, 168, 105, 215, 90, 169 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +** written by write_element_sets_material_and_femelement_type function +*ELSET,ELSET=FemMaterialSolid +Evolumes + +*********************************************************** +** constraints fixed node sets +** written by write_node_sets_constraints_fixed function +** ConstraintFixed +*NSET,NSET=ConstraintFixed +5, +6, +7, +8, +50, +52, +76, +101, +103, +192, +193, +194, +195, + +*********************************************************** +** Materials +** written by write_materials function +** Young's modulus unit is MPa = N/mm2 +** FreeCAD material name: CalculiX-Steel +** FemMaterial +*MATERIAL, NAME=FemMaterial +*ELASTIC +210000, 0.300 + +*********************************************************** +** Sections +** written by write_femelementsets function +*SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +** written by write_step_begin function +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** written by write_constraints_fixed function +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 + + +*********************************************************** +** constraints force node loads +** written by write_constraints_force function +*CLOAD +** ConstraintForce +** node load on shape: Box:Vertex5 +4,3,-2.2500000000000E+06 + +** node load on shape: Box:Vertex6 +3,3,-2.2500000000000E+06 + +** node load on shape: Box:Vertex7 +2,3,-2.2500000000000E+06 + +** node load on shape: Box:Vertex8 +1,3,-2.2500000000000E+06 + + + +*********************************************************** +** Outputs --> frd file +** written by write_outputs_types function +*NODE FILE +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +** written by write_step_end function +*END STEP + +*********************************************************** +** CalculiX Input file +** written by write_footer function +** written by --> FreeCAD 0.19.21875 (Git) +** written on --> Tue Jul 7 07:19:27 2020 +** file name --> ccx_cantilever_nodeload.FCStd +** analysis name --> Analysis +** +** +** +** Units +** +** Geometry (mesh data) --> mm +** Materials (Young's modulus) --> N/mm2 = MPa +** Loads (nodal loads) --> N +** diff --git a/src/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp b/src/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp new file mode 100644 index 0000000000..861dd97540 --- /dev/null +++ b/src/Mod/Fem/femtest/data/calculix/ccxcantilever_prescribeddisplacement.inp @@ -0,0 +1,440 @@ +** written by FreeCAD inp file writer for CalculiX,Abaqus meshes +** highest dimension mesh elements only. + +** Nodes +*Node, NSET=Nall +1, 8000, 1000, 0 +2, 8000, 1000, 1000 +3, 8000, 0, 0 +4, 8000, 0, 1000 +5, 0, 1000, 0 +6, 0, 1000, 1000 +7, 0, 0, 0 +8, 0, 0, 1000 +9, 728, 1000, 1000 +10, 1456, 1000, 1000 +11, 2184, 1000, 1000 +12, 2912, 1000, 1000 +13, 3640, 1000, 1000 +14, 4368, 1000, 1000 +15, 5096, 1000, 1000 +16, 5824, 1000, 1000 +17, 6552, 1000, 1000 +18, 7280, 1000, 1000 +19, 728, 0, 1000 +20, 1456, 0, 1000 +21, 2184, 0, 1000 +22, 2912, 0, 1000 +23, 3640, 0, 1000 +24, 4368, 0, 1000 +25, 5096, 0, 1000 +26, 5824, 0, 1000 +27, 6552, 0, 1000 +28, 7280, 0, 1000 +29, 728, 1000, 0 +30, 1456, 1000, 0 +31, 2184, 1000, 0 +32, 2912, 1000, 0 +33, 3640, 1000, 0 +34, 4368, 1000, 0 +35, 5096, 1000, 0 +36, 5824, 1000, 0 +37, 6552, 1000, 0 +38, 7280, 1000, 0 +39, 728, 0, 0 +40, 1456, 0, 0 +41, 2184, 0, 0 +42, 2912, 0, 0 +43, 3640, 0, 0 +44, 4368, 0, 0 +45, 5096, 0, 0 +46, 5824, 0, 0 +47, 6552, 0, 0 +48, 7280, 0, 0 +49, 8000, 500, 500 +50, 0, 500, 500 +51, 4731.99999977, 500.000001086, 499.999998599 +52, 0, 500, 1000 +53, 364, 1000, 1000 +54, 1092, 1000, 1000 +55, 1820, 1000, 1000 +56, 2548, 1000, 1000 +57, 3276, 1000, 1000 +58, 4004, 1000, 1000 +59, 4732, 1000, 1000 +60, 5460, 1000, 1000 +61, 6188, 1000, 1000 +62, 6916, 1000, 1000 +63, 7640, 1000, 1000 +64, 8000, 500, 1000 +65, 364, 0, 1000 +66, 1092, 0, 1000 +67, 1820, 0, 1000 +68, 2548, 0, 1000 +69, 3276, 0, 1000 +70, 4004, 0, 1000 +71, 4732, 0, 1000 +72, 5460, 0, 1000 +73, 6188, 0, 1000 +74, 6916, 0, 1000 +75, 7640, 0, 1000 +76, 0, 500, 0 +77, 364, 1000, 0 +78, 1092, 1000, 0 +79, 1820, 1000, 0 +80, 2548, 1000, 0 +81, 3276, 1000, 0 +82, 4004, 1000, 0 +83, 4732, 1000, 0 +84, 5460, 1000, 0 +85, 6188, 1000, 0 +86, 6916, 1000, 0 +87, 7640, 1000, 0 +88, 8000, 500, 0 +89, 364, 0, 0 +90, 1092, 0, 0 +91, 1820, 0, 0 +92, 2548, 0, 0 +93, 3276, 0, 0 +94, 4004, 0, 0 +95, 4732, 0, 0 +96, 5460, 0, 0 +97, 6188, 0, 0 +98, 6916, 0, 0 +99, 7640, 0, 0 +100, 8000, 1000, 500 +101, 0, 1000, 500 +102, 8000, 0, 500 +103, 0, 0, 500 +104, 364, 500, 1000 +105, 728, 500, 1000 +106, 1092, 500, 1000 +107, 1456, 500, 1000 +108, 1820, 500, 1000 +109, 2184, 500, 1000 +110, 2548, 500, 1000 +111, 3276, 500, 1000 +112, 3640, 500, 1000 +113, 4004, 500, 1000 +114, 4368, 500, 1000 +115, 4732, 500, 1000 +116, 5096, 500, 1000 +117, 5460, 500, 1000 +118, 5824, 500, 1000 +119, 6188, 500, 1000 +120, 6552, 500, 1000 +121, 6916, 500, 1000 +122, 7640, 500, 1000 +123, 2912, 500, 1000 +124, 7280, 500, 1000 +125, 364, 500, 0 +126, 1092, 500, 0 +127, 728, 500, 0 +128, 1820, 500, 0 +129, 1456, 500, 0 +130, 2548, 500, 0 +131, 2184, 500, 0 +132, 3640, 500, 0 +133, 3276, 500, 0 +134, 4004, 500, 0 +135, 5096, 500, 0 +136, 4732, 500, 0 +137, 5460, 500, 0 +138, 6188, 500, 0 +139, 5824, 500, 0 +140, 6916, 500, 0 +141, 6552, 500, 0 +142, 7640, 500, 0 +143, 2912, 500, 0 +144, 4368, 500, 0 +145, 7280, 500, 0 +146, 364, 1000, 500 +147, 728, 1000, 500 +148, 1092, 1000, 500 +149, 1456, 1000, 500 +150, 1820, 1000, 500 +151, 2184, 1000, 500 +152, 2548, 1000, 500 +153, 3276, 1000, 500 +154, 3640, 1000, 500 +155, 4004, 1000, 500 +156, 4368, 1000, 500 +157, 4732, 1000, 500 +158, 5096, 1000, 500 +159, 5460, 1000, 500 +160, 5824, 1000, 500 +161, 6188, 1000, 500 +162, 6552, 1000, 500 +163, 6916, 1000, 500 +164, 7640, 1000, 500 +165, 2912, 1000, 500 +166, 7280, 1000, 500 +167, 364, 0, 500 +168, 1092, 0, 500 +169, 728, 0, 500 +170, 1820, 0, 500 +171, 1456, 0, 500 +172, 2548, 0, 500 +173, 2184, 0, 500 +174, 3640, 0, 500 +175, 3276, 0, 500 +176, 4004, 0, 500 +177, 5096, 0, 500 +178, 4732, 0, 500 +179, 5460, 0, 500 +180, 6188, 0, 500 +181, 5824, 0, 500 +182, 6916, 0, 500 +183, 6552, 0, 500 +184, 7640, 0, 500 +185, 2912, 0, 500 +186, 4368, 0, 500 +187, 7280, 0, 500 +188, 8000, 250, 250 +189, 8000, 250, 750 +190, 8000, 750, 750 +191, 8000, 750, 250 +192, 0, 250, 750 +193, 0, 250, 250 +194, 0, 750, 250 +195, 0, 750, 750 +196, 1456, 500, 500 +197, 6552, 500, 500 +198, 6916, 500, 500 +199, 2184, 500, 500 +200, 2548, 500, 500 +201, 2912, 500, 500 +202, 1820, 500, 500 +203, 7640, 750, 250 +204, 7640, 750, 750 +205, 7280, 500, 500 +206, 7640, 250, 250 +207, 5460, 500, 500 +208, 5096, 500, 500 +209, 6188, 500, 500 +210, 5824, 500, 500 +211, 364, 750, 250 +212, 364, 750, 750 +213, 364, 250, 250 +214, 1092, 500, 500 +215, 728, 500, 500 +216, 364, 250, 750 +217, 4549.99999989, 250.000000543, 249.9999993 +218, 4549.99999989, 750.000000543, 249.9999993 +219, 4549.99999989, 750.000000543, 749.9999993 +220, 4368, 500, 500 +221, 4549.99999989, 250.000000543, 749.9999993 +222, 4913.99999989, 250.000000543, 749.9999993 +223, 4913.99999989, 750.000000543, 749.9999993 +224, 3276, 500, 500 +225, 3640, 500, 500 +226, 4004, 500, 500 +227, 4913.99999989, 750.000000543, 249.9999993 +228, 4913.99999989, 250.000000543, 249.9999993 + + +** Volume elements +*Element, TYPE=C3D10, ELSET=Evolumes +149, 19, 40, 10, 20, 168, 196, 106, 66, 171, 107 +150, 31, 10, 30, 40, 150, 149, 79, 128, 196, 129 +151, 17, 38, 18, 47, 163, 166, 62, 197, 140, 198 +152, 41, 32, 11, 12, 130, 152, 199, 200, 165, 56 +153, 32, 12, 41, 42, 165, 200, 130, 143, 201, 92 +154, 21, 42, 12, 22, 172, 201, 110, 68, 185, 123 +155, 31, 10, 40, 11, 150, 196, 128, 151, 55, 202 +156, 12, 11, 41, 21, 56, 199, 200, 110, 109, 173 +157, 41, 20, 11, 40, 170, 108, 199, 91, 171, 202 +158, 41, 20, 21, 11, 170, 67, 173, 199, 108, 109 +159, 11, 32, 41, 31, 152, 130, 199, 151, 80, 131 +160, 10, 11, 20, 40, 55, 108, 107, 196, 202, 171 +161, 17, 38, 47, 37, 163, 140, 197, 162, 86, 141 +162, 18, 38, 49, 48, 166, 203, 204, 205, 145, 206 +163, 15, 46, 45, 36, 207, 96, 208, 159, 139, 137 +164, 16, 47, 46, 37, 209, 97, 210, 161, 141, 138 +165, 4, 18, 2, 49, 122, 63, 64, 189, 204, 190 +166, 17, 18, 27, 47, 62, 121, 120, 197, 198, 183 +167, 18, 38, 48, 47, 166, 145, 205, 198, 140, 98 +168, 23, 12, 42, 22, 111, 201, 175, 69, 123, 185 +169, 47, 26, 27, 17, 180, 73, 183, 197, 119, 120 +170, 29, 50, 9, 6, 211, 212, 147, 146, 195, 53 +171, 48, 27, 18, 47, 182, 121, 205, 98, 183, 198 +172, 7, 8, 39, 50, 103, 167, 89, 193, 192, 213 +173, 9, 40, 39, 30, 214, 90, 215, 148, 129, 126 +174, 21, 42, 41, 12, 172, 92, 173, 110, 201, 200 +175, 9, 50, 29, 39, 212, 211, 147, 215, 213, 127 +176, 7, 29, 50, 39, 125, 211, 193, 89, 127, 213 +177, 11, 31, 41, 40, 151, 131, 199, 202, 128, 91 +178, 16, 47, 37, 17, 209, 141, 161, 61, 197, 162 +179, 9, 40, 30, 10, 214, 129, 148, 54, 196, 149 +180, 38, 2, 49, 1, 164, 190, 203, 87, 100, 191 +181, 38, 2, 18, 49, 164, 63, 166, 203, 190, 204 +182, 49, 48, 38, 3, 206, 145, 203, 188, 99, 142 +183, 49, 38, 1, 3, 203, 87, 191, 188, 142, 88 +184, 4, 49, 3, 48, 189, 188, 102, 184, 206, 99 +185, 48, 28, 4, 18, 187, 75, 184, 205, 124, 122 +186, 18, 49, 4, 48, 204, 189, 122, 205, 206, 184 +187, 50, 7, 5, 29, 193, 76, 194, 211, 125, 77 +188, 6, 50, 5, 29, 195, 194, 101, 146, 211, 77 +189, 9, 50, 19, 6, 212, 216, 105, 53, 195, 104 +190, 19, 50, 9, 39, 216, 212, 105, 169, 213, 215 +191, 19, 50, 8, 6, 216, 192, 65, 104, 195, 52 +192, 9, 40, 10, 19, 214, 196, 54, 105, 168, 106 +193, 44, 51, 34, 14, 217, 218, 144, 220, 219, 156 +194, 24, 51, 44, 14, 221, 217, 186, 114, 219, 220 +195, 15, 25, 24, 51, 116, 71, 115, 223, 222, 221 +196, 12, 43, 32, 13, 224, 133, 165, 57, 225, 153 +197, 12, 43, 23, 42, 224, 174, 111, 201, 93, 175 +198, 12, 43, 13, 23, 224, 225, 57, 111, 174, 112 +199, 12, 43, 42, 32, 224, 93, 201, 165, 133, 143 +200, 13, 34, 14, 44, 155, 156, 58, 226, 144, 220 +201, 24, 14, 15, 51, 114, 59, 115, 221, 219, 223 +202, 24, 23, 14, 44, 70, 113, 114, 186, 176, 220 +203, 32, 33, 13, 43, 81, 154, 153, 133, 132, 225 +204, 33, 34, 13, 43, 82, 155, 154, 132, 134, 225 +205, 14, 35, 15, 51, 157, 158, 59, 219, 227, 223 +206, 45, 25, 15, 51, 177, 116, 208, 228, 222, 223 +207, 43, 44, 13, 23, 94, 226, 225, 174, 176, 112 +208, 34, 35, 14, 51, 83, 157, 156, 218, 227, 219 +209, 15, 46, 36, 16, 207, 139, 159, 60, 210, 160 +210, 35, 36, 15, 45, 84, 159, 158, 135, 137, 208 +211, 36, 37, 16, 46, 85, 161, 160, 139, 138, 210 +212, 26, 25, 16, 46, 72, 117, 118, 181, 179, 210 +213, 16, 47, 17, 26, 209, 197, 61, 118, 180, 119 +214, 16, 47, 26, 46, 209, 180, 118, 210, 97, 181 +215, 28, 27, 18, 48, 74, 121, 124, 187, 182, 205 +216, 34, 35, 51, 45, 83, 227, 218, 136, 135, 228 +217, 14, 13, 44, 23, 58, 226, 220, 113, 112, 176 +218, 25, 44, 24, 51, 178, 186, 71, 222, 217, 221 +219, 45, 44, 25, 51, 95, 178, 177, 228, 217, 222 +220, 15, 46, 16, 25, 207, 210, 60, 116, 179, 117 +221, 15, 46, 25, 45, 207, 179, 116, 208, 96, 177 +222, 8, 50, 19, 39, 192, 216, 65, 167, 213, 169 +223, 51, 35, 15, 45, 227, 158, 223, 228, 135, 208 +224, 44, 34, 43, 13, 144, 134, 94, 226, 155, 225 +225, 44, 51, 45, 34, 217, 228, 95, 144, 218, 136 +226, 29, 9, 39, 30, 147, 215, 127, 78, 148, 126 +227, 9, 40, 19, 39, 214, 168, 105, 215, 90, 169 + +** Define element set Eall +*ELSET, ELSET=Eall +Evolumes + + + +*********************************************************** +** Element sets for materials and FEM element type (solid, shell, beam, fluid) +** written by write_element_sets_material_and_femelement_type function +*ELSET,ELSET=FemMaterialSolid +Evolumes + +*********************************************************** +** constraints fixed node sets +** written by write_node_sets_constraints_fixed function +** ConstraintFixed +*NSET,NSET=ConstraintFixed +5, +6, +7, +8, +50, +52, +76, +101, +103, +192, +193, +194, +195, + +*********************************************************** +** constraints displacement node sets +** written by write_node_sets_constraints_displacement function +** ConstraintDisplacmentPrescribed +*NSET,NSET=ConstraintDisplacmentPrescribed +1, +2, +3, +4, +49, +64, +88, +100, +102, +188, +189, +190, +191, + +*********************************************************** +** Materials +** written by write_materials function +** Young's modulus unit is MPa = N/mm2 +** FreeCAD material name: CalculiX-Steel +** FemMaterial +*MATERIAL, NAME=FemMaterial +*ELASTIC +210000, 0.300 + +*********************************************************** +** Sections +** written by write_femelementsets function +*SOLID SECTION, ELSET=FemMaterialSolid, MATERIAL=FemMaterial + +*********************************************************** +** At least one step is needed to run an CalculiX analysis of FreeCAD +** written by write_step_begin function +*STEP +*STATIC + + +*********************************************************** +** Fixed Constraints +** written by write_constraints_fixed function +** ConstraintFixed +*BOUNDARY +ConstraintFixed,1 +ConstraintFixed,2 +ConstraintFixed,3 + + +*********************************************************** +** Displacement constraint applied +** written by write_constraints_displacement function +** ConstraintDisplacmentPrescribed +*BOUNDARY +ConstraintDisplacmentPrescribed,3,3,-250.0 + + +*********************************************************** +** Outputs --> frd file +** written by write_outputs_types function +*NODE FILE +U +*EL FILE +S, E +** outputs --> dat file +** reaction forces for Constraint fixed +*NODE PRINT, NSET=ConstraintFixed, TOTALS=ONLY +RF + + +*********************************************************** +** written by write_step_end function +*END STEP + +*********************************************************** +** CalculiX Input file +** written by write_footer function +** written by --> FreeCAD 0.19.21875 (Git) +** written on --> Tue Jul 7 07:19:31 2020 +** file name --> ccx_cantilever_prescribeddisplacement.FCStd +** analysis name --> Analysis +** +** +** +** Units +** +** Geometry (mesh data) --> mm +** Materials (Young's modulus) --> N/mm2 = MPa +** Loads (nodal loads) --> N +** diff --git a/src/Mod/Fem/femtest/test_commands.sh b/src/Mod/Fem/femtest/test_commands.sh index 6406f8d206..084318be50 100644 --- a/src/Mod/Fem/femtest/test_commands.sh +++ b/src/Mod/Fem/femtest/test_commands.sh @@ -39,14 +39,6 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer # methods make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_box_frequency make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_box_static -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_ccxcantilever_hexa20 -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_constraint_contact_shell_shell -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_constraint_contact_solid_solid -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_constraint_sectionprint -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_constraint_tie -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_material_multiple -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_material_nonlinear -make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_thermomech_bimetall make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_thermomech_flow1D make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_ccxtools.TestCcxTools.test_thermomech_spine make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_common.TestFemCommon.test_adding_refshaps @@ -81,7 +73,21 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_stress_ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_stress_principal_reinforced make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_rho make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult.test_disp_abs +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_box_frequency make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_box_static +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_hexa20 +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_nodeload +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_prescribeddisplacement +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_shell_shell +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_solid_solid +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_sectionprint +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_tie +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_material_multiple +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_material_nonlinear +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_thermomech_bimetall +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_thermomech_flow1D +make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix.test_thermomech_spine make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_box_static make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_faceload make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_nodeload @@ -99,46 +105,6 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_ccxtools.TestCcxTools.test_box_static' )) -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_ccxcantilever_hexa20' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_constraint_contact_shell_shell' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_constraint_contact_solid_solid' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_constraint_sectionprint' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_constraint_tie' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_material_multiple' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_material_nonlinear' -)) - -import unittest -unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( - 'femtest.app.test_ccxtools.TestCcxTools.test_thermomech_bimetall' -)) - import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_ccxtools.TestCcxTools.test_thermomech_flow1D' @@ -309,11 +275,81 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_result.TestResult.test_disp_abs' )) +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_box_frequency' +)) + import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_solver_calculix.TestSolverCalculix.test_box_static' )) +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_faceload' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_hexa20' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_nodeload' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_ccxcantilever_prescribeddisplacement' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_shell_shell' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_contact_solid_solid' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_sectionprint' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_constraint_tie' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_material_multiple' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_material_nonlinear' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_thermomech_bimetall' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_thermomech_flow1D' +)) + +import unittest +unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( + 'femtest.app.test_solver_calculix.TestSolverCalculix.test_thermomech_spine' +)) + import unittest unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName( 'femtest.app.test_solver_elmer.TestSolverElmer.test_box_static'