https://ngsolve.org/media/kunena/attachments/1238/test.volLoss of boundary conditions when the grid is dumped or loaded. Is there any way to deal with this?
Example:
[code]from ngsolve.comp import Mesh
from netgen.geom2d import unit_square
from netgen.meshing import Mesh as M
unit_square.AppendPoint(0.5, 0.5, name=‘point1’, maxh=0.03)
unit_square.AppendPoint(0.3, 0.1, name=‘point2’, maxh=0.03)
unit_square.SetMaterial(1, ‘material’)
mesh = Mesh(unit_square.GenerateMesh(maxh=0.5))
print(‘\n Original’)
print(‘:’, mesh.GetBoundaries())
print(‘:’, mesh.GetBBoundaries())
print(‘:’, mesh.GetBBBoundaries())
print(‘’, mesh.GetMaterials())
print(‘\n’)
------------------------------------------------------
import pickle
dump = pickle.dumps(mesh)
load = pickle.loads(dump)
print(‘\n Pickle’)
print(‘:’, load.GetBoundaries())
print(‘:’, load.GetBBoundaries())
print(‘:’, load.GetBBBoundaries())
print(‘’, load.GetMaterials())
print(‘\n’)
------------------------------------------------------
ngm = mesh.ngmesh.Save(‘test.vol’)
input(‘Press Enter …’)
ngmObj = M()
ngmObj.Load(‘test.vol’)
ngs = Mesh(ngmObj)
print(‘\n Save/Load’)
print(‘:’, ngs.GetBoundaries())
print(‘:’, ngs.GetBBoundaries())
print(‘:’, ngs.GetBBBoundaries())
print(‘’, ngs.GetMaterials())
print(‘\n’)[/code]
Output:
[code] Original
: (‘bottom’, ‘right’, ‘top’, ‘left’)
: (‘point1’, ‘point2’)
: ()
(‘material’,)
Update mesh topology
Update clusters
Pickle
: (‘bottom’, ‘right’, ‘top’, ‘left’)
: ()
: ()
(‘material’,)
Press Enter …
138 surface elements
Traceback (most recent call last):
0 volume elements
File “E:/PycharmProjects/united_modules_pyqt-ui/src/ru/nano/sgu/test.py”, line 40, in
22 curve elements
ngmObj.Load(‘test.vol’)
83 points
netgen.libngpy._meshing.NgException: co dim 2 elements not implemented for dimension 2
83 points done
2 pointelements
2 pointelements done[/code]
NETGEN-6.2.2009-83-g5e489319
NGSolve-6.2.2101
https://ngsolve.org/media/kunena/attachments/1238/test.vol
Attachment: test.vol