diff --git a/python/tests/test_curl.py b/python/tests/test_curl.py index 52e12d223..c3bcc2682 100644 --- a/python/tests/test_curl.py +++ b/python/tests/test_curl.py @@ -6,46 +6,47 @@ from damask import grid_filters class TestGridFilters: - @pytest.mark.parametrize('field_def,curl_def', - [(['np.sin(np.pi*2*nodes[...,2]/size[2])', '0.0', '0.0', - '0.0', '0.0', '0.0', - '0.0', '0.0', '0.0' ], - ['0.0' , '0.0', '0.0', - 'np.cos(np.pi*2*nodes[...,2]/size[2])*np.pi*2/size[2]', '0.0', '0.0', - '0.0', '0.0', '0.0'] - ), - (['np.cos(np.pi*2*nodes[...,1]/size[1])', '0.0', '0.0', - '0.0', '0.0', '0.0', - 'np.cos(np.pi*2*nodes[...,0]/size[0])', '0.0', '0.0'], - ['0.0', '0.0', '0.0', - '0.0', '0.0', '0.0', - 'np.sin(np.pi*2*nodes[...,1]/size[1])*np.pi*2/size[1]', '0.0', '0.0'] - ), - (['np.sin(np.pi*2*nodes[...,0]/size[0])','np.cos(np.pi*2*nodes[...,1]/size[1])','np.sin(np.pi*2*nodes[...,2]/size[2])', - 'np.sin(np.pi*2*nodes[...,0]/size[0])','np.cos(np.pi*2*nodes[...,1]/size[1])','np.sin(np.pi*2*nodes[...,2]/size[2])', - 'np.sin(np.pi*2*nodes[...,0]/size[0])','np.cos(np.pi*2*nodes[...,1]/size[1])','np.sin(np.pi*2*nodes[...,2]/size[2])'], - ['0.0', '0.0', '0.0', - '0.0', '0.0', '0.0', - '0.0', '0.0', '0.0'] - ), - (['5.0', '0.0', '0.0', - '0.0', '0.0', '0.0', - '0.0', '0.0', '2*np.cos(np.pi*2*nodes[...,1]/size[1])'], - ['0.0', '0.0', '-2*np.pi*2/size[1]*np.sin(np.pi*2*nodes[...,1]/size[1])', - '0.0', '0.0', '0.0', - '0.0', '0.0', '0.0'] - ), - (['4*np.sin(np.pi*2*nodes[...,2]/size[2])', '8*np.sin(np.pi*2*nodes[...,0]/size[0])', '16*np.sin(np.pi*2*nodes[...,1]/size[1])'], - ['16*np.pi*2/size[1]*np.cos(np.pi*2*nodes[...,1]/size[1])', \ - '4*np.pi*2/size[2]*np.cos(np.pi*2*nodes[...,2]/size[2])', \ - '8*np.pi*2/size[0]*np.cos(np.pi*2*nodes[...,0]/size[0])'] - ), - (['0.0', 'np.cos(np.pi*2*nodes[...,0]/size[0])+5*np.cos(np.pi*2*nodes[...,2]/size[2])', '0.0'], - ['5*np.sin(np.pi*2*nodes[...,2]/size[2])*np.pi*2/size[2]',\ - '0.0',\ - '-np.sin(np.pi*2*nodes[...,0]/size[0])*np.pi*2/size[0]'] - ) - ]) + curl_test_data =[(['np.sin(np.pi*2*nodes[...,2]/size[2])', '0.0', '0.0', + '0.0', '0.0', '0.0', + '0.0', '0.0', '0.0' ], + ['0.0' , '0.0', '0.0', + 'np.cos(np.pi*2*nodes[...,2]/size[2])*np.pi*2/size[2]', '0.0', '0.0', + '0.0', '0.0', '0.0'] + ), + (['np.cos(np.pi*2*nodes[...,1]/size[1])', '0.0', '0.0', + '0.0', '0.0', '0.0', + 'np.cos(np.pi*2*nodes[...,0]/size[0])', '0.0', '0.0'], + ['0.0', '0.0', '0.0', + '0.0', '0.0', '0.0', + 'np.sin(np.pi*2*nodes[...,1]/size[1])*np.pi*2/size[1]', '0.0', '0.0'] + ), + (['np.sin(np.pi*2*nodes[...,0]/size[0])','np.cos(np.pi*2*nodes[...,1]/size[1])','np.sin(np.pi*2*nodes[...,2]/size[2])', + 'np.sin(np.pi*2*nodes[...,0]/size[0])','np.cos(np.pi*2*nodes[...,1]/size[1])','np.sin(np.pi*2*nodes[...,2]/size[2])', + 'np.sin(np.pi*2*nodes[...,0]/size[0])','np.cos(np.pi*2*nodes[...,1]/size[1])','np.sin(np.pi*2*nodes[...,2]/size[2])'], + ['0.0', '0.0', '0.0', + '0.0', '0.0', '0.0', + '0.0', '0.0', '0.0'] + ), + (['5.0', '0.0', '0.0', + '0.0', '0.0', '0.0', + '0.0', '0.0', '2*np.cos(np.pi*2*nodes[...,1]/size[1])'], + ['0.0', '0.0', '-2*np.pi*2/size[1]*np.sin(np.pi*2*nodes[...,1]/size[1])', + '0.0', '0.0', '0.0', + '0.0', '0.0', '0.0'] + ), + (['4*np.sin(np.pi*2*nodes[...,2]/size[2])', '8*np.sin(np.pi*2*nodes[...,0]/size[0])', '16*np.sin(np.pi*2*nodes[...,1]/size[1])'], + ['16*np.pi*2/size[1]*np.cos(np.pi*2*nodes[...,1]/size[1])', \ + '4*np.pi*2/size[2]*np.cos(np.pi*2*nodes[...,2]/size[2])', \ + '8*np.pi*2/size[0]*np.cos(np.pi*2*nodes[...,0]/size[0])'] + ), + (['0.0', 'np.cos(np.pi*2*nodes[...,0]/size[0])+5*np.cos(np.pi*2*nodes[...,2]/size[2])', '0.0'], + ['5*np.sin(np.pi*2*nodes[...,2]/size[2])*np.pi*2/size[2]',\ + '0.0',\ + '-np.sin(np.pi*2*nodes[...,0]/size[0])*np.pi*2/size[0]'])] + + + @pytest.mark.parametrize('field_def,curl_def',curl_test_data) + def test_curl(self,field_def,curl_def): size = np.random.random(3)+1.0 grid = np.random.randint(8,32,(3))