FEM: code formating, flake8 in import Fenics mesh
This commit is contained in:
parent
10dd719631
commit
e98d6321bb
|
@ -33,6 +33,7 @@ import FreeCAD
|
|||
import os
|
||||
from lxml import etree # parsing xml files and exporting
|
||||
|
||||
|
||||
# Template copied from importZ88Mesh.py. Thanks Bernd!
|
||||
########## generic FreeCAD import and export methods ##########
|
||||
if open.__module__ == '__builtin__':
|
||||
|
@ -72,10 +73,9 @@ def export(objectslist, filename):
|
|||
|
||||
write_fenics_mesh(obj, filename)
|
||||
|
||||
|
||||
########## module specific methods ##########
|
||||
|
||||
# Helper
|
||||
|
||||
def get_FemMeshObjectDimension(fem_mesh_obj):
|
||||
""" Count all entities in an abstract sense, to distinguish which dimension the mesh is
|
||||
(i.e. linemesh, facemesh, volumemesh)
|
||||
|
@ -93,11 +93,13 @@ def get_FemMeshObjectDimension(fem_mesh_obj):
|
|||
|
||||
return dim
|
||||
|
||||
|
||||
def get_FemMeshObjectElementTypes(fem_mesh_obj, remove_zero_element_entries=True):
|
||||
"""
|
||||
Spit out all elements in the mesh with their appropriate dimension.
|
||||
"""
|
||||
FreeCAD_element_names = ["Node", "Edge", "Hexa", "Polygon", "Polyhedron",
|
||||
FreeCAD_element_names = [
|
||||
"Node", "Edge", "Hexa", "Polygon", "Polyhedron",
|
||||
"Prism", "Pyramid", "Quadrangle", "Tetra", "Triangle"]
|
||||
FreeCAD_element_dims = [0, 1, 3, 2, 3, 3, 3, 2, 3, 2]
|
||||
|
||||
|
@ -108,9 +110,9 @@ def get_FemMeshObjectElementTypes(fem_mesh_obj, remove_zero_element_entries=True
|
|||
else:
|
||||
elements_list = elements_list_with_zero
|
||||
|
||||
|
||||
return elements_list
|
||||
|
||||
|
||||
def get_MaxDimElementFromList(elem_list):
|
||||
"""
|
||||
Gets element with the maximal dimension in the mesh to determine cells.
|
||||
|
@ -118,6 +120,7 @@ def get_MaxDimElementFromList(elem_list):
|
|||
elem_list.sort(key=lambda (num, s, d): d)
|
||||
return elem_list[-1]
|
||||
|
||||
|
||||
def write_fenics_mesh(fem_mesh_obj, outputfile):
|
||||
"""
|
||||
For the export, we only have to use the highest dimensional entities and their
|
||||
|
@ -126,7 +129,6 @@ def write_fenics_mesh(fem_mesh_obj, outputfile):
|
|||
# TODO: check for second order elements
|
||||
# TODO: export mesh functions (to be defined, cell functions, vertex functions, facet functions)
|
||||
|
||||
|
||||
FreeCAD_to_Fenics_dict = {
|
||||
"Triangle": "triangle",
|
||||
"Tetra": "tetrahedron",
|
||||
|
@ -139,7 +141,6 @@ def write_fenics_mesh(fem_mesh_obj, outputfile):
|
|||
"Prism": "unknown", "Pyramid": "unknown",
|
||||
}
|
||||
|
||||
|
||||
print("Converting " + fem_mesh_obj.Label + " to fenics XML File")
|
||||
print("Dimension of mesh: %d" % (get_FemMeshObjectDimension(fem_mesh_obj),))
|
||||
|
||||
|
@ -155,7 +156,8 @@ def write_fenics_mesh(fem_mesh_obj, outputfile):
|
|||
vertices = etree.SubElement(meshchild, "vertices", size=str(fem_mesh_obj.FemMesh.NodeCount))
|
||||
|
||||
for (nodeind, fc_vec) in fem_mesh_obj.FemMesh.Nodes.iteritems(): # python2
|
||||
etree.SubElement(vertices, "vertex", index=str(nodeind-1),
|
||||
etree.SubElement(
|
||||
vertices, "vertex", index=str(nodeind - 1),
|
||||
# FC starts from 1, fenics starts from 0 to size-1
|
||||
x=str(fc_vec[0]), y=str(fc_vec[1]), z=str(fc_vec[2]))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user