Skip to content
Snippets Groups Projects
Select Git revision
  • gmsh_4_8_4
  • master default protected
  • hierarchical-basis
  • alphashapes
  • bl
  • relaying
  • new_export_boris
  • oras_vs_osm
  • reassign_partitions
  • distributed_fwi
  • rename-classes
  • fix/fortran-api-example-t4
  • robust_partitions
  • reducing_files
  • fix_overlaps
  • 3115-issue-fix
  • 3023-Fillet2D-Update
  • convert_fdivs
  • tmp_jcjc24
  • fixedMeshIF
  • save_edges
  • gmsh_4_14_0
  • gmsh_4_13_1
  • gmsh_4_13_0
  • gmsh_4_12_2
  • gmsh_4_12_1
  • gmsh_4_12_0
  • gmsh_4_11_1
  • gmsh_4_11_0
  • gmsh_4_10_5
  • gmsh_4_10_4
  • gmsh_4_10_3
  • gmsh_4_10_2
  • gmsh_4_10_1
  • gmsh_4_10_0
  • gmsh_4_9_5
  • gmsh_4_9_4
  • gmsh_4_9_3
  • gmsh_4_9_2
  • gmsh_4_9_1
  • gmsh_4_9_0
41 results

flatten.py

Blame
  • flatten.py 1.11 KiB
    import gmsh
    import sys
    
    # script showing how a mesh can be modified (here setting all z coordinates of
    # nodes to 0) by getting the mesh, performing a modification, and storing the
    # modified mesh in the same model.
    
    if len(sys.argv) < 2:
        print("Usage: " + sys.argv[0] + " file.msh")
        exit(0)
    
    gmsh.initialize()
    gmsh.open(sys.argv[1])
    
    nodeTags = {}
    nodeCoords = {}
    elementTypes = {}
    elementTags = {}
    elementNodeTags = {}
    
    entities = gmsh.model.getEntities()
    
    # get the nodes and elements
    for e in entities:
        nodeTags[e], nodeCoords[e], _ = gmsh.model.mesh.getNodes(e[0], e[1])
        elementTypes[e], elementTags[e], elementNodeTags[
            e] = gmsh.model.mesh.getElements(e[0], e[1])
    
    # delete the mesh
    gmsh.model.mesh.clear()
    
    # store new mesh
    for e in entities:
        for i in range(2, len(nodeCoords[e]), 3):
            nodeCoords[e][i] = 0
        gmsh.model.mesh.addNodes(e[0], e[1], nodeTags[e], nodeCoords[e])
        gmsh.model.mesh.addElements(e[0], e[1], elementTypes[e], elementTags[e],
                                    elementNodeTags[e])
    
    if '-nopopup' not in sys.argv:
        gmsh.fltk.run()
    #gmsh.write('flat.msh')
    
    gmsh.finalize()