コード例 #1
0
ファイル: test_Result.py プロジェクト: eisenforschung/DAMASK
 def test_add_curl(self, default, shape):
     if shape == 'vector':
         default.add_calculation('#F#[:,:,0]', 'x', '1', 'just a vector')
     if shape == 'tensor':
         default.add_calculation('#F#[:,:,:]', 'x', '1', 'just a tensor')
     x = default.place('x')
     default.add_curl('x')
     in_file = default.place('curl(x)')
     in_memory = grid_filters.curl(
         default.size, x.reshape(tuple(default.cells) +
                                 x.shape[1:])).reshape(in_file.shape)
     assert (in_file == in_memory).all()
コード例 #2
0
    def test_curl(self,field_def,curl_def):
        size = np.random.random(3)+1.0
        grid = np.random.randint(8,32,(3))

        nodes = grid_filters.cell_coord0(grid,size)
        my_locals = locals()                                                                        # needed for list comprehension

        field = np.stack([np.broadcast_to(eval(f,globals(),my_locals),grid) for f in field_def],axis=-1)
        field = field.reshape(tuple(grid) + ((3,3) if len(field_def)==9 else (3,)))
        curl = np.stack([np.broadcast_to(eval(c,globals(),my_locals),grid) for c in curl_def], axis=-1)
        curl = curl.reshape(tuple(grid) + ((3,3) if len(curl_def)==9 else (3,)))

        assert np.allclose(curl,grid_filters.curl(size,field))