File: explore.jl

package info (click to toggle)
gmsh 4.15.1%2Bds1-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 52,880 kB
  • sloc: cpp: 440,657; ansic: 114,930; f90: 15,611; python: 13,907; yacc: 7,438; java: 3,491; lisp: 3,206; lex: 633; perl: 571; makefile: 500; xml: 414; sh: 407; javascript: 113; modula3: 32
file content (39 lines) | stat: -rw-r--r-- 1,234 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import gmsh

if length(ARGS) < 1
    println("Usage: julia explore.jl file.msh")
    exit(0)
end

gmsh.initialize()
try
    gmsh.open(ARGS[1])
catch e
    exit(0)
end

# get all elementary entities in the model
entities = gmsh.model.getEntities()

for e in entities
    # get the mesh nodes for each elementary entity
    nodeTags, nodeCoords, nodeParams = gmsh.model.mesh.getNodes(e[1], e[2])
    # get the mesh elements for each elementary entity
    elemTypes, elemTags, elemNodeTags = gmsh.model.mesh.getElements(e[1], e[2])
    # report some statistics
    numElem = sum([length(t) for t in elemTags])
    println(length(nodeTags), " mesh nodes and ", numElem, " mesh elements ",
            "on entity ", e, " of type ", gmsh.model.getType(e[1], e[2]))
    partitions = gmsh.model.getPartitions(e[1], e[2])
    if length(partitions) > 0
        println(" - Partition tag(s): ", partitions, " - parent entity",
                gmsh.model.getParent(e[1], e[2]))
    end
    for t in elemTypes
        name, dim, order, numv, parv = gmsh.model.mesh.getElementProperties(t)
        println(" - Element type: ", name, ", order ", order)
        println("   with ", numv, " nodes in param coord: ", parv)
    end
end

gmsh.finalize()