Changeset 5519


Ignore:
Timestamp:
Jul 17, 2008, 9:10:03 PM (16 years ago)
Author:
ole
Message:

Added another polygon test for set_values
(both polygon tests are currently disabled)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source/anuga/abstract_2d_finite_volumes/test_quantity.py

    r5517 r5519  
    403403    def test_set_vertex_values_using_general_interface_with_subset(self):
    404404        """test_set_vertex_values_using_general_interface_with_subset(self):
    405         Test that indices and polygon works
     405       
     406        Test that indices and polygon works (for constants values)
    406407        """
    407408       
     
    435436
    436437
    437         # Another polygon (pick triangle 1 and 2 (rightmost triangles) using centroids
     438        # Another polygon (pick triangle 1 and 2 (rightmost triangles)
     439        # using centroids
    438440        polygon = [[2.1, 0.0], [3.5,0.1], [2,2.2], [0.2,2]]
    439441        quantity.set_values(0.0)
     
    457459                         [0,0,0]])               
    458460       
    459         #print 'done'
    460461
    461462        # Test input checking
     
    694695
    695696
    696     def XXXXtest_set_values_from_file_using_polygon(self):
     697    def Xtest_set_values_from_file_using_polygon(self):
     698        """test_set_values_from_file_using_polygon(self):
     699       
     700        Test that polygon restriction works for general points data
     701        """
     702       
    697703        quantity = Quantity(self.mesh4)
    698704
     
    729735        file.close()
    730736
    731         # Create restricting polygon (containing vertex #4 (2,2) or centroid of triangle #1 (bce)
     737        # Create restricting polygon (containing node #4 (2,2) and
     738        # centroid of triangle #1 (bce)
    732739        polygon = [[1.0, 1.0], [4.0, 1.0],
    733740                   [4.0, 4.0], [1.0, 4.0]]
     
    747754
    748755        # Get indices for vertex coordinates in polygon
    749         indices = inside_polygon(quantity.domain.get_vertex_coordinates(), polygon)
     756        indices = inside_polygon(quantity.domain.get_vertex_coordinates(),
     757                                 polygon)
    750758        points = take(quantity.domain.get_vertex_coordinates(), indices)
    751759       
     
    760768
    761769        # Check vertices outside polygon are zero
    762         indices = outside_polygon(quantity.domain.get_vertex_coordinates(), polygon)       
     770        indices = outside_polygon(quantity.domain.get_vertex_coordinates(),
     771                                  polygon)       
    763772        assert allclose(take(quantity.vertex_values.flat, indices),
    764773                             0.0)       
     
    771780       
    772781
    773     def Cache_cache_test_set_values_from_file(self):
     782    def test_cache_test_set_values_from_file(self):
     783        # FIXME (Ole): What is this about?
     784        # I don't think it checks anything new
    774785        quantity = Quantity(self.mesh4)
    775786
     
    789800                       [ 3.0, 1.0]]
    790801
     802        georef = Geo_reference(56, 0, 0)
    791803        data_geo_spatial = Geospatial_data(data_points,
    792                          geo_reference = Geo_reference(56, 0, 0))
     804                                           geo_reference=georef)
     805                                           
    793806        data_points_absolute = data_geo_spatial.get_data_points(absolute=True)
    794807        attributes = linear_function(data_points_absolute)
    795808        att = 'spam_and_eggs'
    796809       
    797         #Create .txt file
     810        # Create .txt file
    798811        ptsfile = tempfile.mktemp(".txt")
    799812        file = open(ptsfile,"w")
     
    807820
    808821
    809         #Check that values can be set from file
    810         quantity.set_values(filename = ptsfile,
    811                             attribute_name = att, alpha = 0, use_cache=True,
    812                             verbose=True)
     822        # Check that values can be set from file
     823        quantity.set_values(filename=ptsfile,
     824                            attribute_name=att,
     825                            alpha=0,
     826                            use_cache=True,
     827                            verbose=False)
    813828        answer = linear_function(quantity.domain.get_vertex_coordinates())
    814 
    815         #print quantity.vertex_values.flat
    816         #print answer
    817 
    818 
    819829        assert allclose(quantity.vertex_values.flat, answer)
    820830
    821831
    822         #Check that values can be set from file using default attribute
    823         quantity.set_values(filename = ptsfile, alpha = 0)
     832        # Check that values can be set from file using default attribute
     833        quantity.set_values(filename=ptsfile,
     834                            alpha=0)
    824835        assert allclose(quantity.vertex_values.flat, answer)
    825836
    826         #checking cache
    827         #quantity.set_values(filename = ptsfile,
    828          #                   attribute_name = att, alpha = 0, use_cache=True,
    829           #                  verbose=True)
     837        # Check cache
     838        quantity.set_values(filename=ptsfile,
     839                            attribute_name=att,
     840                            alpha=0,
     841                            use_cache=True,
     842                            verbose=False)
     843       
     844       
    830845        #Cleanup
    831846        import os
     
    858873
    859874        #Check that values can be set from file
    860         quantity.set_values(filename = txt_file,
    861                             attribute_name = att, alpha = 0)
     875        quantity.set_values(filename=txt_file,
     876                            attribute_name=att,
     877                            alpha=0)
    862878        answer = linear_function(quantity.domain.get_vertex_coordinates())
    863879
     
    869885
    870886        #Check that values can be set from file using default attribute
    871         quantity.set_values(filename = txt_file, alpha = 0)
     887        quantity.set_values(filename=txt_file, alpha=0)
    872888        assert allclose(quantity.vertex_values.flat, answer)
    873889
     
    902918
    903919        #Check that values can be set from file
    904         quantity.set_values(filename = txt_file,
    905                             attribute_name = att, alpha = 0)
     920        quantity.set_values(filename=txt_file,
     921                            attribute_name=att, alpha=0)
    906922        answer = linear_function(quantity.domain.get_vertex_coordinates())
    907923
     
    913929
    914930        #Check that values can be set from file using default attribute
    915         quantity.set_values(filename = txt_file, alpha = 0)
     931        quantity.set_values(filename=txt_file, alpha=0)
    916932        assert allclose(quantity.vertex_values.flat, answer)
    917933
     
    958974
    959975        #Check that values can be set from file
    960         quantity.set_values(filename = pts_file,
    961                             attribute_name = att, alpha = 0)
     976        quantity.set_values(filename=pts_file,
     977                            attribute_name=att, alpha=0)
    962978        answer = linear_function(quantity.domain.get_vertex_coordinates())
    963979        #print "quantity.vertex_values.flat", quantity.vertex_values.flat
     
    967983
    968984        #Check that values can be set from file using default attribute
    969         quantity.set_values(filename = txt_file, alpha = 0)
     985        quantity.set_values(filename=txt_file, alpha=0)
    970986        assert allclose(quantity.vertex_values.flat, answer)
    971987
     
    10401056
    10411057        #Check that values can be set from file
    1042         quantity.set_values(filename = pts_file,
    1043                             attribute_name = att, alpha = 0)
     1058        quantity.set_values(filename=pts_file,
     1059                            attribute_name=att, alpha=0)
    10441060        answer = linear_function(quantity.domain.get_vertex_coordinates())
    10451061        #print "quantity.vertex_values.flat", quantity.vertex_values.flat
     
    10491065
    10501066        #Check that values can be set from file using default attribute
    1051         quantity.set_values(filename = txt_file, alpha = 0)
     1067        quantity.set_values(filename=txt_file, alpha=0)
    10521068        assert allclose(quantity.vertex_values.flat, answer)
    10531069
     
    11201136
    11211137        #Check that values can be set from file
    1122         quantity.set_values(filename = ptsfile,
    1123                             attribute_name = att, alpha = 0)
     1138        quantity.set_values(filename=ptsfile,
     1139                            attribute_name=att, alpha=0)
    11241140        answer = linear_function(quantity.domain.get_vertex_coordinates())
    11251141
     
    11281144
    11291145        #Check that values can be set from file using default attribute
    1130         quantity.set_values(filename = ptsfile, alpha = 0)
     1146        quantity.set_values(filename=ptsfile, alpha=0)
    11311147        assert allclose(quantity.vertex_values.flat, answer)
    11321148
     
    11971213
    11981214        #Check that values can be set from file
    1199         quantity.set_values(filename = ptsfile,
    1200                             attribute_name = att, alpha = 0)
     1215        quantity.set_values(filename=ptsfile,
     1216                            attribute_name=att, alpha=0)
    12011217        answer = linear_function(quantity.domain. \
    12021218                                 get_vertex_coordinates(absolute=True))
     
    12071223
    12081224        #Check that values can be set from file using default attribute
    1209         quantity.set_values(filename = ptsfile, alpha = 0)
     1225        quantity.set_values(filename=ptsfile, alpha=0)
    12101226        assert allclose(quantity.vertex_values.flat, answer)
    12111227
     
    12271243
    12281244        quantity2 = Quantity(self.mesh4)
    1229         quantity2.set_values(quantity = quantity1)
     1245        quantity2.set_values(quantity=quantity1)
    12301246        assert allclose(quantity2.vertex_values,
    12311247                        [[1,0,2], [1,2,4], [4,2,5], [3,1,4]])
     
    12471263
    12481264
     1265    def Xtest_set_values_from_quantity_using_polygon(self):
     1266        """test_set_values_from_quantity_using_polygon(self):
     1267       
     1268        Check that polygon can be used to restrict set_values when
     1269        using another quantity as argument.
     1270        """
     1271       
     1272        # Create restricting polygon (containing node #4 (2,2) and
     1273        # centroid of triangle #1 (bce)
     1274        polygon = [[1.0, 1.0], [4.0, 1.0],
     1275                   [4.0, 4.0], [1.0, 4.0]]
     1276        assert allclose(inside_polygon(self.mesh4.nodes, polygon), 4)                   
     1277       
     1278        quantity1 = Quantity(self.mesh4)
     1279        quantity1.set_vertex_values([0,1,2,3,4,5])
     1280
     1281        assert allclose(quantity1.vertex_values,
     1282                        [[1,0,2], [1,2,4], [4,2,5], [3,1,4]])
     1283
     1284
     1285        quantity2 = Quantity(self.mesh4)
     1286        quantity2.set_values(quantity=quantity1,
     1287                             polygon=polygon)
     1288                             
     1289        msg = 'Only node #4(e) at (2,2) should have values applied '
     1290        assert allclose(quantity2.vertex_values,
     1291                        [[0,0,0], [0,0,4], [4,0,0], [0,0,4]]), msg       
     1292                        #bac,     bce,     ecf,     dbe
     1293                       
    12491294
    12501295
Note: See TracChangeset for help on using the changeset viewer.