Following code can export meshing result as vtu file
from netgen import occ, meshing
from ngsolve.utils import *
from vtkmodules.vtkIOXML import vtkXMLUnstructuredGridReader
from ngsolve.comp import *
from ngsolve.solve import *
# from netgen.csg import unit_cube
# mesh = unit_cube.GenerateMesh (maxh = 0.2)
# load geo
geo = occ.OCCGeometry('../resource/frame.step')
# generate mesh from geo
mesh = geo.GenerateMesh(maxh = 1000, perfstepsend = meshing.MeshingStep.MESHSURFACE)
# convert to ngsolve mesh
mesh = Mesh(mesh)
# export mesh as mesh.vtu
v = FESpace(type = "hdivho", mesh = mesh, order = 1, dirichlet = [1, 2, 3])
u = GridFunction (space = v)
vtk = VTKOutput(ma = mesh,
coefs = [u],
names = ["density", "velocity"],
filename = "mesh",
subdivision = 3)
vtk.Do()
# read exported file: mesh.vtu
reader = vtkXMLUnstructuredGridReader()
reader.SetFileName("result.vtu")
reader.Update()
Geo can be exported from vtk pipeline also,my questions are:
1, How to pass geo from vtk to netgen directly,not need to export files?
2, How to read mesh from netgen directly,not need to export/read files?