FEM: Mystran solver, add examples and writer unit tests

This commit is contained in:
Bernd Hahnebach
2021-07-30 13:08:18 +02:00
parent cdcd271b4c
commit 005c66f4ec
22 changed files with 3342 additions and 8 deletions

View File

@@ -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)

View File

@@ -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: {}. "

View File

@@ -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:

View File

@@ -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:

View File

@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Quad4",
"constraints": ["fixed", "force"],
"solvers": ["calculix"],
"solvers": ["calculix", "mystran"],
"material": "solid",
"equation": "mechanical"
}

View File

@@ -37,7 +37,7 @@ def get_information():
"meshtype": "edge",
"meshelement": "Seg2",
"constraints": ["fixed", "force"],
"solvers": ["calculix"],
"solvers": ["calculix", "mystran"],
"material": "solid",
"equation": "mechanical"
}

View File

@@ -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"
}

View File

@@ -37,7 +37,7 @@ def get_information():
"meshtype": "face",
"meshelement": "Tria3",
"constraints": ["fixed", "force"],
"solvers": ["calculix"],
"solvers": ["calculix", "mystran"],
"material": "solid",
"equation": "mechanical"
}

View File

@@ -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"
}

View File

@@ -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"
}

View 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

View 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

View 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)
)

View 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

View 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

View 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

File diff suppressed because it is too large Load Diff

View 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

View 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

View 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

View File

@@ -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'