Skip to content

Commit 1d4a478

Browse files
committed
Merge branch 'master' of https://github.com/pletzer/mint
2 parents 54c0039 + 95eda7f commit 1d4a478

File tree

3 files changed

+53
-45
lines changed

3 files changed

+53
-45
lines changed

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ pip-cache
2121
.coverage
2222
.pytest_cache
2323

24-
# Created by editiors
24+
# Build
25+
cmake-build-debug/
26+
27+
# Created by editors
2528
*~
2629
\#*
2730
\.\#*

mint/tests/test_grid.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
from mint import Grid
22
import numpy
3-
import sys
43
from pathlib import Path
54
import vtk
6-
5+
from tempfile import NamedTemporaryFile
76

87
def test_create_grid():
98
# create the grid
@@ -18,7 +17,8 @@ def test_create_grid():
1817
(2., 1., 0.),
1918
(1., 1., 0.)]).reshape(2, 4, 3)
2019
gr.setPoints(points)
21-
gr.dump('test_create_grid.vtk')
20+
with NamedTemporaryFile() as f:
21+
gr.dump(f.name)
2222

2323
def test_attach_data():
2424
# create the grid
@@ -37,15 +37,16 @@ def test_attach_data():
3737
nDataPerCell = 3
3838
data = numpy.arange(0, 2*nDataPerCell, dtype=numpy.float64).reshape((2, nDataPerCell))
3939
gr.attach('mydata', data)
40-
gr.dump('test_create_grid_with_data.vtk')
41-
# read the data back to check the layout of the data
42-
reader = vtk.vtkUnstructuredGridReader()
43-
reader.SetFileName('test_create_grid_with_data.vtk')
44-
reader.Update()
45-
ugrid = reader.GetOutput()
46-
arr = ugrid.GetCellData().GetArray('mydata')
47-
assert(arr.GetNumberOfTuples() == gr.getNumberOfCells())
48-
assert(arr.GetNumberOfComponents() == nDataPerCell)
40+
with NamedTemporaryFile() as f:
41+
gr.dump(f.name)
42+
# read the data back to check the layout of the data
43+
reader = vtk.vtkUnstructuredGridReader()
44+
reader.SetFileName(f.name)
45+
reader.Update()
46+
ugrid = reader.GetOutput()
47+
arr = ugrid.GetCellData().GetArray('mydata')
48+
assert(arr.GetNumberOfTuples() == gr.getNumberOfCells())
49+
assert(arr.GetNumberOfComponents() == nDataPerCell)
4950

5051
def test_load_grid():
5152
data_dir = Path(__file__).absolute().parent / '../../data'

mint/tests/test_vector_interp.py

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
from mint import VectorInterp
33
import numpy
44
import vtk
5+
from tempfile import TemporaryDirectory
6+
from os import sep
57

68

79
def generateStructuredGridPoints(nx, ny, v0, v1, v2, v3):
@@ -171,27 +173,28 @@ def test_slanted():
171173
# all points fall within the source grid so numBad == 0
172174
assert(numBad == 0)
173175

174-
# generate edge data
175-
data = numpy.zeros((numCells, 4), numpy.float64)
176-
for cellId in range(numCells):
177-
# iterate over the edges of the source grid cells
178-
for edgeIndex in range(4):
176+
with TemporaryDirectory() as d:
177+
# generate edge data
178+
data = numpy.zeros((numCells, 4), numpy.float64)
179+
for cellId in range(numCells):
180+
# iterate over the edges of the source grid cells
181+
for edgeIndex in range(4):
179182

180-
# set one edge to 1, all other edges to zero
181-
data[cellId, edgeIndex] = 1.0
183+
# set one edge to 1, all other edges to zero
184+
data[cellId, edgeIndex] = 1.0
182185

183-
# get the edge interpolated vectors
184-
vectorData = vi.getEdgeVectors(data)
185-
fileName = f'slanted_edgeVectors_cellId{cellId}edgeIndex{edgeIndex}.vtk'
186-
saveVectorsVTKFile(targetPoints, vectorData, fileName)
186+
# get the edge interpolated vectors
187+
vectorData = vi.getEdgeVectors(data)
188+
fileName = f'{d}{sep}slanted_edgeVectors_cellId{cellId}edgeIndex{edgeIndex}.vtk'
189+
saveVectorsVTKFile(targetPoints, vectorData, fileName)
187190

188-
# get the lateral face interpolated vectors
189-
vectorData = vi.getFaceVectors(data)
190-
fileName = f'slanted_faceVectors_cellId{cellId}edgeIndex{edgeIndex}.vtk'
191-
saveVectorsVTKFile(targetPoints, vectorData, fileName)
191+
# get the lateral face interpolated vectors
192+
vectorData = vi.getFaceVectors(data)
193+
fileName = f'{d}{sep}slanted_faceVectors_cellId{cellId}edgeIndex{edgeIndex}.vtk'
194+
saveVectorsVTKFile(targetPoints, vectorData, fileName)
192195

193-
# reset this edge's value back to its original
194-
data[cellId, edgeIndex] = 0.0
196+
# reset this edge's value back to its original
197+
data[cellId, edgeIndex] = 0.0
195198

196199

197200
def test_degenerate():
@@ -222,26 +225,27 @@ def test_degenerate():
222225
# all points fall within the source grid so numBad == 0
223226
assert(numBad == 0)
224227

225-
# generate edge data
226-
data = numpy.zeros((numCells, 4), numpy.float64)
227-
for cellId in range(numCells):
228-
# iterate over the edges of the source grid cells
229-
for edgeIndex in range(4):
228+
with TemporaryDirectory() as d:
229+
# generate edge data
230+
data = numpy.zeros((numCells, 4), numpy.float64)
231+
for cellId in range(numCells):
232+
# iterate over the edges of the source grid cells
233+
for edgeIndex in range(4):
230234

231-
# set one edge to 1, all other edges to zero
232-
data[cellId, edgeIndex] = 1.0
235+
# set one edge to 1, all other edges to zero
236+
data[cellId, edgeIndex] = 1.0
233237

234-
# get the edge interpolated vectors
235-
vectorData = vi.getEdgeVectors(data)
238+
# get the edge interpolated vectors
239+
vectorData = vi.getEdgeVectors(data)
236240

237-
# get the face interpolated vectors
238-
vectorData = vi.getFaceVectors(data)
241+
# get the face interpolated vectors
242+
vectorData = vi.getFaceVectors(data)
239243

240-
# reset this edge's value back to its original
241-
data[cellId, edgeIndex] = 0.0
244+
# reset this edge's value back to its original
245+
data[cellId, edgeIndex] = 0.0
242246

243-
fileName = f'degenerate_cellId{cellId}edgeIndex{edgeIndex}.vtk'
244-
saveVectorsVTKFile(targetPoints, vectorData, fileName)
247+
fileName = f'{d}{sep}degenerate_cellId{cellId}edgeIndex{edgeIndex}.vtk'
248+
saveVectorsVTKFile(targetPoints, vectorData, fileName)
245249

246250

247251
if __name__ == '__main__':

0 commit comments

Comments
 (0)