FEM: replace prints with console prints
This commit is contained in:
@@ -546,8 +546,8 @@ class _MaterialMechanicalNonlinear(CommandManager):
|
||||
solver_object.Proxy.Type == "Fem::FemSolverCalculixCcxTools"
|
||||
or solver_object.Proxy.Type == "Fem::FemSolverObjectCalculix"
|
||||
):
|
||||
print(
|
||||
"Set MaterialNonlinearity and GeometricalNonlinearity to nonlinear for {}"
|
||||
FreeCAD.Console.PrintMessage(
|
||||
"Set MaterialNonlinearity and GeometricalNonlinearity to nonlinear for {}\n"
|
||||
.format(solver_object.Label)
|
||||
)
|
||||
solver_object.MaterialNonlinearity = "nonlinear"
|
||||
|
||||
@@ -98,10 +98,10 @@ def setup_cantileverbase(doc=None, solver="ccxtools"):
|
||||
fem_mesh = Fem.FemMesh()
|
||||
control = create_nodes(fem_mesh)
|
||||
if not control:
|
||||
print("ERROR on creating nodes")
|
||||
FreeCAD.Console.PrintError("Error on creating nodes.\n")
|
||||
control = create_elements(fem_mesh)
|
||||
if not control:
|
||||
print("ERROR on creating elements")
|
||||
FreeCAD.Console.PrintError("Error on creating elements.\n")
|
||||
femmesh_obj = analysis.addObject(
|
||||
doc.addObject("Fem::FemMeshObject", mesh_name)
|
||||
)[0]
|
||||
|
||||
@@ -143,10 +143,10 @@ def setup_rcwall2d(doc=None, solver="ccxtools"):
|
||||
fem_mesh = Fem.FemMesh()
|
||||
control = create_nodes(fem_mesh)
|
||||
if not control:
|
||||
print("ERROR on creating nodes")
|
||||
FreeCAD.Console.PrintError("Error on creating nodes.\n")
|
||||
control = create_elements(fem_mesh)
|
||||
if not control:
|
||||
print("ERROR on creating elements")
|
||||
FreeCAD.Console.PrintError("Error on creating elements.\n")
|
||||
femmesh_obj = analysis.addObject(
|
||||
doc.addObject("Fem::FemMeshObject", mesh_name)
|
||||
)[0]
|
||||
|
||||
@@ -204,14 +204,16 @@ def read_frd_result(
|
||||
inout_nodes = []
|
||||
inout_nodes_file = frd_input.rsplit('.', 1)[0] + '_inout_nodes.txt'
|
||||
if os.path.exists(inout_nodes_file):
|
||||
print('Read special 1DFlow nodes data form: ' + inout_nodes_file)
|
||||
FreeCAD.Console.PrintMessage(
|
||||
"Read special 1DFlow nodes data form: {}\n".format(inout_nodes_file)
|
||||
)
|
||||
f = pyopen(inout_nodes_file, "r")
|
||||
lines = f.readlines()
|
||||
for line in lines:
|
||||
a = line.split(',')
|
||||
inout_nodes.append(a)
|
||||
f.close()
|
||||
print(inout_nodes)
|
||||
FreeCAD.Console.PrintMessage("{}\n".format(inout_nodes))
|
||||
frd_file = pyopen(frd_input, "r")
|
||||
nodes = {}
|
||||
elements_hexa8 = {}
|
||||
|
||||
@@ -69,7 +69,9 @@ def get_FemMeshObjectOrder(
|
||||
else:
|
||||
presumable_order = [el - 1 for el in edges_length_set]
|
||||
else:
|
||||
print("Found no edges in mesh: Element order determination does not work without them.")
|
||||
FreeCAD.Console.PrintMessage(
|
||||
"Found no edges in mesh: Element order determination does not work without them.\n"
|
||||
)
|
||||
|
||||
return presumable_order
|
||||
|
||||
|
||||
@@ -460,7 +460,7 @@ def write_z88_mesh_to_file(
|
||||
):
|
||||
node_dof = 6 # schalenelemente
|
||||
else:
|
||||
print("Error: wrong z88_element_type")
|
||||
FreeCAD.Console.PrintError("Error: wrong z88_element_type.\n")
|
||||
return
|
||||
node_count = len(femnodes_mesh)
|
||||
element_count = len(femelement_table)
|
||||
@@ -558,9 +558,9 @@ def get_z88_element_type(
|
||||
):
|
||||
import femmesh.meshtools as FemMeshTools
|
||||
if not femmesh:
|
||||
print("Error: No femmesh!")
|
||||
FreeCAD.Console.PrintMessage("Error: No femmesh!\n")
|
||||
if not femelement_table:
|
||||
print("We need to get the femelement_table first!")
|
||||
FreeCAD.Console.PrintMessage("We need to get the femelement_table first!\n")
|
||||
femelement_table = FemMeshTools.get_femelement_table(femmesh)
|
||||
# in some cases lowest key in femelement_table is not [1]
|
||||
for elem in sorted(femelement_table):
|
||||
@@ -574,43 +574,43 @@ def get_z88_element_type(
|
||||
elif elem_length == 10:
|
||||
return 16
|
||||
else:
|
||||
print('Tetra with neither 4 nor 10 nodes')
|
||||
FreeCAD.Console.PrintMessage('Tetra with neither 4 nor 10 nodes.\n')
|
||||
elif femmesh.HexaCount == femmesh.VolumeCount:
|
||||
if elem_length == 8:
|
||||
return 1
|
||||
elif elem_length == 20:
|
||||
return 10
|
||||
else:
|
||||
print('Hexa with neither 8 nor 20 nodes')
|
||||
FreeCAD.Console.PrintMessage('Hexa with neither 8 nor 20 nodes.\n')
|
||||
return 0
|
||||
else:
|
||||
print('no tetra, no hexa or Mixed Volume Elements')
|
||||
FreeCAD.Console.PrintMessage('no tetra, no hexa or Mixed Volume Elements.\n')
|
||||
elif FemMeshTools.is_face_femmesh(femmesh):
|
||||
if femmesh.TriangleCount == femmesh.FaceCount:
|
||||
if elem_length == 3:
|
||||
print('tria3mesh, not supported by z88')
|
||||
FreeCAD.Console.PrintMessage('tria3mesh, not supported by Z88.\n')
|
||||
return 0
|
||||
elif elem_length == 6:
|
||||
return 24
|
||||
else:
|
||||
print('Tria with neither 3 nor 6 nodes')
|
||||
FreeCAD.Console.PrintMessage('Tria with neither 3 nor 6 nodes.\n')
|
||||
return 0
|
||||
elif femmesh.QuadrangleCount == femmesh.FaceCount:
|
||||
if elem_length == 4:
|
||||
print('quad4mesh, not supported by z88')
|
||||
FreeCAD.Console.PrintMessage('quad4mesh, not supported by Z88.\n')
|
||||
return 0
|
||||
elif elem_length == 8:
|
||||
return 23
|
||||
else:
|
||||
print('Quad with neither 4 nor 8 nodes')
|
||||
FreeCAD.Console.PrintMessage('Quad with neither 4 nor 8 nodes.\n')
|
||||
return 0
|
||||
else:
|
||||
print('no tria, no quad')
|
||||
FreeCAD.Console.PrintMessage('no tria, no quad\n')
|
||||
return 0
|
||||
elif FemMeshTools.is_edge_femmesh(femmesh):
|
||||
print('Edge femmesh will be exported as 3D truss element nr 4')
|
||||
FreeCAD.Console.PrintMessage('Edge femmesh will be exported as 3D truss element nr 4.\n')
|
||||
return 4
|
||||
else:
|
||||
print('Neither edge nor face nor solid femmesh')
|
||||
FreeCAD.Console.PrintMessage('Neither edge nor face nor solid femmesh.\n')
|
||||
return 0
|
||||
return 0
|
||||
|
||||
@@ -32,9 +32,6 @@ import FreeCAD
|
||||
import os
|
||||
|
||||
|
||||
Debug = False
|
||||
|
||||
|
||||
# ********* generic FreeCAD import and export methods *********
|
||||
if open.__module__ == '__builtin__':
|
||||
# because we'll redefine open below (Python2)
|
||||
@@ -162,9 +159,8 @@ def read_z88_disp(
|
||||
mode_results['disp'] = mode_disp
|
||||
results.append(mode_results)
|
||||
|
||||
if Debug:
|
||||
for r in results[0]['disp']:
|
||||
print(r, ' --> ', results[0]['disp'][r])
|
||||
for r in results[0]['disp']:
|
||||
FreeCAD.Console.PrintLog("{} --> {}\n".format(r, results[0]['disp'][r]))
|
||||
|
||||
z88_disp_file.close()
|
||||
return {'Nodes': nodes, 'Results': results}
|
||||
|
||||
@@ -28,6 +28,8 @@ __url__ = "http://www.freecadweb.org"
|
||||
# \ingroup FEM
|
||||
|
||||
import time
|
||||
|
||||
import FreeCAD
|
||||
# import Mesh
|
||||
|
||||
|
||||
@@ -154,13 +156,13 @@ def femmesh_2_mesh(myFemMesh, myResults=None):
|
||||
singleFaces.append(faceCodeList[actFaceIdx])
|
||||
actFaceIdx += 1
|
||||
else:
|
||||
print("found a last Face: ", faceCodeList[actFaceIdx])
|
||||
FreeCAD.Console.PrintMessage("Found a last Face: {}\n".format(faceCodeList[actFaceIdx]))
|
||||
singleFaces.append(faceCodeList[actFaceIdx])
|
||||
actFaceIdx += 1
|
||||
|
||||
output_mesh = []
|
||||
if myResults:
|
||||
print(myResults.Name)
|
||||
FreeCAD.Console.PrintMessage("{}\n".format(myResults.Name))
|
||||
for myFace in singleFaces:
|
||||
face_nodes = faceCodeDict[myFace]
|
||||
dispVec0 = myResults.DisplacementVectors[myResults.NodeNumbers.index(face_nodes[0])]
|
||||
@@ -195,5 +197,7 @@ def femmesh_2_mesh(myFemMesh, myResults=None):
|
||||
# print("my 2. triangle: ", triangle)
|
||||
|
||||
end_time = time.clock()
|
||||
print("Mesh by surface search method: ", end_time - start_time)
|
||||
FreeCAD.Console.PrintMessage(
|
||||
"Mesh by surface search method: {}\n".format(end_time - start_time)
|
||||
)
|
||||
return output_mesh
|
||||
|
||||
@@ -108,7 +108,7 @@ def show_result(resultobj, result_type="Sabs", limit=None):
|
||||
values = list(d[match[result_type]])
|
||||
show_color_by_scalar_with_cutoff(resultobj, values, limit)
|
||||
else:
|
||||
print("Error, No result object given.")
|
||||
FreeCAD.Console.PrintError("Error, No result object given.\n")
|
||||
|
||||
|
||||
## Sets mesh color using list of values. Internally used by show_result function.
|
||||
@@ -359,7 +359,7 @@ def get_concrete_nodes(res_obj):
|
||||
for obj in res_obj.getParentGroup().Group:
|
||||
if obj.isDerivedFrom("App::MaterialObjectPython") \
|
||||
and femutils.is_of_type(obj, "Fem::MaterialReinforced"):
|
||||
print("ReinforcedMaterial")
|
||||
FreeCAD.Console.PrintMessage("ReinforcedMaterial\n")
|
||||
if obj.References == []:
|
||||
for iic in range(nsr):
|
||||
if ic[iic] == 0:
|
||||
@@ -371,7 +371,7 @@ def get_concrete_nodes(res_obj):
|
||||
ic[cn - 1] = 1
|
||||
elif obj.isDerivedFrom("App::MaterialObjectPython") \
|
||||
and femutils.is_of_type(obj, "Fem::Material"):
|
||||
print("NOT ReinforcedMaterial")
|
||||
FreeCAD.Console.PrintMessage("No ReinforcedMaterial\n")
|
||||
if obj.References == []:
|
||||
for iic in range(nsr):
|
||||
if ic[iic] == 0:
|
||||
|
||||
@@ -298,7 +298,7 @@ class Proxy(solverbase.Proxy):
|
||||
|
||||
def edit(self, directory):
|
||||
pattern = os.path.join(directory, "*.inp")
|
||||
print(pattern)
|
||||
FreeCAD.Console.PrintMessage("{}\n".format(pattern))
|
||||
f = glob.glob(pattern)[0]
|
||||
FemGui.open(f)
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ import os.path
|
||||
import subprocess
|
||||
import tempfile
|
||||
|
||||
import FreeCAD
|
||||
from FreeCAD import Units
|
||||
import Fem
|
||||
import femtools.femutils as femutils
|
||||
@@ -124,7 +125,7 @@ class Writer(object):
|
||||
groups.extend(self._builder.getBoundaryNames())
|
||||
self._exportToUnv(groups, mesh, unvPath)
|
||||
if self.testmode:
|
||||
print("We are in testmode ElmerGrid may not be installed!")
|
||||
FreeCAD.Console.PrintMessage("We are in testmode ElmerGrid may not be installed.\n")
|
||||
else:
|
||||
binary = settings.get_binary("ElmerGrid")
|
||||
if binary is None:
|
||||
@@ -164,7 +165,7 @@ class Writer(object):
|
||||
tools.write_part_file()
|
||||
tools.write_geo()
|
||||
if self.testmode:
|
||||
print("We are in testmode, GMSH may not be installed!")
|
||||
FreeCAD.Console.PrintMessage("We are in testmode, Gmsh may not be installed.\n")
|
||||
import shutil
|
||||
shutil.copyfile(geoPath, os.path.join(self.directory, "group_mesh.geo"))
|
||||
else:
|
||||
|
||||
@@ -139,7 +139,7 @@ class FemInputWriter():
|
||||
# because solid nodes do not have rotational degree of freedom
|
||||
if self.femmesh.Volumes \
|
||||
and (len(self.shellthickness_objects) > 0 or len(self.beamsection_objects) > 0):
|
||||
print("We need to find the solid nodes.")
|
||||
FreeCAD.Console.PrintMessage("We need to find the solid nodes.\n")
|
||||
if not self.femelement_volumes_table:
|
||||
self.femelement_volumes_table = meshtools.get_femelement_volumes_table(
|
||||
self.femmesh
|
||||
|
||||
@@ -78,7 +78,7 @@ class Proxy(solverbase.Proxy):
|
||||
|
||||
def edit(self, directory):
|
||||
pattern = os.path.join(directory, "*.txt")
|
||||
print(pattern)
|
||||
FreeCAD.Console.PrintMessage("{}\n".format(pattern))
|
||||
f = glob.glob(pattern)[0]
|
||||
FemGui.open(f)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user