FEM: Mystran solver, add examples and writer unit tests
This commit is contained in:
@@ -80,6 +80,7 @@ SET(FemExamples_SRCS
|
||||
femexamples/material_multiple_bendingbeam_fivefaces.py
|
||||
femexamples/material_multiple_tensionrod_twoboxes.py
|
||||
femexamples/material_nl_platewithhole.py
|
||||
femexamples/mystran_plate.py
|
||||
femexamples/rc_wall_2d.py
|
||||
femexamples/square_pipe_end_twisted_edgeforces.py
|
||||
femexamples/square_pipe_end_twisted_nodeforces.py
|
||||
@@ -113,6 +114,7 @@ SET(FemExampleMeshes_SRCS
|
||||
femexamples/meshes/mesh_flexural_buckling.py
|
||||
femexamples/meshes/mesh_multibodybeam_tetra10.py
|
||||
femexamples/meshes/mesh_multibodybeam_tria6.py
|
||||
femexamples/meshes/mesh_plate_mystran_quad4.py
|
||||
femexamples/meshes/mesh_platewithhole_tetra10.py
|
||||
femexamples/meshes/mesh_rc_wall_2d_tria6.py
|
||||
femexamples/meshes/mesh_section_print_tetra10.py
|
||||
@@ -378,6 +380,16 @@ SET(FemTestsMesh_SRCS
|
||||
femtest/data/mesh/tetra10_mesh.z88
|
||||
)
|
||||
|
||||
SET(FemTestsMystran_SRCS
|
||||
femtest/data/mystran/__init__.py
|
||||
femtest/data/mystran/ccx_cantilever_ele_quad4.bdf
|
||||
femtest/data/mystran/ccx_cantilever_ele_seg2.bdf
|
||||
femtest/data/mystran/ccx_cantilever_ele_tria3.bdf
|
||||
femtest/data/mystran/ccx_cantilever_faceload.bdf
|
||||
femtest/data/mystran/ccx_cantilever_nodeload.bdf
|
||||
femtest/data/mystran/mystran_plate.bdf
|
||||
)
|
||||
|
||||
SET(FemTestsOpen_SRCS
|
||||
femtest/data/open/__init__.py
|
||||
femtest/data/open/all_objects_de9b3fb438.FCStd
|
||||
@@ -474,6 +486,7 @@ SET(FemAllScripts
|
||||
${FemTestsCcx_SRCS}
|
||||
${FemTestsElmer_SRCS}
|
||||
${FemTestsMesh_SRCS}
|
||||
${FemTestsMystran_SRCS}
|
||||
${FemTestsOpen_SRCS}
|
||||
${FemTestsZ88Main_SRCS}
|
||||
${FemTestsZ88Ccxcantifl_SRCS}
|
||||
@@ -512,6 +525,7 @@ INSTALL(FILES ${FemTestsFiles_SRCS} DESTINATION Mod/Fem/femtest/data)
|
||||
INSTALL(FILES ${FemTestsCcx_SRCS} DESTINATION Mod/Fem/femtest/data/calculix)
|
||||
INSTALL(FILES ${FemTestsElmer_SRCS} DESTINATION Mod/Fem/femtest/data/elmer)
|
||||
INSTALL(FILES ${FemTestsMesh_SRCS} DESTINATION Mod/Fem/femtest/data/mesh)
|
||||
INSTALL(FILES ${FemTestsMystran_SRCS} DESTINATION Mod/Fem/femtest/data/mystran)
|
||||
INSTALL(FILES ${FemTestsOpen_SRCS} DESTINATION Mod/Fem/femtest/data/open)
|
||||
INSTALL(FILES ${FemTestsZ88Main_SRCS} DESTINATION Mod/Fem/femtest/data/z88)
|
||||
INSTALL(FILES ${FemTestsZ88CcxcantiEleHex20_SRCS} DESTINATION Mod/Fem/femtest/data/z88/ccx_cantilever_ele_hexa20)
|
||||
|
||||
@@ -71,6 +71,8 @@ def setup_cantilever_base_edge(doc=None, solvertype="ccxtools"):
|
||||
elif solvertype == "ccxtools":
|
||||
solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
|
||||
solver_obj.WorkingDir = u""
|
||||
elif solvertype == "mystran":
|
||||
solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran")
|
||||
else:
|
||||
FreeCAD.Console.PrintWarning(
|
||||
"Not known or not supported solver type: {}. "
|
||||
|
||||
@@ -61,6 +61,8 @@ def setup_cantilever_base_face(doc=None, solvertype="ccxtools"):
|
||||
elif solvertype == "ccxtools":
|
||||
solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
|
||||
solver_obj.WorkingDir = u""
|
||||
elif solvertype == "mystran":
|
||||
solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran")
|
||||
elif solvertype == "z88":
|
||||
solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88")
|
||||
else:
|
||||
|
||||
@@ -60,6 +60,8 @@ def setup_cantilever_base_solid(doc=None, solvertype="ccxtools"):
|
||||
elif solvertype == "elmer":
|
||||
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
|
||||
ObjectsFem.makeEquationElasticity(doc, solver_obj)
|
||||
elif solvertype == "mystran":
|
||||
solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran")
|
||||
elif solvertype == "z88":
|
||||
solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88")
|
||||
else:
|
||||
|
||||
@@ -37,7 +37,7 @@ def get_information():
|
||||
"meshtype": "face",
|
||||
"meshelement": "Quad4",
|
||||
"constraints": ["fixed", "force"],
|
||||
"solvers": ["calculix"],
|
||||
"solvers": ["calculix", "mystran"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ def get_information():
|
||||
"meshtype": "edge",
|
||||
"meshelement": "Seg2",
|
||||
"constraints": ["fixed", "force"],
|
||||
"solvers": ["calculix"],
|
||||
"solvers": ["calculix", "mystran"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ def get_information():
|
||||
"meshtype": "solid",
|
||||
"meshelement": "Tetra4",
|
||||
"constraints": ["fixed", "force"],
|
||||
"solvers": ["calculix", "elmer", "z88"],
|
||||
"solvers": ["calculix", "elmer", "mystran", "z88"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
@@ -37,7 +37,7 @@ def get_information():
|
||||
"meshtype": "face",
|
||||
"meshelement": "Tria3",
|
||||
"constraints": ["fixed", "force"],
|
||||
"solvers": ["calculix"],
|
||||
"solvers": ["calculix", "mystran"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ def get_information():
|
||||
"meshtype": "solid",
|
||||
"meshelement": "Tet10",
|
||||
"constraints": ["fixed", "force"],
|
||||
"solvers": ["calculix", "z88", "elmer"],
|
||||
"solvers": ["calculix", "elmer", "mystran", "z88"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ def get_information():
|
||||
"meshtype": "solid",
|
||||
"meshelement": "Tet10",
|
||||
"constraints": ["fixed", "force"],
|
||||
"solvers": ["calculix", "elmer", "z88"],
|
||||
"solvers": ["calculix", "elmer", "mystran", "z88"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
69
src/Mod/Fem/femexamples/meshes/mesh_plate_mystran_quad4.py
Normal file
69
src/Mod/Fem/femexamples/meshes/mesh_plate_mystran_quad4.py
Normal file
@@ -0,0 +1,69 @@
|
||||
def create_nodes(femmesh):
|
||||
# nodes
|
||||
femmesh.addNode(0.0, 0.0, 0.0, 1)
|
||||
femmesh.addNode(2.0, 0.0, 0.0, 2)
|
||||
femmesh.addNode(4.0, 0.0, 0.0, 3)
|
||||
femmesh.addNode(6.0, 0.0, 0.0, 4)
|
||||
femmesh.addNode(8.0, 0.0, 0.0, 5)
|
||||
femmesh.addNode(10.0, 0.0, 0.0, 6)
|
||||
femmesh.addNode(0.0, 2.0, 0.0, 7)
|
||||
femmesh.addNode(2.0, 2.0, 0.0, 8)
|
||||
femmesh.addNode(4.0, 2.0, 0.0, 9)
|
||||
femmesh.addNode(6.0, 2.0, 0.0, 10)
|
||||
femmesh.addNode(8.0, 2.0, 0.0, 11)
|
||||
femmesh.addNode(10.0, 2.0, 0.0, 12)
|
||||
femmesh.addNode(0.0, 4.0, 0.0, 13)
|
||||
femmesh.addNode(2.0, 4.0, 0.0, 14)
|
||||
femmesh.addNode(4.0, 4.0, 0.0, 15)
|
||||
femmesh.addNode(6.0, 4.0, 0.0, 16)
|
||||
femmesh.addNode(8.0, 4.0, 0.0, 17)
|
||||
femmesh.addNode(10.0, 4.0, 0.0, 18)
|
||||
femmesh.addNode(0.0, 6.0, 0.0, 19)
|
||||
femmesh.addNode(2.0, 6.0, 0.0, 20)
|
||||
femmesh.addNode(4.0, 6.0, 0.0, 21)
|
||||
femmesh.addNode(6.0, 6.0, 0.0, 22)
|
||||
femmesh.addNode(8.0, 6.0, 0.0, 23)
|
||||
femmesh.addNode(10.0, 6.0, 0.0, 24)
|
||||
femmesh.addNode(0.0, 8.0, 0.0, 25)
|
||||
femmesh.addNode(2.0, 8.0, 0.0, 26)
|
||||
femmesh.addNode(4.0, 8.0, 0.0, 27)
|
||||
femmesh.addNode(6.0, 8.0, 0.0, 28)
|
||||
femmesh.addNode(8.0, 8.0, 0.0, 29)
|
||||
femmesh.addNode(10.0, 8.0, 0.0, 30)
|
||||
femmesh.addNode(0.0, 10.0, 0.0, 31)
|
||||
femmesh.addNode(2.0, 10.0, 0.0, 32)
|
||||
femmesh.addNode(4.0, 10.0, 0.0, 33)
|
||||
femmesh.addNode(6.0, 10.0, 0.0, 34)
|
||||
femmesh.addNode(8.0, 10.0, 0.0, 35)
|
||||
femmesh.addNode(10.0, 10.0, 0.0, 36)
|
||||
return True
|
||||
|
||||
|
||||
def create_elements(femmesh):
|
||||
# elements
|
||||
femmesh.addFace([1, 2, 8, 7], 1)
|
||||
femmesh.addFace([2, 3, 9, 8], 2)
|
||||
femmesh.addFace([3, 4, 10, 9], 3)
|
||||
femmesh.addFace([4, 5, 11, 10], 4)
|
||||
femmesh.addFace([5, 6, 12, 11], 5)
|
||||
femmesh.addFace([7, 8, 14, 13], 6)
|
||||
femmesh.addFace([8, 9, 15, 14], 7)
|
||||
femmesh.addFace([9, 10, 16, 15], 8)
|
||||
femmesh.addFace([10, 11, 17, 16], 9)
|
||||
femmesh.addFace([11, 12, 18, 17], 10)
|
||||
femmesh.addFace([13, 14, 20, 19], 11)
|
||||
femmesh.addFace([14, 15, 21, 20], 12)
|
||||
femmesh.addFace([15, 16, 22, 21], 13)
|
||||
femmesh.addFace([16, 17, 23, 22], 14)
|
||||
femmesh.addFace([17, 18, 24, 23], 15)
|
||||
femmesh.addFace([19, 20, 26, 25], 16)
|
||||
femmesh.addFace([20, 21, 27, 26], 17)
|
||||
femmesh.addFace([21, 22, 28, 27], 18)
|
||||
femmesh.addFace([22, 23, 29, 28], 19)
|
||||
femmesh.addFace([23, 24, 30, 29], 20)
|
||||
femmesh.addFace([25, 26, 32, 31], 21)
|
||||
femmesh.addFace([26, 27, 33, 32], 22)
|
||||
femmesh.addFace([27, 28, 34, 33], 23)
|
||||
femmesh.addFace([28, 29, 35, 34], 24)
|
||||
femmesh.addFace([29, 30, 36, 35], 25)
|
||||
return True
|
||||
196
src/Mod/Fem/femexamples/mystran_plate.py
Normal file
196
src/Mod/Fem/femexamples/mystran_plate.py
Normal file
@@ -0,0 +1,196 @@
|
||||
# ***************************************************************************
|
||||
# * Copyright (c) 2021 Bernd Hahnebach <bernd@bimstatik.org> *
|
||||
# * *
|
||||
# * This file is part of the FreeCAD CAx development system. *
|
||||
# * *
|
||||
# * This program is free software; you can redistribute it and/or modify *
|
||||
# * it under the terms of the GNU Lesser General Public License (LGPL) *
|
||||
# * as published by the Free Software Foundation; either version 2 of *
|
||||
# * the License, or (at your option) any later version. *
|
||||
# * for detail see the LICENCE text file. *
|
||||
# * *
|
||||
# * This program is distributed in the hope that it will be useful, *
|
||||
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
# * GNU Library General Public License for more details. *
|
||||
# * *
|
||||
# * You should have received a copy of the GNU Library General Public *
|
||||
# * License along with this program; if not, write to the Free Software *
|
||||
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
# * USA *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
|
||||
import FreeCAD
|
||||
|
||||
from BOPTools import SplitFeatures
|
||||
|
||||
import Fem
|
||||
import ObjectsFem
|
||||
|
||||
from . import manager
|
||||
from .manager import get_meshname
|
||||
from .manager import init_doc
|
||||
|
||||
|
||||
def get_information():
|
||||
return {
|
||||
"name": "Mystran Plate",
|
||||
"meshtype": "face",
|
||||
"meshelement": "Quad4",
|
||||
"constraints": ["displacement", "force"],
|
||||
"solvers": ["calculix", "elmer", "mystran"],
|
||||
"material": "solid",
|
||||
"equation": "mechanical"
|
||||
}
|
||||
|
||||
|
||||
def get_explanation(header=""):
|
||||
return header + """
|
||||
|
||||
To run the example from Python console use:
|
||||
from femexamples.buckling_platebuckling import setup
|
||||
setup()
|
||||
|
||||
|
||||
See forum topic post:
|
||||
https://forum.freecadweb.org/viewtopic.php?f=18&t=60320&start=10#p517884
|
||||
This version here uses some real value for the Young's Modulus
|
||||
The CalculiX steel is used
|
||||
plate 10 mm x 10 mm * 0.3 mm
|
||||
one each mesh node on one edge 100 N tension force
|
||||
|
||||
|
||||
Does not work on Z88 because Z88 does not support quad4 elements
|
||||
|
||||
"""
|
||||
|
||||
|
||||
def setup(doc=None, solvertype="ccxtools"):
|
||||
|
||||
# init FreeCAD document
|
||||
if doc is None:
|
||||
doc = init_doc()
|
||||
|
||||
# explanation object
|
||||
# just keep the following line and change text string in get_explanation method
|
||||
manager.add_explanation_obj(doc, get_explanation(manager.get_header(get_information())))
|
||||
|
||||
# geometric object
|
||||
plate = doc.addObject("Part::Plane", "Plate")
|
||||
plate.Width = 10
|
||||
plate.Length = 10
|
||||
force_pt1 = doc.addObject("Part::Vertex", "ForcePT1")
|
||||
force_pt1.X = 10
|
||||
force_pt1.Y = 2
|
||||
force_pt2 = doc.addObject("Part::Vertex", "ForcePT2")
|
||||
force_pt2.X = 10
|
||||
force_pt2.Y = 4
|
||||
force_pt3 = doc.addObject("Part::Vertex", "ForcePT3")
|
||||
force_pt3.X = 10
|
||||
force_pt3.Y = 6
|
||||
force_pt4 = doc.addObject("Part::Vertex", "ForcePT4")
|
||||
force_pt4.X = 10
|
||||
force_pt4.Y = 8
|
||||
doc.recompute()
|
||||
|
||||
# all geom boolean fragment
|
||||
geom_obj = SplitFeatures.makeBooleanFragments(name='ThePointPlate')
|
||||
geom_obj.Objects = [plate, force_pt1, force_pt2, force_pt3, force_pt4]
|
||||
doc.recompute()
|
||||
if FreeCAD.GuiUp:
|
||||
plate.ViewObject.hide()
|
||||
force_pt1.ViewObject.hide()
|
||||
force_pt2.ViewObject.hide()
|
||||
force_pt3.ViewObject.hide()
|
||||
force_pt4.ViewObject.hide()
|
||||
doc.recompute()
|
||||
|
||||
if FreeCAD.GuiUp:
|
||||
geom_obj.ViewObject.PointSize = 10
|
||||
geom_obj.ViewObject.Document.activeView().viewAxonometric()
|
||||
geom_obj.ViewObject.Document.activeView().fitAll()
|
||||
|
||||
# analysis
|
||||
analysis = ObjectsFem.makeAnalysis(doc, "Analysis")
|
||||
|
||||
# solver
|
||||
if solvertype == "calculix":
|
||||
solver_obj = ObjectsFem.makeSolverCalculix(doc, "SolverCalculiX")
|
||||
elif solvertype == "ccxtools":
|
||||
solver_obj = ObjectsFem.makeSolverCalculixCcxTools(doc, "CalculiXccxTools")
|
||||
solver_obj.WorkingDir = u""
|
||||
elif solvertype == "elmer":
|
||||
solver_obj = ObjectsFem.makeSolverElmer(doc, "SolverElmer")
|
||||
ObjectsFem.makeEquationElasticity(doc, solver_obj)
|
||||
elif solvertype == "mystran":
|
||||
solver_obj = ObjectsFem.makeSolverMystran(doc, "SolverMystran")
|
||||
elif solvertype == "z88":
|
||||
solver_obj = ObjectsFem.makeSolverZ88(doc, "SolverZ88")
|
||||
else:
|
||||
FreeCAD.Console.PrintWarning(
|
||||
"Not known or not supported solver type: {}. "
|
||||
"No solver object was created.\n".format(solvertype)
|
||||
)
|
||||
|
||||
if solvertype == "calculix" or solvertype == "ccxtools":
|
||||
solver_obj.SplitInputWriter = False
|
||||
solver_obj.AnalysisType = "static"
|
||||
solver_obj.GeometricalNonlinearity = "linear"
|
||||
solver_obj.ThermoMechSteadyState = False
|
||||
solver_obj.MatrixSolverType = "default"
|
||||
solver_obj.IterationsControlParameterTimeUse = False
|
||||
analysis.addObject(solver_obj)
|
||||
|
||||
# shell thickness
|
||||
thickness_obj = ObjectsFem.makeElementGeometry2D(doc, 0.3, 'Thickness')
|
||||
analysis.addObject(thickness_obj)
|
||||
|
||||
# material
|
||||
material_obj = ObjectsFem.makeMaterialSolid(doc, "FemMaterial")
|
||||
mat = material_obj.Material
|
||||
mat["Name"] = "CalculiX-Steel"
|
||||
mat["YoungsModulus"] = "210000 MPa"
|
||||
mat["PoissonRatio"] = "0.30"
|
||||
material_obj.Material = mat
|
||||
analysis.addObject(material_obj)
|
||||
|
||||
# constraint fixed
|
||||
con_fixed = ObjectsFem.makeConstraintFixed(doc, "ConstraintFixed")
|
||||
con_fixed.References = [(geom_obj, "Edge1")]
|
||||
analysis.addObject(con_fixed)
|
||||
|
||||
# constraint force
|
||||
con_force = ObjectsFem.makeConstraintForce(doc, "ConstraintForce")
|
||||
con_force.References = [
|
||||
(geom_obj, "Vertex7"),
|
||||
(geom_obj, "Vertex1"),
|
||||
(geom_obj, "Vertex2"),
|
||||
(geom_obj, "Vertex3"),
|
||||
(geom_obj, "Vertex4"),
|
||||
(geom_obj, "Vertex8"),
|
||||
]
|
||||
con_force.Force = 600 # 600 N on six nodes == 100 N/Node
|
||||
con_force.Reversed = False
|
||||
con_force.Direction = (geom_obj, ["Edge2"])
|
||||
analysis.addObject(con_force)
|
||||
|
||||
# mesh
|
||||
from .meshes.mesh_plate_mystran_quad4 import create_nodes, create_elements
|
||||
fem_mesh = Fem.FemMesh()
|
||||
control = create_nodes(fem_mesh)
|
||||
if not control:
|
||||
FreeCAD.Console.PrintError("Error on creating nodes.\n")
|
||||
control = create_elements(fem_mesh)
|
||||
if not control:
|
||||
FreeCAD.Console.PrintError("Error on creating elements.\n")
|
||||
femmesh_obj = analysis.addObject(ObjectsFem.makeMeshGmsh(doc, get_meshname()))[0]
|
||||
femmesh_obj.FemMesh = fem_mesh
|
||||
femmesh_obj.Part = geom_obj
|
||||
femmesh_obj.SecondOrderLinear = False
|
||||
femmesh_obj.CharacteristicLengthMax = "1.0 mm"
|
||||
femmesh_obj.ElementDimension = "2D"
|
||||
femmesh_obj.ElementOrder = "1st"
|
||||
|
||||
doc.recompute()
|
||||
return doc
|
||||
174
src/Mod/Fem/femtest/app/test_solver_mystran.py
Normal file
174
src/Mod/Fem/femtest/app/test_solver_mystran.py
Normal file
@@ -0,0 +1,174 @@
|
||||
# ***************************************************************************
|
||||
# * Copyright (c) 2021 Bernd Hahnebach <bernd@bimstatik.org> *
|
||||
# * *
|
||||
# * This file is part of the FreeCAD CAx development system. *
|
||||
# * *
|
||||
# * This program is free software; you can redistribute it and/or modify *
|
||||
# * it under the terms of the GNU Lesser General Public License (LGPL) *
|
||||
# * as published by the Free Software Foundation; either version 2 of *
|
||||
# * the License, or (at your option) any later version. *
|
||||
# * for detail see the LICENCE text file. *
|
||||
# * *
|
||||
# * This program is distributed in the hope that it will be useful, *
|
||||
# * but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||||
# * GNU Library General Public License for more details. *
|
||||
# * *
|
||||
# * You should have received a copy of the GNU Library General Public *
|
||||
# * License along with this program; if not, write to the Free Software *
|
||||
# * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
|
||||
# * USA *
|
||||
# * *
|
||||
# ***************************************************************************
|
||||
|
||||
__title__ = "Solver mystran FEM unit tests"
|
||||
__author__ = "Bernd Hahnebach"
|
||||
__url__ = "https://www.freecadweb.org"
|
||||
|
||||
import unittest
|
||||
from os.path import join
|
||||
|
||||
import FreeCAD
|
||||
|
||||
import femsolver.run
|
||||
from . import support_utils as testtools
|
||||
from .support_utils import fcc_print
|
||||
from .support_utils import get_namefromdef
|
||||
|
||||
|
||||
class TestSolverMystran(unittest.TestCase):
|
||||
fcc_print("import TestSolverMystran")
|
||||
|
||||
# ********************************************************************************************
|
||||
def setUp(
|
||||
self
|
||||
):
|
||||
# setUp is executed before every test
|
||||
|
||||
# new document
|
||||
self.document = FreeCAD.newDocument(self.__class__.__name__)
|
||||
|
||||
# more inits
|
||||
self.pre_dir_name = "solver_mystran_"
|
||||
self.ending = ".bdf"
|
||||
self.infilename = "Mesh"
|
||||
self.test_file_dir = join(
|
||||
testtools.get_fem_test_home_dir(),
|
||||
"mystran"
|
||||
)
|
||||
|
||||
# ********************************************************************************************
|
||||
def tearDown(
|
||||
self
|
||||
):
|
||||
# tearDown is executed after every test
|
||||
FreeCAD.closeDocument(self.document.Name)
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_00print(
|
||||
self
|
||||
):
|
||||
# since method name starts with 00 this will be run first
|
||||
# this test just prints a line with stars
|
||||
|
||||
fcc_print("\n{0}\n{1} run FEM TestSolverMystran tests {2}\n{0}".format(
|
||||
100 * "*",
|
||||
10 * "*",
|
||||
55 * "*"
|
||||
))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_quad4(
|
||||
self
|
||||
):
|
||||
fcc_print("")
|
||||
from femexamples.ccx_cantilever_ele_quad4 import setup
|
||||
setup(self.document, "mystran")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_seg2(
|
||||
self
|
||||
):
|
||||
fcc_print("")
|
||||
from femexamples.ccx_cantilever_ele_seg2 import setup
|
||||
setup(self.document, "mystran")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_ele_tria3(
|
||||
self
|
||||
):
|
||||
fcc_print("")
|
||||
from femexamples.ccx_cantilever_ele_tria3 import setup
|
||||
setup(self.document, "mystran")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_faceload(
|
||||
self
|
||||
):
|
||||
fcc_print("")
|
||||
from femexamples.ccx_cantilever_faceload import setup
|
||||
setup(self.document, "mystran")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_ccx_cantilever_nodeload(
|
||||
self
|
||||
):
|
||||
fcc_print("")
|
||||
from femexamples.ccx_cantilever_nodeload import setup
|
||||
setup(self.document, "mystran")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def test_mystran_plate(
|
||||
self
|
||||
):
|
||||
fcc_print("")
|
||||
from femexamples.mystran_plate import setup
|
||||
setup(self.document, "mystran")
|
||||
self.input_file_writing_test(get_namefromdef("test_"))
|
||||
|
||||
# ********************************************************************************************
|
||||
def input_file_writing_test(
|
||||
self,
|
||||
base_name
|
||||
):
|
||||
self.document.recompute()
|
||||
|
||||
# get analysis working directory and save FreeCAD file
|
||||
working_dir = testtools.get_fem_test_tmp_dir(self.pre_dir_name + base_name)
|
||||
save_fc_file = join(working_dir, base_name + ".FCStd")
|
||||
# fcc_print("Save FreeCAD file to {} ...".format(save_fc_file))
|
||||
self.document.saveAs(save_fc_file)
|
||||
|
||||
# write input file
|
||||
machine = self.document.SolverMystran.Proxy.createMachine(
|
||||
self.document.SolverMystran,
|
||||
working_dir,
|
||||
True # set testmode to True
|
||||
)
|
||||
machine.target = femsolver.run.PREPARE
|
||||
machine.start()
|
||||
machine.join() # wait for the machine to finish
|
||||
|
||||
# compare input file with the given one
|
||||
inpfile_given = join(
|
||||
self.test_file_dir,
|
||||
base_name + self.ending
|
||||
)
|
||||
inpfile_totest = join(
|
||||
working_dir,
|
||||
self.infilename + self.ending
|
||||
)
|
||||
# fcc_print("Comparing {} to {}".format(inpfile_given, inpfile_totest))
|
||||
ret = testtools.compare_inp_files(
|
||||
inpfile_given,
|
||||
inpfile_totest
|
||||
)
|
||||
self.assertFalse(
|
||||
ret,
|
||||
"Mystran write_solver_input for {0} test failed.\n{1}".format(base_name, ret)
|
||||
)
|
||||
101
src/Mod/Fem/femtest/data/mystran/.bdf
Normal file
101
src/Mod/Fem/femtest/data/mystran/.bdf
Normal file
@@ -0,0 +1,101 @@
|
||||
$pyNastran: version=msc
|
||||
$pyNastran: punch=False
|
||||
$pyNastran: encoding=utf-8
|
||||
$pyNastran: nnodes=36
|
||||
$pyNastran: nelements=25
|
||||
$EXECUTIVE CONTROL DECK
|
||||
SOL 101
|
||||
CEND
|
||||
$CASE CONTROL DECK
|
||||
ECHO = NONE
|
||||
TITLE = pyNastran plate example for Mystran
|
||||
SUBCASE 1
|
||||
DISPLACEMENT(SORT1,REAL) = ALL
|
||||
LOAD = 2
|
||||
SPC = 2
|
||||
SPCFORCES(SORT1,REAL) = ALL
|
||||
STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
|
||||
SUBTITLE = Default
|
||||
BEGIN BULK
|
||||
$PARAMS
|
||||
PARAM POST -1
|
||||
PARAM PRTMAXIM YES
|
||||
$NODES
|
||||
GRID 1 0. 0. 0.
|
||||
GRID 2 2. 0. 0.
|
||||
GRID 3 4. 0. 0.
|
||||
GRID 4 6. 0. 0.
|
||||
GRID 5 8. 0. 0.
|
||||
GRID 6 10. 0. 0.
|
||||
GRID 7 0. 2. 0.
|
||||
GRID 8 2. 2. 0.
|
||||
GRID 9 4. 2. 0.
|
||||
GRID 10 6. 2. 0.
|
||||
GRID 11 8. 2. 0.
|
||||
GRID 12 10. 2. 0.
|
||||
GRID 13 0. 4. 0.
|
||||
GRID 14 2. 4. 0.
|
||||
GRID 15 4. 4. 0.
|
||||
GRID 16 6. 4. 0.
|
||||
GRID 17 8. 4. 0.
|
||||
GRID 18 10. 4. 0.
|
||||
GRID 19 0. 6. 0.
|
||||
GRID 20 2. 6. 0.
|
||||
GRID 21 4. 6. 0.
|
||||
GRID 22 6. 6. 0.
|
||||
GRID 23 8. 6. 0.
|
||||
GRID 24 10. 6. 0.
|
||||
GRID 25 0. 8. 0.
|
||||
GRID 26 2. 8. 0.
|
||||
GRID 27 4. 8. 0.
|
||||
GRID 28 6. 8. 0.
|
||||
GRID 29 8. 8. 0.
|
||||
GRID 30 10. 8. 0.
|
||||
GRID 31 0. 10. 0.
|
||||
GRID 32 2. 10. 0.
|
||||
GRID 33 4. 10. 0.
|
||||
GRID 34 6. 10. 0.
|
||||
GRID 35 8. 10. 0.
|
||||
GRID 36 10. 10. 0.
|
||||
$ELEMENTS
|
||||
CQUAD4 1 1 1 2 8 7
|
||||
CQUAD4 2 1 2 3 9 8
|
||||
CQUAD4 3 1 3 4 10 9
|
||||
CQUAD4 4 1 4 5 11 10
|
||||
CQUAD4 5 1 5 6 12 11
|
||||
CQUAD4 6 1 7 8 14 13
|
||||
CQUAD4 7 1 8 9 15 14
|
||||
CQUAD4 8 1 9 10 16 15
|
||||
CQUAD4 9 1 10 11 17 16
|
||||
CQUAD4 10 1 11 12 18 17
|
||||
CQUAD4 11 1 13 14 20 19
|
||||
CQUAD4 12 1 14 15 21 20
|
||||
CQUAD4 13 1 15 16 22 21
|
||||
CQUAD4 14 1 16 17 23 22
|
||||
CQUAD4 15 1 17 18 24 23
|
||||
CQUAD4 16 1 19 20 26 25
|
||||
CQUAD4 17 1 20 21 27 26
|
||||
CQUAD4 18 1 21 22 28 27
|
||||
CQUAD4 19 1 22 23 29 28
|
||||
CQUAD4 20 1 23 24 30 29
|
||||
CQUAD4 21 1 25 26 32 31
|
||||
CQUAD4 22 1 26 27 33 32
|
||||
CQUAD4 23 1 27 28 34 33
|
||||
CQUAD4 24 1 28 29 35 34
|
||||
CQUAD4 25 1 29 30 36 35
|
||||
$PROPERTIES
|
||||
PSHELL 1 1 .3 1 1
|
||||
$MATERIALS
|
||||
MAT1 1 210000. .3
|
||||
$LOADS
|
||||
LOAD 2 1. 1. 1
|
||||
FORCE 1 6 100. 1. 0. 0.
|
||||
FORCE 1 12 100. 1. 0. 0.
|
||||
FORCE 1 18 100. 1. 0. 0.
|
||||
FORCE 1 24 100. 1. 0. 0.
|
||||
FORCE 1 30 100. 1. 0. 0.
|
||||
FORCE 1 36 100. 1. 0. 0.
|
||||
$SPCs
|
||||
SPCADD 2 1
|
||||
SPC1 1 123456 1 7 13 19 25 31
|
||||
ENDDATA
|
||||
0
src/Mod/Fem/femtest/data/mystran/__init__.py
Normal file
0
src/Mod/Fem/femtest/data/mystran/__init__.py
Normal file
@@ -0,0 +1,79 @@
|
||||
$pyNastran: version=msc
|
||||
$pyNastran: punch=False
|
||||
$pyNastran: encoding=utf-8
|
||||
$pyNastran: nnodes=27
|
||||
$pyNastran: nelements=16
|
||||
$EXECUTIVE CONTROL DECK
|
||||
SOL 101
|
||||
CEND
|
||||
$CASE CONTROL DECK
|
||||
ECHO = NONE
|
||||
TITLE = pyNastran for generating solverinput for for Mystran
|
||||
SUBCASE 1
|
||||
DISPLACEMENT(SORT1,REAL) = ALL
|
||||
LOAD = 1
|
||||
SPC = 1
|
||||
SPCFORCES(SORT1,REAL) = ALL
|
||||
STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
|
||||
SUBTITLE = Default
|
||||
BEGIN BULK
|
||||
$PARAMS
|
||||
PARAM POST -1
|
||||
$NODES
|
||||
GRID 1 0. 500. 0.
|
||||
GRID 2 0. 500. 1000.
|
||||
GRID 3 8000. 500. 0.
|
||||
GRID 4 8000. 500. 1000.
|
||||
GRID 5 0. 500. 500.
|
||||
GRID 6 2000. 500. 0.
|
||||
GRID 7 4000. 500. 0.
|
||||
GRID 8 6000. 500. 0.
|
||||
GRID 9 1000. 500. 0.
|
||||
GRID 10 7000. 500. 0.
|
||||
GRID 11 3000. 500. 0.
|
||||
GRID 12 5000. 500. 0.
|
||||
GRID 13 8000. 500. 500.
|
||||
GRID 14 2000. 500. 1000.
|
||||
GRID 15 4000. 500. 1000.
|
||||
GRID 16 6000. 500. 1000.
|
||||
GRID 17 1000. 500. 1000.
|
||||
GRID 18 7000. 500. 1000.
|
||||
GRID 19 3000. 500. 1000.
|
||||
GRID 20 5000. 500. 1000.
|
||||
GRID 21 2000. 500. 500.
|
||||
GRID 22 1000. 500. 500.
|
||||
GRID 23 6000. 500. 500.
|
||||
GRID 24 7000. 500. 500.
|
||||
GRID 25 4000. 500. 500.
|
||||
GRID 26 3000. 500. 500.
|
||||
GRID 27 5000. 500. 500.
|
||||
$ELEMENTS
|
||||
CQUAD4 21 1 14 17 22 21
|
||||
CQUAD4 22 1 6 21 22 9
|
||||
CQUAD4 23 1 1 9 22 5
|
||||
CQUAD4 24 1 2 5 22 17
|
||||
CQUAD4 25 1 4 18 24 13
|
||||
CQUAD4 26 1 3 13 24 10
|
||||
CQUAD4 27 1 8 10 24 23
|
||||
CQUAD4 28 1 16 23 24 18
|
||||
CQUAD4 29 1 7 25 26 11
|
||||
CQUAD4 30 1 6 11 26 21
|
||||
CQUAD4 31 1 14 21 26 19
|
||||
CQUAD4 32 1 15 19 26 25
|
||||
CQUAD4 33 1 16 20 27 23
|
||||
CQUAD4 34 1 8 23 27 12
|
||||
CQUAD4 35 1 7 12 27 25
|
||||
CQUAD4 36 1 15 25 27 20
|
||||
$PROPERTIES
|
||||
PSHELL 1 1 1000. 1 1
|
||||
$MATERIALS
|
||||
MAT1 1 210000. .3
|
||||
$LOADS
|
||||
LOAD 1 1. 1. 2
|
||||
FORCE 2 3 2250000. 0.-2.22-16 -1.
|
||||
FORCE 2 4 2250000. 0.-2.22-16 -1.
|
||||
FORCE 2 13 4500000. 0.-2.22-16 -1.
|
||||
$SPCs
|
||||
SPCADD 1 2
|
||||
SPC1 2 123456 1 2 5
|
||||
ENDDATA
|
||||
144
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_seg2.bdf
Normal file
144
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_seg2.bdf
Normal file
@@ -0,0 +1,144 @@
|
||||
$pyNastran: version=msc
|
||||
$pyNastran: punch=False
|
||||
$pyNastran: encoding=utf-8
|
||||
$pyNastran: nnodes=55
|
||||
$pyNastran: nelements=54
|
||||
$EXECUTIVE CONTROL DECK
|
||||
SOL 101
|
||||
CEND
|
||||
$CASE CONTROL DECK
|
||||
ECHO = NONE
|
||||
TITLE = pyNastran for generating solverinput for for Mystran
|
||||
SUBCASE 1
|
||||
DISPLACEMENT(SORT1,REAL) = ALL
|
||||
LOAD = 1
|
||||
SPC = 1
|
||||
SPCFORCES(SORT1,REAL) = ALL
|
||||
STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
|
||||
SUBTITLE = Default
|
||||
BEGIN BULK
|
||||
$PARAMS
|
||||
PARAM POST -1
|
||||
$NODES
|
||||
GRID 1 0. 500. 500.
|
||||
GRID 2 8000. 500. 500.
|
||||
GRID 3 148.1481 500. 500.
|
||||
GRID 4 296.2963 500. 500.
|
||||
GRID 5 444.4444 500. 500.
|
||||
GRID 6 592.5926 500. 500.
|
||||
GRID 7 740.7407 500. 500.
|
||||
GRID 8 888.8889 500. 500.
|
||||
GRID 9 1037.037 500. 500.
|
||||
GRID 10 1185.185 500. 500.
|
||||
GRID 11 1333.333 500. 500.
|
||||
GRID 12 1481.481 500. 500.
|
||||
GRID 13 1629.63 500. 500.
|
||||
GRID 14 1777.778 500. 500.
|
||||
GRID 15 1925.926 500. 500.
|
||||
GRID 16 2074.074 500. 500.
|
||||
GRID 17 2222.222 500. 500.
|
||||
GRID 18 2370.37 500. 500.
|
||||
GRID 19 2518.519 500. 500.
|
||||
GRID 20 2666.667 500. 500.
|
||||
GRID 21 2814.815 500. 500.
|
||||
GRID 22 2962.963 500. 500.
|
||||
GRID 23 3111.111 500. 500.
|
||||
GRID 24 3259.259 500. 500.
|
||||
GRID 25 3407.407 500. 500.
|
||||
GRID 26 3555.556 500. 500.
|
||||
GRID 27 3703.704 500. 500.
|
||||
GRID 28 3851.852 500. 500.
|
||||
GRID 29 4000. 500. 500.
|
||||
GRID 30 4148.148 500. 500.
|
||||
GRID 31 4296.296 500. 500.
|
||||
GRID 32 4444.444 500. 500.
|
||||
GRID 33 4592.593 500. 500.
|
||||
GRID 34 4740.741 500. 500.
|
||||
GRID 35 4888.889 500. 500.
|
||||
GRID 36 5037.037 500. 500.
|
||||
GRID 37 5185.185 500. 500.
|
||||
GRID 38 5333.333 500. 500.
|
||||
GRID 39 5481.481 500. 500.
|
||||
GRID 40 5629.63 500. 500.
|
||||
GRID 41 5777.778 500. 500.
|
||||
GRID 42 5925.926 500. 500.
|
||||
GRID 43 6074.074 500. 500.
|
||||
GRID 44 6222.222 500. 500.
|
||||
GRID 45 6370.37 500. 500.
|
||||
GRID 46 6518.519 500. 500.
|
||||
GRID 47 6666.667 500. 500.
|
||||
GRID 48 6814.815 500. 500.
|
||||
GRID 49 6962.963 500. 500.
|
||||
GRID 50 7111.111 500. 500.
|
||||
GRID 51 7259.259 500. 500.
|
||||
GRID 52 7407.407 500. 500.
|
||||
GRID 53 7555.556 500. 500.
|
||||
GRID 54 7703.704 500. 500.
|
||||
GRID 55 7851.852 500. 500.
|
||||
$ELEMENTS
|
||||
CBAR 1 1 1 3 0. 0. 1.
|
||||
CBAR 2 1 3 4 0. 0. 1.
|
||||
CBAR 3 1 4 5 0. 0. 1.
|
||||
CBAR 4 1 5 6 0. 0. 1.
|
||||
CBAR 5 1 6 7 0. 0. 1.
|
||||
CBAR 6 1 7 8 0. 0. 1.
|
||||
CBAR 7 1 8 9 0. 0. 1.
|
||||
CBAR 8 1 9 10 0. 0. 1.
|
||||
CBAR 9 1 10 11 0. 0. 1.
|
||||
CBAR 10 1 11 12 0. 0. 1.
|
||||
CBAR 11 1 12 13 0. 0. 1.
|
||||
CBAR 12 1 13 14 0. 0. 1.
|
||||
CBAR 13 1 14 15 0. 0. 1.
|
||||
CBAR 14 1 15 16 0. 0. 1.
|
||||
CBAR 15 1 16 17 0. 0. 1.
|
||||
CBAR 16 1 17 18 0. 0. 1.
|
||||
CBAR 17 1 18 19 0. 0. 1.
|
||||
CBAR 18 1 19 20 0. 0. 1.
|
||||
CBAR 19 1 20 21 0. 0. 1.
|
||||
CBAR 20 1 21 22 0. 0. 1.
|
||||
CBAR 21 1 22 23 0. 0. 1.
|
||||
CBAR 22 1 23 24 0. 0. 1.
|
||||
CBAR 23 1 24 25 0. 0. 1.
|
||||
CBAR 24 1 25 26 0. 0. 1.
|
||||
CBAR 25 1 26 27 0. 0. 1.
|
||||
CBAR 26 1 27 28 0. 0. 1.
|
||||
CBAR 27 1 28 29 0. 0. 1.
|
||||
CBAR 28 1 29 30 0. 0. 1.
|
||||
CBAR 29 1 30 31 0. 0. 1.
|
||||
CBAR 30 1 31 32 0. 0. 1.
|
||||
CBAR 31 1 32 33 0. 0. 1.
|
||||
CBAR 32 1 33 34 0. 0. 1.
|
||||
CBAR 33 1 34 35 0. 0. 1.
|
||||
CBAR 34 1 35 36 0. 0. 1.
|
||||
CBAR 35 1 36 37 0. 0. 1.
|
||||
CBAR 36 1 37 38 0. 0. 1.
|
||||
CBAR 37 1 38 39 0. 0. 1.
|
||||
CBAR 38 1 39 40 0. 0. 1.
|
||||
CBAR 39 1 40 41 0. 0. 1.
|
||||
CBAR 40 1 41 42 0. 0. 1.
|
||||
CBAR 41 1 42 43 0. 0. 1.
|
||||
CBAR 42 1 43 44 0. 0. 1.
|
||||
CBAR 43 1 44 45 0. 0. 1.
|
||||
CBAR 44 1 45 46 0. 0. 1.
|
||||
CBAR 45 1 46 47 0. 0. 1.
|
||||
CBAR 46 1 47 48 0. 0. 1.
|
||||
CBAR 47 1 48 49 0. 0. 1.
|
||||
CBAR 48 1 49 50 0. 0. 1.
|
||||
CBAR 49 1 50 51 0. 0. 1.
|
||||
CBAR 50 1 51 52 0. 0. 1.
|
||||
CBAR 51 1 52 53 0. 0. 1.
|
||||
CBAR 52 1 53 54 0. 0. 1.
|
||||
CBAR 53 1 54 55 0. 0. 1.
|
||||
CBAR 54 1 55 2 0. 0. 1.
|
||||
$PROPERTIES
|
||||
PBARL 1 1 BAR
|
||||
1000. 1000. 0.
|
||||
$MATERIALS
|
||||
MAT1 1 210000. .3
|
||||
$LOADS
|
||||
LOAD 1 1. 1. 2
|
||||
FORCE 2 2 9000000. 0. 0. -1.
|
||||
$SPCs
|
||||
SPCADD 1 2
|
||||
SPC1 2 123456 1
|
||||
ENDDATA
|
||||
1556
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_tria3.bdf
Normal file
1556
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_ele_tria3.bdf
Normal file
File diff suppressed because it is too large
Load Diff
433
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_faceload.bdf
Normal file
433
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_faceload.bdf
Normal file
@@ -0,0 +1,433 @@
|
||||
$pyNastran: version=msc
|
||||
$pyNastran: punch=False
|
||||
$pyNastran: encoding=utf-8
|
||||
$pyNastran: nnodes=228
|
||||
$pyNastran: nelements=79
|
||||
$EXECUTIVE CONTROL DECK
|
||||
SOL 101
|
||||
CEND
|
||||
$CASE CONTROL DECK
|
||||
ECHO = NONE
|
||||
TITLE = pyNastran for generating solverinput for for Mystran
|
||||
SUBCASE 1
|
||||
DISPLACEMENT(SORT1,REAL) = ALL
|
||||
LOAD = 1
|
||||
SPC = 1
|
||||
SPCFORCES(SORT1,REAL) = ALL
|
||||
STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
|
||||
SUBTITLE = Default
|
||||
BEGIN BULK
|
||||
$PARAMS
|
||||
PARAM POST -1
|
||||
$NODES
|
||||
GRID 1 8000. 1000. 0.
|
||||
GRID 2 8000. 1000. 1000.
|
||||
GRID 3 8000. 0. 0.
|
||||
GRID 4 8000. 0. 1000.
|
||||
GRID 5 0. 1000. 0.
|
||||
GRID 6 0. 1000. 1000.
|
||||
GRID 7 0. 0. 0.
|
||||
GRID 8 0. 0. 1000.
|
||||
GRID 9 728. 1000. 1000.
|
||||
GRID 10 1456. 1000. 1000.
|
||||
GRID 11 2184. 1000. 1000.
|
||||
GRID 12 2912. 1000. 1000.
|
||||
GRID 13 3640. 1000. 1000.
|
||||
GRID 14 4368. 1000. 1000.
|
||||
GRID 15 5096. 1000. 1000.
|
||||
GRID 16 5824. 1000. 1000.
|
||||
GRID 17 6552. 1000. 1000.
|
||||
GRID 18 7280. 1000. 1000.
|
||||
GRID 19 728. 0. 1000.
|
||||
GRID 20 1456. 0. 1000.
|
||||
GRID 21 2184. 0. 1000.
|
||||
GRID 22 2912. 0. 1000.
|
||||
GRID 23 3640. 0. 1000.
|
||||
GRID 24 4368. 0. 1000.
|
||||
GRID 25 5096. 0. 1000.
|
||||
GRID 26 5824. 0. 1000.
|
||||
GRID 27 6552. 0. 1000.
|
||||
GRID 28 7280. 0. 1000.
|
||||
GRID 29 728. 1000. 0.
|
||||
GRID 30 1456. 1000. 0.
|
||||
GRID 31 2184. 1000. 0.
|
||||
GRID 32 2912. 1000. 0.
|
||||
GRID 33 3640. 1000. 0.
|
||||
GRID 34 4368. 1000. 0.
|
||||
GRID 35 5096. 1000. 0.
|
||||
GRID 36 5824. 1000. 0.
|
||||
GRID 37 6552. 1000. 0.
|
||||
GRID 38 7280. 1000. 0.
|
||||
GRID 39 728. 0. 0.
|
||||
GRID 40 1456. 0. 0.
|
||||
GRID 41 2184. 0. 0.
|
||||
GRID 42 2912. 0. 0.
|
||||
GRID 43 3640. 0. 0.
|
||||
GRID 44 4368. 0. 0.
|
||||
GRID 45 5096. 0. 0.
|
||||
GRID 46 5824. 0. 0.
|
||||
GRID 47 6552. 0. 0.
|
||||
GRID 48 7280. 0. 0.
|
||||
GRID 49 8000. 500. 500.
|
||||
GRID 50 0. 500. 500.
|
||||
GRID 51 4732. 500. 500.
|
||||
GRID 52 0. 500. 1000.
|
||||
GRID 53 364. 1000. 1000.
|
||||
GRID 54 1092. 1000. 1000.
|
||||
GRID 55 1820. 1000. 1000.
|
||||
GRID 56 2548. 1000. 1000.
|
||||
GRID 57 3276. 1000. 1000.
|
||||
GRID 58 4004. 1000. 1000.
|
||||
GRID 59 4732. 1000. 1000.
|
||||
GRID 60 5460. 1000. 1000.
|
||||
GRID 61 6188. 1000. 1000.
|
||||
GRID 62 6916. 1000. 1000.
|
||||
GRID 63 7640. 1000. 1000.
|
||||
GRID 64 8000. 500. 1000.
|
||||
GRID 65 364. 0. 1000.
|
||||
GRID 66 1092. 0. 1000.
|
||||
GRID 67 1820. 0. 1000.
|
||||
GRID 68 2548. 0. 1000.
|
||||
GRID 69 3276. 0. 1000.
|
||||
GRID 70 4004. 0. 1000.
|
||||
GRID 71 4732. 0. 1000.
|
||||
GRID 72 5460. 0. 1000.
|
||||
GRID 73 6188. 0. 1000.
|
||||
GRID 74 6916. 0. 1000.
|
||||
GRID 75 7640. 0. 1000.
|
||||
GRID 76 0. 500. 0.
|
||||
GRID 77 364. 1000. 0.
|
||||
GRID 78 1092. 1000. 0.
|
||||
GRID 79 1820. 1000. 0.
|
||||
GRID 80 2548. 1000. 0.
|
||||
GRID 81 3276. 1000. 0.
|
||||
GRID 82 4004. 1000. 0.
|
||||
GRID 83 4732. 1000. 0.
|
||||
GRID 84 5460. 1000. 0.
|
||||
GRID 85 6188. 1000. 0.
|
||||
GRID 86 6916. 1000. 0.
|
||||
GRID 87 7640. 1000. 0.
|
||||
GRID 88 8000. 500. 0.
|
||||
GRID 89 364. 0. 0.
|
||||
GRID 90 1092. 0. 0.
|
||||
GRID 91 1820. 0. 0.
|
||||
GRID 92 2548. 0. 0.
|
||||
GRID 93 3276. 0. 0.
|
||||
GRID 94 4004. 0. 0.
|
||||
GRID 95 4732. 0. 0.
|
||||
GRID 96 5460. 0. 0.
|
||||
GRID 97 6188. 0. 0.
|
||||
GRID 98 6916. 0. 0.
|
||||
GRID 99 7640. 0. 0.
|
||||
GRID 100 8000. 1000. 500.
|
||||
GRID 101 0. 1000. 500.
|
||||
GRID 102 8000. 0. 500.
|
||||
GRID 103 0. 0. 500.
|
||||
GRID 104 364. 500. 1000.
|
||||
GRID 105 728. 500. 1000.
|
||||
GRID 106 1092. 500. 1000.
|
||||
GRID 107 1456. 500. 1000.
|
||||
GRID 108 1820. 500. 1000.
|
||||
GRID 109 2184. 500. 1000.
|
||||
GRID 110 2548. 500. 1000.
|
||||
GRID 111 3276. 500. 1000.
|
||||
GRID 112 3640. 500. 1000.
|
||||
GRID 113 4004. 500. 1000.
|
||||
GRID 114 4368. 500. 1000.
|
||||
GRID 115 4732. 500. 1000.
|
||||
GRID 116 5096. 500. 1000.
|
||||
GRID 117 5460. 500. 1000.
|
||||
GRID 118 5824. 500. 1000.
|
||||
GRID 119 6188. 500. 1000.
|
||||
GRID 120 6552. 500. 1000.
|
||||
GRID 121 6916. 500. 1000.
|
||||
GRID 122 7640. 500. 1000.
|
||||
GRID 123 2912. 500. 1000.
|
||||
GRID 124 7280. 500. 1000.
|
||||
GRID 125 364. 500. 0.
|
||||
GRID 126 1092. 500. 0.
|
||||
GRID 127 728. 500. 0.
|
||||
GRID 128 1820. 500. 0.
|
||||
GRID 129 1456. 500. 0.
|
||||
GRID 130 2548. 500. 0.
|
||||
GRID 131 2184. 500. 0.
|
||||
GRID 132 3640. 500. 0.
|
||||
GRID 133 3276. 500. 0.
|
||||
GRID 134 4004. 500. 0.
|
||||
GRID 135 5096. 500. 0.
|
||||
GRID 136 4732. 500. 0.
|
||||
GRID 137 5460. 500. 0.
|
||||
GRID 138 6188. 500. 0.
|
||||
GRID 139 5824. 500. 0.
|
||||
GRID 140 6916. 500. 0.
|
||||
GRID 141 6552. 500. 0.
|
||||
GRID 142 7640. 500. 0.
|
||||
GRID 143 2912. 500. 0.
|
||||
GRID 144 4368. 500. 0.
|
||||
GRID 145 7280. 500. 0.
|
||||
GRID 146 364. 1000. 500.
|
||||
GRID 147 728. 1000. 500.
|
||||
GRID 148 1092. 1000. 500.
|
||||
GRID 149 1456. 1000. 500.
|
||||
GRID 150 1820. 1000. 500.
|
||||
GRID 151 2184. 1000. 500.
|
||||
GRID 152 2548. 1000. 500.
|
||||
GRID 153 3276. 1000. 500.
|
||||
GRID 154 3640. 1000. 500.
|
||||
GRID 155 4004. 1000. 500.
|
||||
GRID 156 4368. 1000. 500.
|
||||
GRID 157 4732. 1000. 500.
|
||||
GRID 158 5096. 1000. 500.
|
||||
GRID 159 5460. 1000. 500.
|
||||
GRID 160 5824. 1000. 500.
|
||||
GRID 161 6188. 1000. 500.
|
||||
GRID 162 6552. 1000. 500.
|
||||
GRID 163 6916. 1000. 500.
|
||||
GRID 164 7640. 1000. 500.
|
||||
GRID 165 2912. 1000. 500.
|
||||
GRID 166 7280. 1000. 500.
|
||||
GRID 167 364. 0. 500.
|
||||
GRID 168 1092. 0. 500.
|
||||
GRID 169 728. 0. 500.
|
||||
GRID 170 1820. 0. 500.
|
||||
GRID 171 1456. 0. 500.
|
||||
GRID 172 2548. 0. 500.
|
||||
GRID 173 2184. 0. 500.
|
||||
GRID 174 3640. 0. 500.
|
||||
GRID 175 3276. 0. 500.
|
||||
GRID 176 4004. 0. 500.
|
||||
GRID 177 5096. 0. 500.
|
||||
GRID 178 4732. 0. 500.
|
||||
GRID 179 5460. 0. 500.
|
||||
GRID 180 6188. 0. 500.
|
||||
GRID 181 5824. 0. 500.
|
||||
GRID 182 6916. 0. 500.
|
||||
GRID 183 6552. 0. 500.
|
||||
GRID 184 7640. 0. 500.
|
||||
GRID 185 2912. 0. 500.
|
||||
GRID 186 4368. 0. 500.
|
||||
GRID 187 7280. 0. 500.
|
||||
GRID 188 8000. 250. 250.
|
||||
GRID 189 8000. 250. 750.
|
||||
GRID 190 8000. 750. 750.
|
||||
GRID 191 8000. 750. 250.
|
||||
GRID 192 0. 250. 750.
|
||||
GRID 193 0. 250. 250.
|
||||
GRID 194 0. 750. 250.
|
||||
GRID 195 0. 750. 750.
|
||||
GRID 196 1456. 500. 500.
|
||||
GRID 197 6552. 500. 500.
|
||||
GRID 198 6916. 500. 500.
|
||||
GRID 199 2184. 500. 500.
|
||||
GRID 200 2548. 500. 500.
|
||||
GRID 201 2912. 500. 500.
|
||||
GRID 202 1820. 500. 500.
|
||||
GRID 203 7640. 750. 250.
|
||||
GRID 204 7640. 750. 750.
|
||||
GRID 205 7280. 500. 500.
|
||||
GRID 206 7640. 250. 250.
|
||||
GRID 207 5460. 500. 500.
|
||||
GRID 208 5096. 500. 500.
|
||||
GRID 209 6188. 500. 500.
|
||||
GRID 210 5824. 500. 500.
|
||||
GRID 211 364. 750. 250.
|
||||
GRID 212 364. 750. 750.
|
||||
GRID 213 364. 250. 250.
|
||||
GRID 214 1092. 500. 500.
|
||||
GRID 215 728. 500. 500.
|
||||
GRID 216 364. 250. 750.
|
||||
GRID 217 4550. 250. 250.
|
||||
GRID 218 4550. 750. 250.
|
||||
GRID 219 4550. 750. 750.
|
||||
GRID 220 4368. 500. 500.
|
||||
GRID 221 4550. 250. 750.
|
||||
GRID 222 4914. 250. 750.
|
||||
GRID 223 4914. 750. 750.
|
||||
GRID 224 3276. 500. 500.
|
||||
GRID 225 3640. 500. 500.
|
||||
GRID 226 4004. 500. 500.
|
||||
GRID 227 4914. 750. 250.
|
||||
GRID 228 4914. 250. 250.
|
||||
$ELEMENTS
|
||||
CTETRA 149 1 40 10 19 20 196 106
|
||||
168 171 107 66
|
||||
CTETRA 150 1 10 30 31 40 149 79
|
||||
150 196 129 128
|
||||
CTETRA 151 1 38 18 17 47 166 62
|
||||
163 140 198 197
|
||||
CTETRA 152 1 32 11 41 12 152 199
|
||||
130 165 56 200
|
||||
CTETRA 153 1 12 41 32 42 200 130
|
||||
165 201 92 143
|
||||
CTETRA 154 1 42 12 21 22 201 110
|
||||
172 185 123 68
|
||||
CTETRA 155 1 10 40 31 11 196 128
|
||||
150 55 202 151
|
||||
CTETRA 156 1 11 41 12 21 199 200
|
||||
56 109 173 110
|
||||
CTETRA 157 1 20 11 41 40 108 199
|
||||
170 171 202 91
|
||||
CTETRA 158 1 20 21 41 11 67 173
|
||||
170 108 109 199
|
||||
CTETRA 159 1 32 41 11 31 130 199
|
||||
152 80 131 151
|
||||
CTETRA 160 1 11 20 10 40 108 107
|
||||
55 202 171 196
|
||||
CTETRA 161 1 38 47 17 37 140 197
|
||||
163 86 141 162
|
||||
CTETRA 162 1 38 49 18 48 203 204
|
||||
166 145 206 205
|
||||
CTETRA 163 1 46 45 15 36 96 208
|
||||
207 139 137 159
|
||||
CTETRA 164 1 47 46 16 37 97 210
|
||||
209 141 138 161
|
||||
CTETRA 165 1 18 2 4 49 63 64
|
||||
122 204 190 189
|
||||
CTETRA 166 1 18 27 17 47 121 120
|
||||
62 198 183 197
|
||||
CTETRA 167 1 38 48 18 47 145 205
|
||||
166 140 98 198
|
||||
CTETRA 168 1 12 42 23 22 201 175
|
||||
111 123 185 69
|
||||
CTETRA 169 1 26 27 47 17 73 183
|
||||
180 119 120 197
|
||||
CTETRA 170 1 50 9 29 6 212 147
|
||||
211 195 53 146
|
||||
CTETRA 171 1 27 18 48 47 121 205
|
||||
182 183 198 98
|
||||
CTETRA 172 1 8 39 7 50 167 89
|
||||
103 192 213 193
|
||||
CTETRA 173 1 40 39 9 30 90 215
|
||||
214 129 126 148
|
||||
CTETRA 174 1 42 41 21 12 92 173
|
||||
172 201 200 110
|
||||
CTETRA 175 1 50 29 9 39 211 147
|
||||
212 213 127 215
|
||||
CTETRA 176 1 29 50 7 39 211 193
|
||||
125 127 213 89
|
||||
CTETRA 177 1 31 41 11 40 131 199
|
||||
151 128 91 202
|
||||
CTETRA 178 1 47 37 16 17 141 161
|
||||
209 197 162 61
|
||||
CTETRA 179 1 40 30 9 10 129 148
|
||||
214 196 149 54
|
||||
CTETRA 180 1 2 49 38 1 190 203
|
||||
164 100 191 87
|
||||
CTETRA 181 1 2 18 38 49 63 166
|
||||
164 190 204 203
|
||||
CTETRA 182 1 48 38 49 3 145 203
|
||||
206 99 142 188
|
||||
CTETRA 183 1 38 1 49 3 87 191
|
||||
203 142 88 188
|
||||
CTETRA 184 1 49 3 4 48 188 102
|
||||
189 206 99 184
|
||||
CTETRA 185 1 28 4 48 18 75 184
|
||||
187 124 122 205
|
||||
CTETRA 186 1 49 4 18 48 189 122
|
||||
204 206 184 205
|
||||
CTETRA 187 1 7 5 50 29 76 194
|
||||
193 125 77 211
|
||||
CTETRA 188 1 50 5 6 29 194 101
|
||||
195 211 77 146
|
||||
CTETRA 189 1 50 19 9 6 216 105
|
||||
212 195 104 53
|
||||
CTETRA 190 1 50 9 19 39 212 105
|
||||
216 213 215 169
|
||||
CTETRA 191 1 50 8 19 6 192 65
|
||||
216 195 52 104
|
||||
CTETRA 192 1 40 10 9 19 196 54
|
||||
214 168 106 105
|
||||
CTETRA 193 1 51 34 44 14 218 144
|
||||
217 219 156 220
|
||||
CTETRA 194 1 51 44 24 14 217 186
|
||||
221 219 220 114
|
||||
CTETRA 195 1 25 24 15 51 71 115
|
||||
116 222 221 223
|
||||
CTETRA 196 1 43 32 12 13 133 165
|
||||
224 225 153 57
|
||||
CTETRA 197 1 43 23 12 42 174 111
|
||||
224 93 175 201
|
||||
CTETRA 198 1 43 13 12 23 225 57
|
||||
224 174 112 111
|
||||
CTETRA 199 1 43 42 12 32 93 201
|
||||
224 133 143 165
|
||||
CTETRA 200 1 34 14 13 44 156 58
|
||||
155 144 220 226
|
||||
CTETRA 201 1 14 15 24 51 59 115
|
||||
114 219 223 221
|
||||
CTETRA 202 1 23 14 24 44 113 114
|
||||
70 176 220 186
|
||||
CTETRA 203 1 33 13 32 43 154 153
|
||||
81 132 225 133
|
||||
CTETRA 204 1 34 13 33 43 155 154
|
||||
82 134 225 132
|
||||
CTETRA 205 1 35 15 14 51 158 59
|
||||
157 227 223 219
|
||||
CTETRA 206 1 25 15 45 51 116 208
|
||||
177 222 223 228
|
||||
CTETRA 207 1 44 13 43 23 226 225
|
||||
94 176 112 174
|
||||
CTETRA 208 1 35 14 34 51 157 156
|
||||
83 227 219 218
|
||||
CTETRA 209 1 46 36 15 16 139 159
|
||||
207 210 160 60
|
||||
CTETRA 210 1 36 15 35 45 159 158
|
||||
84 137 208 135
|
||||
CTETRA 211 1 37 16 36 46 161 160
|
||||
85 138 210 139
|
||||
CTETRA 212 1 25 16 26 46 117 118
|
||||
72 179 210 181
|
||||
CTETRA 213 1 47 17 16 26 197 61
|
||||
209 180 119 118
|
||||
CTETRA 214 1 47 26 16 46 180 118
|
||||
209 97 181 210
|
||||
CTETRA 215 1 27 18 28 48 121 124
|
||||
74 182 205 187
|
||||
CTETRA 216 1 35 51 34 45 227 218
|
||||
83 135 228 136
|
||||
CTETRA 217 1 13 44 14 23 226 220
|
||||
58 112 176 113
|
||||
CTETRA 218 1 44 24 25 51 186 71
|
||||
178 217 221 222
|
||||
CTETRA 219 1 44 25 45 51 178 177
|
||||
95 217 222 228
|
||||
CTETRA 220 1 46 16 15 25 210 60
|
||||
207 179 117 116
|
||||
CTETRA 221 1 46 25 15 45 179 116
|
||||
207 96 177 208
|
||||
CTETRA 222 1 50 19 8 39 216 65
|
||||
192 213 169 167
|
||||
CTETRA 223 1 35 15 51 45 158 223
|
||||
227 135 208 228
|
||||
CTETRA 224 1 34 43 44 13 134 94
|
||||
144 155 225 226
|
||||
CTETRA 225 1 51 45 44 34 228 95
|
||||
217 218 136 144
|
||||
CTETRA 226 1 9 39 29 30 215 127
|
||||
147 148 126 78
|
||||
CTETRA 227 1 40 19 9 39 168 105
|
||||
214 90 169 215
|
||||
$PROPERTIES
|
||||
PSOLID 1 1
|
||||
$MATERIALS
|
||||
MAT1 1 210000. .3
|
||||
$LOADS
|
||||
LOAD 1 1. 1. 2
|
||||
FORCE 2 1 0. 0. 0. -1.
|
||||
FORCE 2 2 0. 0. 0. -1.
|
||||
FORCE 2 3 0. 0. 0. -1.
|
||||
FORCE 2 4 0. 0. 0. -1.
|
||||
FORCE 2 49 0. 0. 0. -1.
|
||||
FORCE 2 64 750000. 0. 0. -1.
|
||||
FORCE 2 88 750000. 0. 0. -1.
|
||||
FORCE 2 100 750000. 0. 0. -1.
|
||||
FORCE 2 102 750000. 0. 0. -1.
|
||||
FORCE 2 188 1500000. 0. 0. -1.
|
||||
FORCE 2 189 1500000. 0. 0. -1.
|
||||
FORCE 2 190 1500000. 0. 0. -1.
|
||||
FORCE 2 191 1500000. 0. 0. -1.
|
||||
$SPCs
|
||||
SPCADD 1 2
|
||||
SPC1 2 123456 5 6 7 8 50 52
|
||||
76 101 103 192 193 194 195
|
||||
ENDDATA
|
||||
424
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_nodeload.bdf
Normal file
424
src/Mod/Fem/femtest/data/mystran/ccx_cantilever_nodeload.bdf
Normal file
@@ -0,0 +1,424 @@
|
||||
$pyNastran: version=msc
|
||||
$pyNastran: punch=False
|
||||
$pyNastran: encoding=utf-8
|
||||
$pyNastran: nnodes=228
|
||||
$pyNastran: nelements=79
|
||||
$EXECUTIVE CONTROL DECK
|
||||
SOL 101
|
||||
CEND
|
||||
$CASE CONTROL DECK
|
||||
ECHO = NONE
|
||||
TITLE = pyNastran for generating solverinput for for Mystran
|
||||
SUBCASE 1
|
||||
DISPLACEMENT(SORT1,REAL) = ALL
|
||||
LOAD = 1
|
||||
SPC = 1
|
||||
SPCFORCES(SORT1,REAL) = ALL
|
||||
STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
|
||||
SUBTITLE = Default
|
||||
BEGIN BULK
|
||||
$PARAMS
|
||||
PARAM POST -1
|
||||
$NODES
|
||||
GRID 1 8000. 1000. 0.
|
||||
GRID 2 8000. 1000. 1000.
|
||||
GRID 3 8000. 0. 0.
|
||||
GRID 4 8000. 0. 1000.
|
||||
GRID 5 0. 1000. 0.
|
||||
GRID 6 0. 1000. 1000.
|
||||
GRID 7 0. 0. 0.
|
||||
GRID 8 0. 0. 1000.
|
||||
GRID 9 728. 1000. 1000.
|
||||
GRID 10 1456. 1000. 1000.
|
||||
GRID 11 2184. 1000. 1000.
|
||||
GRID 12 2912. 1000. 1000.
|
||||
GRID 13 3640. 1000. 1000.
|
||||
GRID 14 4368. 1000. 1000.
|
||||
GRID 15 5096. 1000. 1000.
|
||||
GRID 16 5824. 1000. 1000.
|
||||
GRID 17 6552. 1000. 1000.
|
||||
GRID 18 7280. 1000. 1000.
|
||||
GRID 19 728. 0. 1000.
|
||||
GRID 20 1456. 0. 1000.
|
||||
GRID 21 2184. 0. 1000.
|
||||
GRID 22 2912. 0. 1000.
|
||||
GRID 23 3640. 0. 1000.
|
||||
GRID 24 4368. 0. 1000.
|
||||
GRID 25 5096. 0. 1000.
|
||||
GRID 26 5824. 0. 1000.
|
||||
GRID 27 6552. 0. 1000.
|
||||
GRID 28 7280. 0. 1000.
|
||||
GRID 29 728. 1000. 0.
|
||||
GRID 30 1456. 1000. 0.
|
||||
GRID 31 2184. 1000. 0.
|
||||
GRID 32 2912. 1000. 0.
|
||||
GRID 33 3640. 1000. 0.
|
||||
GRID 34 4368. 1000. 0.
|
||||
GRID 35 5096. 1000. 0.
|
||||
GRID 36 5824. 1000. 0.
|
||||
GRID 37 6552. 1000. 0.
|
||||
GRID 38 7280. 1000. 0.
|
||||
GRID 39 728. 0. 0.
|
||||
GRID 40 1456. 0. 0.
|
||||
GRID 41 2184. 0. 0.
|
||||
GRID 42 2912. 0. 0.
|
||||
GRID 43 3640. 0. 0.
|
||||
GRID 44 4368. 0. 0.
|
||||
GRID 45 5096. 0. 0.
|
||||
GRID 46 5824. 0. 0.
|
||||
GRID 47 6552. 0. 0.
|
||||
GRID 48 7280. 0. 0.
|
||||
GRID 49 8000. 500. 500.
|
||||
GRID 50 0. 500. 500.
|
||||
GRID 51 4732. 500. 500.
|
||||
GRID 52 0. 500. 1000.
|
||||
GRID 53 364. 1000. 1000.
|
||||
GRID 54 1092. 1000. 1000.
|
||||
GRID 55 1820. 1000. 1000.
|
||||
GRID 56 2548. 1000. 1000.
|
||||
GRID 57 3276. 1000. 1000.
|
||||
GRID 58 4004. 1000. 1000.
|
||||
GRID 59 4732. 1000. 1000.
|
||||
GRID 60 5460. 1000. 1000.
|
||||
GRID 61 6188. 1000. 1000.
|
||||
GRID 62 6916. 1000. 1000.
|
||||
GRID 63 7640. 1000. 1000.
|
||||
GRID 64 8000. 500. 1000.
|
||||
GRID 65 364. 0. 1000.
|
||||
GRID 66 1092. 0. 1000.
|
||||
GRID 67 1820. 0. 1000.
|
||||
GRID 68 2548. 0. 1000.
|
||||
GRID 69 3276. 0. 1000.
|
||||
GRID 70 4004. 0. 1000.
|
||||
GRID 71 4732. 0. 1000.
|
||||
GRID 72 5460. 0. 1000.
|
||||
GRID 73 6188. 0. 1000.
|
||||
GRID 74 6916. 0. 1000.
|
||||
GRID 75 7640. 0. 1000.
|
||||
GRID 76 0. 500. 0.
|
||||
GRID 77 364. 1000. 0.
|
||||
GRID 78 1092. 1000. 0.
|
||||
GRID 79 1820. 1000. 0.
|
||||
GRID 80 2548. 1000. 0.
|
||||
GRID 81 3276. 1000. 0.
|
||||
GRID 82 4004. 1000. 0.
|
||||
GRID 83 4732. 1000. 0.
|
||||
GRID 84 5460. 1000. 0.
|
||||
GRID 85 6188. 1000. 0.
|
||||
GRID 86 6916. 1000. 0.
|
||||
GRID 87 7640. 1000. 0.
|
||||
GRID 88 8000. 500. 0.
|
||||
GRID 89 364. 0. 0.
|
||||
GRID 90 1092. 0. 0.
|
||||
GRID 91 1820. 0. 0.
|
||||
GRID 92 2548. 0. 0.
|
||||
GRID 93 3276. 0. 0.
|
||||
GRID 94 4004. 0. 0.
|
||||
GRID 95 4732. 0. 0.
|
||||
GRID 96 5460. 0. 0.
|
||||
GRID 97 6188. 0. 0.
|
||||
GRID 98 6916. 0. 0.
|
||||
GRID 99 7640. 0. 0.
|
||||
GRID 100 8000. 1000. 500.
|
||||
GRID 101 0. 1000. 500.
|
||||
GRID 102 8000. 0. 500.
|
||||
GRID 103 0. 0. 500.
|
||||
GRID 104 364. 500. 1000.
|
||||
GRID 105 728. 500. 1000.
|
||||
GRID 106 1092. 500. 1000.
|
||||
GRID 107 1456. 500. 1000.
|
||||
GRID 108 1820. 500. 1000.
|
||||
GRID 109 2184. 500. 1000.
|
||||
GRID 110 2548. 500. 1000.
|
||||
GRID 111 3276. 500. 1000.
|
||||
GRID 112 3640. 500. 1000.
|
||||
GRID 113 4004. 500. 1000.
|
||||
GRID 114 4368. 500. 1000.
|
||||
GRID 115 4732. 500. 1000.
|
||||
GRID 116 5096. 500. 1000.
|
||||
GRID 117 5460. 500. 1000.
|
||||
GRID 118 5824. 500. 1000.
|
||||
GRID 119 6188. 500. 1000.
|
||||
GRID 120 6552. 500. 1000.
|
||||
GRID 121 6916. 500. 1000.
|
||||
GRID 122 7640. 500. 1000.
|
||||
GRID 123 2912. 500. 1000.
|
||||
GRID 124 7280. 500. 1000.
|
||||
GRID 125 364. 500. 0.
|
||||
GRID 126 1092. 500. 0.
|
||||
GRID 127 728. 500. 0.
|
||||
GRID 128 1820. 500. 0.
|
||||
GRID 129 1456. 500. 0.
|
||||
GRID 130 2548. 500. 0.
|
||||
GRID 131 2184. 500. 0.
|
||||
GRID 132 3640. 500. 0.
|
||||
GRID 133 3276. 500. 0.
|
||||
GRID 134 4004. 500. 0.
|
||||
GRID 135 5096. 500. 0.
|
||||
GRID 136 4732. 500. 0.
|
||||
GRID 137 5460. 500. 0.
|
||||
GRID 138 6188. 500. 0.
|
||||
GRID 139 5824. 500. 0.
|
||||
GRID 140 6916. 500. 0.
|
||||
GRID 141 6552. 500. 0.
|
||||
GRID 142 7640. 500. 0.
|
||||
GRID 143 2912. 500. 0.
|
||||
GRID 144 4368. 500. 0.
|
||||
GRID 145 7280. 500. 0.
|
||||
GRID 146 364. 1000. 500.
|
||||
GRID 147 728. 1000. 500.
|
||||
GRID 148 1092. 1000. 500.
|
||||
GRID 149 1456. 1000. 500.
|
||||
GRID 150 1820. 1000. 500.
|
||||
GRID 151 2184. 1000. 500.
|
||||
GRID 152 2548. 1000. 500.
|
||||
GRID 153 3276. 1000. 500.
|
||||
GRID 154 3640. 1000. 500.
|
||||
GRID 155 4004. 1000. 500.
|
||||
GRID 156 4368. 1000. 500.
|
||||
GRID 157 4732. 1000. 500.
|
||||
GRID 158 5096. 1000. 500.
|
||||
GRID 159 5460. 1000. 500.
|
||||
GRID 160 5824. 1000. 500.
|
||||
GRID 161 6188. 1000. 500.
|
||||
GRID 162 6552. 1000. 500.
|
||||
GRID 163 6916. 1000. 500.
|
||||
GRID 164 7640. 1000. 500.
|
||||
GRID 165 2912. 1000. 500.
|
||||
GRID 166 7280. 1000. 500.
|
||||
GRID 167 364. 0. 500.
|
||||
GRID 168 1092. 0. 500.
|
||||
GRID 169 728. 0. 500.
|
||||
GRID 170 1820. 0. 500.
|
||||
GRID 171 1456. 0. 500.
|
||||
GRID 172 2548. 0. 500.
|
||||
GRID 173 2184. 0. 500.
|
||||
GRID 174 3640. 0. 500.
|
||||
GRID 175 3276. 0. 500.
|
||||
GRID 176 4004. 0. 500.
|
||||
GRID 177 5096. 0. 500.
|
||||
GRID 178 4732. 0. 500.
|
||||
GRID 179 5460. 0. 500.
|
||||
GRID 180 6188. 0. 500.
|
||||
GRID 181 5824. 0. 500.
|
||||
GRID 182 6916. 0. 500.
|
||||
GRID 183 6552. 0. 500.
|
||||
GRID 184 7640. 0. 500.
|
||||
GRID 185 2912. 0. 500.
|
||||
GRID 186 4368. 0. 500.
|
||||
GRID 187 7280. 0. 500.
|
||||
GRID 188 8000. 250. 250.
|
||||
GRID 189 8000. 250. 750.
|
||||
GRID 190 8000. 750. 750.
|
||||
GRID 191 8000. 750. 250.
|
||||
GRID 192 0. 250. 750.
|
||||
GRID 193 0. 250. 250.
|
||||
GRID 194 0. 750. 250.
|
||||
GRID 195 0. 750. 750.
|
||||
GRID 196 1456. 500. 500.
|
||||
GRID 197 6552. 500. 500.
|
||||
GRID 198 6916. 500. 500.
|
||||
GRID 199 2184. 500. 500.
|
||||
GRID 200 2548. 500. 500.
|
||||
GRID 201 2912. 500. 500.
|
||||
GRID 202 1820. 500. 500.
|
||||
GRID 203 7640. 750. 250.
|
||||
GRID 204 7640. 750. 750.
|
||||
GRID 205 7280. 500. 500.
|
||||
GRID 206 7640. 250. 250.
|
||||
GRID 207 5460. 500. 500.
|
||||
GRID 208 5096. 500. 500.
|
||||
GRID 209 6188. 500. 500.
|
||||
GRID 210 5824. 500. 500.
|
||||
GRID 211 364. 750. 250.
|
||||
GRID 212 364. 750. 750.
|
||||
GRID 213 364. 250. 250.
|
||||
GRID 214 1092. 500. 500.
|
||||
GRID 215 728. 500. 500.
|
||||
GRID 216 364. 250. 750.
|
||||
GRID 217 4550. 250. 250.
|
||||
GRID 218 4550. 750. 250.
|
||||
GRID 219 4550. 750. 750.
|
||||
GRID 220 4368. 500. 500.
|
||||
GRID 221 4550. 250. 750.
|
||||
GRID 222 4914. 250. 750.
|
||||
GRID 223 4914. 750. 750.
|
||||
GRID 224 3276. 500. 500.
|
||||
GRID 225 3640. 500. 500.
|
||||
GRID 226 4004. 500. 500.
|
||||
GRID 227 4914. 750. 250.
|
||||
GRID 228 4914. 250. 250.
|
||||
$ELEMENTS
|
||||
CTETRA 149 1 40 10 19 20 196 106
|
||||
168 171 107 66
|
||||
CTETRA 150 1 10 30 31 40 149 79
|
||||
150 196 129 128
|
||||
CTETRA 151 1 38 18 17 47 166 62
|
||||
163 140 198 197
|
||||
CTETRA 152 1 32 11 41 12 152 199
|
||||
130 165 56 200
|
||||
CTETRA 153 1 12 41 32 42 200 130
|
||||
165 201 92 143
|
||||
CTETRA 154 1 42 12 21 22 201 110
|
||||
172 185 123 68
|
||||
CTETRA 155 1 10 40 31 11 196 128
|
||||
150 55 202 151
|
||||
CTETRA 156 1 11 41 12 21 199 200
|
||||
56 109 173 110
|
||||
CTETRA 157 1 20 11 41 40 108 199
|
||||
170 171 202 91
|
||||
CTETRA 158 1 20 21 41 11 67 173
|
||||
170 108 109 199
|
||||
CTETRA 159 1 32 41 11 31 130 199
|
||||
152 80 131 151
|
||||
CTETRA 160 1 11 20 10 40 108 107
|
||||
55 202 171 196
|
||||
CTETRA 161 1 38 47 17 37 140 197
|
||||
163 86 141 162
|
||||
CTETRA 162 1 38 49 18 48 203 204
|
||||
166 145 206 205
|
||||
CTETRA 163 1 46 45 15 36 96 208
|
||||
207 139 137 159
|
||||
CTETRA 164 1 47 46 16 37 97 210
|
||||
209 141 138 161
|
||||
CTETRA 165 1 18 2 4 49 63 64
|
||||
122 204 190 189
|
||||
CTETRA 166 1 18 27 17 47 121 120
|
||||
62 198 183 197
|
||||
CTETRA 167 1 38 48 18 47 145 205
|
||||
166 140 98 198
|
||||
CTETRA 168 1 12 42 23 22 201 175
|
||||
111 123 185 69
|
||||
CTETRA 169 1 26 27 47 17 73 183
|
||||
180 119 120 197
|
||||
CTETRA 170 1 50 9 29 6 212 147
|
||||
211 195 53 146
|
||||
CTETRA 171 1 27 18 48 47 121 205
|
||||
182 183 198 98
|
||||
CTETRA 172 1 8 39 7 50 167 89
|
||||
103 192 213 193
|
||||
CTETRA 173 1 40 39 9 30 90 215
|
||||
214 129 126 148
|
||||
CTETRA 174 1 42 41 21 12 92 173
|
||||
172 201 200 110
|
||||
CTETRA 175 1 50 29 9 39 211 147
|
||||
212 213 127 215
|
||||
CTETRA 176 1 29 50 7 39 211 193
|
||||
125 127 213 89
|
||||
CTETRA 177 1 31 41 11 40 131 199
|
||||
151 128 91 202
|
||||
CTETRA 178 1 47 37 16 17 141 161
|
||||
209 197 162 61
|
||||
CTETRA 179 1 40 30 9 10 129 148
|
||||
214 196 149 54
|
||||
CTETRA 180 1 2 49 38 1 190 203
|
||||
164 100 191 87
|
||||
CTETRA 181 1 2 18 38 49 63 166
|
||||
164 190 204 203
|
||||
CTETRA 182 1 48 38 49 3 145 203
|
||||
206 99 142 188
|
||||
CTETRA 183 1 38 1 49 3 87 191
|
||||
203 142 88 188
|
||||
CTETRA 184 1 49 3 4 48 188 102
|
||||
189 206 99 184
|
||||
CTETRA 185 1 28 4 48 18 75 184
|
||||
187 124 122 205
|
||||
CTETRA 186 1 49 4 18 48 189 122
|
||||
204 206 184 205
|
||||
CTETRA 187 1 7 5 50 29 76 194
|
||||
193 125 77 211
|
||||
CTETRA 188 1 50 5 6 29 194 101
|
||||
195 211 77 146
|
||||
CTETRA 189 1 50 19 9 6 216 105
|
||||
212 195 104 53
|
||||
CTETRA 190 1 50 9 19 39 212 105
|
||||
216 213 215 169
|
||||
CTETRA 191 1 50 8 19 6 192 65
|
||||
216 195 52 104
|
||||
CTETRA 192 1 40 10 9 19 196 54
|
||||
214 168 106 105
|
||||
CTETRA 193 1 51 34 44 14 218 144
|
||||
217 219 156 220
|
||||
CTETRA 194 1 51 44 24 14 217 186
|
||||
221 219 220 114
|
||||
CTETRA 195 1 25 24 15 51 71 115
|
||||
116 222 221 223
|
||||
CTETRA 196 1 43 32 12 13 133 165
|
||||
224 225 153 57
|
||||
CTETRA 197 1 43 23 12 42 174 111
|
||||
224 93 175 201
|
||||
CTETRA 198 1 43 13 12 23 225 57
|
||||
224 174 112 111
|
||||
CTETRA 199 1 43 42 12 32 93 201
|
||||
224 133 143 165
|
||||
CTETRA 200 1 34 14 13 44 156 58
|
||||
155 144 220 226
|
||||
CTETRA 201 1 14 15 24 51 59 115
|
||||
114 219 223 221
|
||||
CTETRA 202 1 23 14 24 44 113 114
|
||||
70 176 220 186
|
||||
CTETRA 203 1 33 13 32 43 154 153
|
||||
81 132 225 133
|
||||
CTETRA 204 1 34 13 33 43 155 154
|
||||
82 134 225 132
|
||||
CTETRA 205 1 35 15 14 51 158 59
|
||||
157 227 223 219
|
||||
CTETRA 206 1 25 15 45 51 116 208
|
||||
177 222 223 228
|
||||
CTETRA 207 1 44 13 43 23 226 225
|
||||
94 176 112 174
|
||||
CTETRA 208 1 35 14 34 51 157 156
|
||||
83 227 219 218
|
||||
CTETRA 209 1 46 36 15 16 139 159
|
||||
207 210 160 60
|
||||
CTETRA 210 1 36 15 35 45 159 158
|
||||
84 137 208 135
|
||||
CTETRA 211 1 37 16 36 46 161 160
|
||||
85 138 210 139
|
||||
CTETRA 212 1 25 16 26 46 117 118
|
||||
72 179 210 181
|
||||
CTETRA 213 1 47 17 16 26 197 61
|
||||
209 180 119 118
|
||||
CTETRA 214 1 47 26 16 46 180 118
|
||||
209 97 181 210
|
||||
CTETRA 215 1 27 18 28 48 121 124
|
||||
74 182 205 187
|
||||
CTETRA 216 1 35 51 34 45 227 218
|
||||
83 135 228 136
|
||||
CTETRA 217 1 13 44 14 23 226 220
|
||||
58 112 176 113
|
||||
CTETRA 218 1 44 24 25 51 186 71
|
||||
178 217 221 222
|
||||
CTETRA 219 1 44 25 45 51 178 177
|
||||
95 217 222 228
|
||||
CTETRA 220 1 46 16 15 25 210 60
|
||||
207 179 117 116
|
||||
CTETRA 221 1 46 25 15 45 179 116
|
||||
207 96 177 208
|
||||
CTETRA 222 1 50 19 8 39 216 65
|
||||
192 213 169 167
|
||||
CTETRA 223 1 35 15 51 45 158 223
|
||||
227 135 208 228
|
||||
CTETRA 224 1 34 43 44 13 134 94
|
||||
144 155 225 226
|
||||
CTETRA 225 1 51 45 44 34 228 95
|
||||
217 218 136 144
|
||||
CTETRA 226 1 9 39 29 30 215 127
|
||||
147 148 126 78
|
||||
CTETRA 227 1 40 19 9 39 168 105
|
||||
214 90 169 215
|
||||
$PROPERTIES
|
||||
PSOLID 1 1
|
||||
$MATERIALS
|
||||
MAT1 1 210000. .3
|
||||
$LOADS
|
||||
LOAD 1 1. 1. 2
|
||||
FORCE 2 4 2250000. 0. 0. -1.
|
||||
FORCE 2 3 2250000. 0. 0. -1.
|
||||
FORCE 2 2 2250000. 0. 0. -1.
|
||||
FORCE 2 1 2250000. 0. 0. -1.
|
||||
$SPCs
|
||||
SPCADD 1 2
|
||||
SPC1 2 123456 5 6 7 8 50 52
|
||||
76 101 103 192 193 194 195
|
||||
ENDDATA
|
||||
100
src/Mod/Fem/femtest/data/mystran/mystran_plate.bdf
Normal file
100
src/Mod/Fem/femtest/data/mystran/mystran_plate.bdf
Normal file
@@ -0,0 +1,100 @@
|
||||
$pyNastran: version=msc
|
||||
$pyNastran: punch=False
|
||||
$pyNastran: encoding=utf-8
|
||||
$pyNastran: nnodes=36
|
||||
$pyNastran: nelements=25
|
||||
$EXECUTIVE CONTROL DECK
|
||||
SOL 101
|
||||
CEND
|
||||
$CASE CONTROL DECK
|
||||
ECHO = NONE
|
||||
TITLE = pyNastran for generating solverinput for for Mystran
|
||||
SUBCASE 1
|
||||
DISPLACEMENT(SORT1,REAL) = ALL
|
||||
LOAD = 1
|
||||
SPC = 1
|
||||
SPCFORCES(SORT1,REAL) = ALL
|
||||
STRESS(SORT1,REAL,VONMISES,BILIN) = ALL
|
||||
SUBTITLE = Default
|
||||
BEGIN BULK
|
||||
$PARAMS
|
||||
PARAM POST -1
|
||||
$NODES
|
||||
GRID 1 0. 0. 0.
|
||||
GRID 2 2. 0. 0.
|
||||
GRID 3 4. 0. 0.
|
||||
GRID 4 6. 0. 0.
|
||||
GRID 5 8. 0. 0.
|
||||
GRID 6 10. 0. 0.
|
||||
GRID 7 0. 2. 0.
|
||||
GRID 8 2. 2. 0.
|
||||
GRID 9 4. 2. 0.
|
||||
GRID 10 6. 2. 0.
|
||||
GRID 11 8. 2. 0.
|
||||
GRID 12 10. 2. 0.
|
||||
GRID 13 0. 4. 0.
|
||||
GRID 14 2. 4. 0.
|
||||
GRID 15 4. 4. 0.
|
||||
GRID 16 6. 4. 0.
|
||||
GRID 17 8. 4. 0.
|
||||
GRID 18 10. 4. 0.
|
||||
GRID 19 0. 6. 0.
|
||||
GRID 20 2. 6. 0.
|
||||
GRID 21 4. 6. 0.
|
||||
GRID 22 6. 6. 0.
|
||||
GRID 23 8. 6. 0.
|
||||
GRID 24 10. 6. 0.
|
||||
GRID 25 0. 8. 0.
|
||||
GRID 26 2. 8. 0.
|
||||
GRID 27 4. 8. 0.
|
||||
GRID 28 6. 8. 0.
|
||||
GRID 29 8. 8. 0.
|
||||
GRID 30 10. 8. 0.
|
||||
GRID 31 0. 10. 0.
|
||||
GRID 32 2. 10. 0.
|
||||
GRID 33 4. 10. 0.
|
||||
GRID 34 6. 10. 0.
|
||||
GRID 35 8. 10. 0.
|
||||
GRID 36 10. 10. 0.
|
||||
$ELEMENTS
|
||||
CQUAD4 1 1 1 2 8 7
|
||||
CQUAD4 2 1 2 3 9 8
|
||||
CQUAD4 3 1 3 4 10 9
|
||||
CQUAD4 4 1 4 5 11 10
|
||||
CQUAD4 5 1 5 6 12 11
|
||||
CQUAD4 6 1 7 8 14 13
|
||||
CQUAD4 7 1 8 9 15 14
|
||||
CQUAD4 8 1 9 10 16 15
|
||||
CQUAD4 9 1 10 11 17 16
|
||||
CQUAD4 10 1 11 12 18 17
|
||||
CQUAD4 11 1 13 14 20 19
|
||||
CQUAD4 12 1 14 15 21 20
|
||||
CQUAD4 13 1 15 16 22 21
|
||||
CQUAD4 14 1 16 17 23 22
|
||||
CQUAD4 15 1 17 18 24 23
|
||||
CQUAD4 16 1 19 20 26 25
|
||||
CQUAD4 17 1 20 21 27 26
|
||||
CQUAD4 18 1 21 22 28 27
|
||||
CQUAD4 19 1 22 23 29 28
|
||||
CQUAD4 20 1 23 24 30 29
|
||||
CQUAD4 21 1 25 26 32 31
|
||||
CQUAD4 22 1 26 27 33 32
|
||||
CQUAD4 23 1 27 28 34 33
|
||||
CQUAD4 24 1 28 29 35 34
|
||||
CQUAD4 25 1 29 30 36 35
|
||||
$PROPERTIES
|
||||
PSHELL 1 1 .3 1 1
|
||||
$MATERIALS
|
||||
MAT1 1 210000. .3
|
||||
$LOADS
|
||||
LOAD 1 1. 1. 2
|
||||
FORCE 2 6 100. 1. 0. 0.
|
||||
FORCE 2 12 100. 1. 0. 0.
|
||||
FORCE 2 18 100. 1. 0. 0.
|
||||
FORCE 2 24 100. 1. 0. 0.
|
||||
FORCE 2 30 100. 1. 0. 0.
|
||||
FORCE 2 36 100. 1. 0. 0.
|
||||
$SPCs
|
||||
SPCADD 1 2
|
||||
SPC1 2 123456 1 7 13 19 25 31
|
||||
ENDDATA
|
||||
@@ -17,6 +17,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_open
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88
|
||||
|
||||
|
||||
@@ -35,6 +36,7 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_open.TestObjectOpen
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_result.TestResult
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_calculix.TestSolverCalculix
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88
|
||||
|
||||
|
||||
@@ -111,9 +113,15 @@ make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.t
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_faceload_1_si
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_nodeload_0_mm
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_elmer.TestSolverElmer.test_ccxcantilever_prescribeddisplacement_0_mm
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_quad4
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_seg2
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_tria3
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_nodeload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_mystran.TestSolverMystran.test_mystran_plate
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_hexa20
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_tria6
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload
|
||||
make -j 4 && ./bin/FreeCADCmd -t femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_nodeload
|
||||
|
||||
|
||||
@@ -481,7 +489,32 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload'
|
||||
'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_quad4'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_seg2'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_ele_tria3'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_faceload'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_mystran.TestSolverMystran.test_ccx_cantilever_nodeload'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_mystran.TestSolverMystran.test_mystran_plate'
|
||||
))
|
||||
|
||||
import unittest
|
||||
@@ -494,6 +527,11 @@ unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_ele_tria6'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_faceload'
|
||||
))
|
||||
|
||||
import unittest
|
||||
unittest.TextTestRunner().run(unittest.TestLoader().loadTestsFromName(
|
||||
'femtest.app.test_solver_z88.TestSolverZ88.test_ccx_cantilever_nodeload'
|
||||
|
||||
Reference in New Issue
Block a user