anuga 1.3.5__zip

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (870) hide show
  1. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__config__.py +21 -0
  2. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__config__.pyc +0 -0
  3. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__init__.py +363 -0
  4. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__init__.pyc +0 -0
  5. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__metadata__.py +6 -0
  6. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/__metadata__.pyc +0 -0
  7. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/__init__.py +17 -0
  8. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/__init__.pyc +0 -0
  9. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/ermapper_grids.py +251 -0
  10. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/ermapper_grids.pyc +0 -0
  11. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/file_function.py +483 -0
  12. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/file_function.pyc +0 -0
  13. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/gauge.py +1080 -0
  14. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/gauge.pyc +0 -0
  15. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/general_mesh.py +865 -0
  16. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/general_mesh.pyc +0 -0
  17. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.py +862 -0
  18. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_boundary_conditions.pyc +0 -0
  19. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_domain.py +2274 -0
  20. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/generic_domain.pyc +0 -0
  21. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/mesh_factory.py +1011 -0
  22. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/mesh_factory.pyc +0 -0
  23. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/mesh_factory_ext.pyd +0 -0
  24. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_mesh.py +1488 -0
  25. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_mesh.pyc +0 -0
  26. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_mesh_ext.pyd +0 -0
  27. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/neighbour_table_ext.pyd +0 -0
  28. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/pmesh2domain.py +299 -0
  29. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/pmesh2domain.pyc +0 -0
  30. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/pmesh2domain_ext.pyd +0 -0
  31. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/quantity.py +2162 -0
  32. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/quantity.pyc +0 -0
  33. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/quantity_ext.pyd +0 -0
  34. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/region.py +321 -0
  35. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/region.pyc +0 -0
  36. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/setup.py +48 -0
  37. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/setup.pyc +0 -0
  38. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tag_region.py +167 -0
  39. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tag_region.pyc +0 -0
  40. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/__init__.py +8 -0
  41. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/show_balanced_limiters.py +87 -0
  42. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_ermapper.py +189 -0
  43. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_gauge.py +539 -0
  44. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_general_mesh.py +517 -0
  45. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_generic_boundary_conditions.py +439 -0
  46. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_generic_domain.py +907 -0
  47. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_ghost.py +52 -0
  48. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_neighbour_mesh.py +1854 -0
  49. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_pmesh2domain.py +219 -0
  50. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_quantity.py +2859 -0
  51. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_region.py +99 -0
  52. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_tag_region.py +258 -0
  53. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/tests/test_util.py +1632 -0
  54. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/util.py +928 -0
  55. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/abstract_2d_finite_volumes/util.pyc +0 -0
  56. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/__init__.py +12 -0
  57. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/__init__.pyc +0 -0
  58. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/advection.py +298 -0
  59. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/advection.pyc +0 -0
  60. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/advection_ext.pyd +0 -0
  61. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/setup.py +27 -0
  62. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/setup.pyc +0 -0
  63. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/tests/__init__.py +8 -0
  64. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/advection/tests/test_advection.py +183 -0
  65. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/__init__.py +4 -0
  66. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/__init__.pyc +0 -0
  67. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/alpha_shape.py +654 -0
  68. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/alpha_shape.pyc +0 -0
  69. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/setup.py +21 -0
  70. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/setup.pyc +0 -0
  71. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/tests/__init__.py +8 -0
  72. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/alpha_shape/tests/test_alpha_shape.py +402 -0
  73. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/anuga_exceptions.py +46 -0
  74. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/anuga_exceptions.pyc +0 -0
  75. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/__init__.py +18 -0
  76. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/__init__.pyc +0 -0
  77. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/caching.py +2531 -0
  78. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/caching.pyc +0 -0
  79. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/dummy_classes_for_testing.py +20 -0
  80. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/dummy_classes_for_testing.pyc +0 -0
  81. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/setup.py +21 -0
  82. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/setup.pyc +0 -0
  83. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/tests/__init__.py +8 -0
  84. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/caching/tests/test_caching.py +895 -0
  85. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/compile_all.py +82 -0
  86. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/compile_all.pyc +0 -0
  87. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/config.py +273 -0
  88. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/config.pyc +0 -0
  89. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/__init__.py +6 -0
  90. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/__init__.pyc +0 -0
  91. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/geo_reference.py +478 -0
  92. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/geo_reference.pyc +0 -0
  93. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/lat_long_UTM_conversion.py +250 -0
  94. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/lat_long_UTM_conversion.pyc +0 -0
  95. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/point.py +128 -0
  96. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/point.pyc +0 -0
  97. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/redfearn.py +233 -0
  98. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/redfearn.pyc +0 -0
  99. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/setup.py +21 -0
  100. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/setup.pyc +0 -0
  101. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/__init__.py +8 -0
  102. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points.csv +11 -0
  103. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points.lic +17 -0
  104. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z53.csv +11 -0
  105. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z53.lic +17 -0
  106. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z54.csv +11 -0
  107. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/projection_test_points_z54.lic +17 -0
  108. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/redfearn.lic +17 -0
  109. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/data/redfearn.xls +0 -0
  110. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_geo_reference.py +716 -0
  111. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_lat_long_UTM_conversion.py +126 -0
  112. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_point.py +125 -0
  113. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/coordinate_transforms/tests/test_redfearn.py +508 -0
  114. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/__init__.py +9 -0
  115. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/__init__.pyc +0 -0
  116. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_class.py +1627 -0
  117. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_class.pyc +0 -0
  118. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_polygons.py +114 -0
  119. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_polygons.pyc +0 -0
  120. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_routines.py +362 -0
  121. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/culvert_routines.pyc +0 -0
  122. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/new_culvert_class.py +1630 -0
  123. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/new_culvert_class.pyc +0 -0
  124. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/setup.py +21 -0
  125. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/setup.pyc +0 -0
  126. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/__init__.py +8 -0
  127. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/culvert_polygons_example.py +38 -0
  128. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve.csv +20 -0
  129. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve.lic +17 -0
  130. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve2.csv +20 -0
  131. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/example_rating_curve2.lic +17 -0
  132. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/unittests.lic +17 -0
  133. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/data/unittests.xls +0 -0
  134. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/run_culvert_flat_water_lev.py +173 -0
  135. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_class.py +812 -0
  136. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_polygons.py +84 -0
  137. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines.py +586 -0
  138. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_box_10pct.py +342 -0
  139. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_box_1pct.py +342 -0
  140. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_pipe_10pct.py +338 -0
  141. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_culvert_routines_pipe_1pct.py +338 -0
  142. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/culvert_flows/tests/test_new_culvert_class.py +810 -0
  143. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/__init__.py +9 -0
  144. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/__init__.pyc +0 -0
  145. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/exposure.py +223 -0
  146. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/exposure.pyc +0 -0
  147. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/inundation_damage.py +467 -0
  148. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/inundation_damage.pyc +0 -0
  149. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/setup.py +21 -0
  150. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/setup.pyc +0 -0
  151. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/tests/__init__.py +8 -0
  152. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/tests/test_exposure.py +325 -0
  153. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/damage_modelling/tests/test_inundation_damage.py +610 -0
  154. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/error_api.py +130 -0
  155. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/error_api.pyc +0 -0
  156. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/extras.py +193 -0
  157. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/extras.pyc +0 -0
  158. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/__init__.py +54 -0
  159. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/__init__.pyc +0 -0
  160. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/csv_file.py +399 -0
  161. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/csv_file.pyc +0 -0
  162. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/mux.py +120 -0
  163. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/mux.pyc +0 -0
  164. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/netcdf.py +266 -0
  165. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/netcdf.pyc +0 -0
  166. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/pts.py +29 -0
  167. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/pts.pyc +0 -0
  168. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/setup.py +27 -0
  169. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/setup.pyc +0 -0
  170. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sts.py +293 -0
  171. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sts.pyc +0 -0
  172. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sww.py +1552 -0
  173. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/sww.pyc +0 -0
  174. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/__init__.py +8 -0
  175. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_csv.py +413 -0
  176. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_mux.py +1539 -0
  177. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_read_sww.py +350 -0
  178. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_sww.py +560 -0
  179. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_ungenerate.py +283 -0
  180. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/tests/test_urs.py +217 -0
  181. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/ungenerate.py +92 -0
  182. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/ungenerate.pyc +0 -0
  183. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/urs.py +323 -0
  184. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/urs.pyc +0 -0
  185. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file/urs_ext.pyd +0 -0
  186. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/__init__.py +20 -0
  187. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/__init__.pyc +0 -0
  188. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/asc2dem.py +213 -0
  189. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/asc2dem.pyc +0 -0
  190. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/calc_grid_values_ext.pyd +0 -0
  191. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/csv2sts.py +165 -0
  192. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/csv2sts.pyc +0 -0
  193. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2array.py +90 -0
  194. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2array.pyc +0 -0
  195. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2dem.py +145 -0
  196. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2dem.pyc +0 -0
  197. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2pts.py +357 -0
  198. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/dem2pts.pyc +0 -0
  199. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/esri2sww.py +327 -0
  200. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/esri2sww.pyc +0 -0
  201. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/ferret2sww.py +436 -0
  202. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/ferret2sww.pyc +0 -0
  203. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/file_conversion.py +367 -0
  204. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/file_conversion.pyc +0 -0
  205. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/grd2array.py +122 -0
  206. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/grd2array.pyc +0 -0
  207. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sdf2pts.py +181 -0
  208. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sdf2pts.pyc +0 -0
  209. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/setup.py +29 -0
  210. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/setup.pyc +0 -0
  211. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sts2sww_mesh.py +141 -0
  212. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sts2sww_mesh.pyc +0 -0
  213. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2array.py +321 -0
  214. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2array.pyc +0 -0
  215. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem.py +550 -0
  216. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem.pyc +0 -0
  217. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem_new.py +547 -0
  218. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2dem_new.pyc +0 -0
  219. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2pts.py +175 -0
  220. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/sww2pts.pyc +0 -0
  221. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/__init__.py +8 -0
  222. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_2pts.py +249 -0
  223. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_csv2sts.py +118 -0
  224. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_dem2array.py +121 -0
  225. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_dem2dem.py +220 -0
  226. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_dem2pts.py +411 -0
  227. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_file_conversion.py +953 -0
  228. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_grd2array.py +270 -0
  229. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_sww2dem.py +1882 -0
  230. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_urs2sts.py +2127 -0
  231. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/tests/test_urs2sww.py +628 -0
  232. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2nc.py +202 -0
  233. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2nc.pyc +0 -0
  234. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sts.py +316 -0
  235. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sts.pyc +0 -0
  236. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sww.py +306 -0
  237. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2sww.pyc +0 -0
  238. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2txt.py +71 -0
  239. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/urs2txt.pyc +0 -0
  240. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/xya2pts.py +39 -0
  241. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/file_conversion/xya2pts.pyc +0 -0
  242. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/__init__.py +12 -0
  243. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/__init__.pyc +0 -0
  244. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/benchmark_least_squares.py +367 -0
  245. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/benchmark_least_squares.pyc +0 -0
  246. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/fit.py +611 -0
  247. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/fit.pyc +0 -0
  248. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/fitsmooth.pyd +0 -0
  249. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/general_fit_interpolate.py +127 -0
  250. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/general_fit_interpolate.pyc +0 -0
  251. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate.py +1144 -0
  252. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate.pyc +0 -0
  253. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate2d.py +305 -0
  254. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/interpolate2d.pyc +0 -0
  255. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/profile_long_benchmark.py +79 -0
  256. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/profile_long_benchmark.pyc +0 -0
  257. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/run_long_benchmark.py +131 -0
  258. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/run_long_benchmark.pyc +0 -0
  259. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/setup.py +37 -0
  260. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/setup.pyc +0 -0
  261. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_fit.py +1150 -0
  262. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_interpolate.py +1952 -0
  263. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_interpolate2d.py +469 -0
  264. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/tests/test_search_functions.py +236 -0
  265. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/ticket178_benchmark.py +66 -0
  266. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/fit_interpolate/ticket178_benchmark.pyc +0 -0
  267. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/__init__.py +11 -0
  268. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/__init__.pyc +0 -0
  269. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/aabb.py +133 -0
  270. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/aabb.pyc +0 -0
  271. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon.py +1138 -0
  272. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon.pyc +0 -0
  273. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon_ext.pyd +0 -0
  274. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon_function.py +133 -0
  275. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/polygon_function.pyc +0 -0
  276. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/quad.py +190 -0
  277. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/quad.pyc +0 -0
  278. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/setup.py +27 -0
  279. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/setup.pyc +0 -0
  280. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/tests/__init__.py +8 -0
  281. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/tests/test_geometry.py +110 -0
  282. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geometry/tests/test_polygon.py +1994 -0
  283. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/__init__.py +9 -0
  284. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/__init__.pyc +0 -0
  285. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/geospatial_data.py +1698 -0
  286. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/geospatial_data.pyc +0 -0
  287. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/setup.py +21 -0
  288. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/setup.pyc +0 -0
  289. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/geospatial_data/tests/test_geospatial_data.py +1853 -0
  290. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/__init__.py +11 -0
  291. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/__init__.pyc +0 -0
  292. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/add_csv_header.py +136 -0
  293. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/add_csv_header.pyc +0 -0
  294. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/file_length.py +14 -0
  295. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/file_length.pyc +0 -0
  296. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/maxasc.py +96 -0
  297. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/maxasc.pyc +0 -0
  298. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/order_boundary.py +109 -0
  299. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/order_boundary.pyc +0 -0
  300. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/setup.py +22 -0
  301. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/setup.pyc +0 -0
  302. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/__init__.py +8 -0
  303. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/perthAll_stage_250m.lic +17 -0
  304. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/perthAll_stage_250m_all.lic +17 -0
  305. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/perthAll_stage_original.lic +17 -0
  306. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1.asc +17 -0
  307. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1.lic +17 -0
  308. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_bad_num_lines.asc +16 -0
  309. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_bad_num_lines.lic +17 -0
  310. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_header_differs.asc +17 -0
  311. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_header_differs.lic +17 -0
  312. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_wrong_num_columns.asc +17 -0
  313. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test1_wrong_num_columns.lic +17 -0
  314. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.asc +17 -0
  315. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.expected.asc +17 -0
  316. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.expected.lic +17 -0
  317. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test2.lic +17 -0
  318. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.asc +17 -0
  319. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.expected.asc +17 -0
  320. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.expected.lic +17 -0
  321. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test3.lic +17 -0
  322. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test_maxasc.py +150 -0
  323. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/lib/tests/test_order_boundary.py +397 -0
  324. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/__init__.py +4 -0
  325. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/__init__.pyc +0 -0
  326. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/loadASCII.py +1073 -0
  327. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/loadASCII.pyc +0 -0
  328. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/setup.py +21 -0
  329. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/setup.pyc +0 -0
  330. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/load_mesh/tests/test_loadASCII.py +544 -0
  331. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/__init__.py +4 -0
  332. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/__init__.pyc +0 -0
  333. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/compile.py +9 -0
  334. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/compile.pyc +0 -0
  335. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/mesh_engine.py +221 -0
  336. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/mesh_engine.pyc +0 -0
  337. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/mesh_engine_c_layer.pyd +0 -0
  338. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/setup.py +29 -0
  339. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/setup.pyc +0 -0
  340. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/mesh_engine/tests/test_generate_mesh.py +470 -0
  341. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/__init__.py +11 -0
  342. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/__init__.pyc +0 -0
  343. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/base_operator.py +125 -0
  344. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/base_operator.pyc +0 -0
  345. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/boundary_flux_integral_operator.py +79 -0
  346. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/boundary_flux_integral_operator.pyc +0 -0
  347. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/change_friction_operator.py +240 -0
  348. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/change_friction_operator.pyc +0 -0
  349. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_quantities_operator.py +142 -0
  350. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_quantities_operator.pyc +0 -0
  351. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_stage_operator.py +85 -0
  352. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/collect_max_stage_operator.pyc +0 -0
  353. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/compile_all.py +16 -0
  354. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/compile_all.pyc +0 -0
  355. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/elliptic_operator.py +495 -0
  356. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/elliptic_operator.pyc +0 -0
  357. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/erosion_operators.py +859 -0
  358. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/erosion_operators.pyc +0 -0
  359. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/kinematic_viscosity_operator.py +563 -0
  360. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/kinematic_viscosity_operator.pyc +0 -0
  361. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/kinematic_viscosity_operator_ext.pyd +0 -0
  362. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/mannings_operator.py +87 -0
  363. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/mannings_operator.pyc +0 -0
  364. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/mannings_operator_ext.pyd +0 -0
  365. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/rate_operators.py +431 -0
  366. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/rate_operators.pyc +0 -0
  367. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation.py +290 -0
  368. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation.pyc +0 -0
  369. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation_operator.py +148 -0
  370. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_elevation_operator.pyc +0 -0
  371. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_friction_operators.py +159 -0
  372. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_friction_operators.pyc +0 -0
  373. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity.py +172 -0
  374. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity.pyc +0 -0
  375. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity_operator.py +158 -0
  376. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_quantity_operator.pyc +0 -0
  377. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage.py +131 -0
  378. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage.pyc +0 -0
  379. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage_operator.py +135 -0
  380. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_stage_operator.pyc +0 -0
  381. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_w_uh_vh_operator.py +170 -0
  382. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/set_w_uh_vh_operator.pyc +0 -0
  383. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/setup.py +33 -0
  384. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/setup.pyc +0 -0
  385. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_base_operator.py +51 -0
  386. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_boundary_flux_integral_operator.py +98 -0
  387. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_erosion_operators.py +344 -0
  388. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_kinematic_viscosity_operator.py +1366 -0
  389. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_rate_operators.py +888 -0
  390. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_elevation_operator.py +1034 -0
  391. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_quantity.py +511 -0
  392. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_stage_operator.py +491 -0
  393. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/operators/tests/test_set_w_uh_vh_operators.py +211 -0
  394. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/__init__.py +31 -0
  395. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/__init__.pyc +0 -0
  396. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/config.py +14 -0
  397. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/config.pyc +0 -0
  398. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/distribute_mesh.py +1682 -0
  399. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/distribute_mesh.pyc +0 -0
  400. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_advection.py +205 -0
  401. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_advection.pyc +0 -0
  402. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_api.py +467 -0
  403. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_api.pyc +0 -0
  404. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_box_operator.py +332 -0
  405. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_box_operator.pyc +0 -0
  406. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_pipe_operator.py +283 -0
  407. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_boyd_pipe_operator.pyc +0 -0
  408. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_generic_communications.py +207 -0
  409. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_generic_communications.pyc +0 -0
  410. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet.py +605 -0
  411. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet.pyc +0 -0
  412. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_enquiry.py +228 -0
  413. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_enquiry.pyc +0 -0
  414. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_operator.py +281 -0
  415. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_inlet_operator.pyc +0 -0
  416. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_internal_boundary_operator.py +230 -0
  417. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_internal_boundary_operator.pyc +0 -0
  418. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_meshes.py +445 -0
  419. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_meshes.pyc +0 -0
  420. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_operator_factory.py +959 -0
  421. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_operator_factory.pyc +0 -0
  422. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_shallow_water.py +282 -0
  423. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_shallow_water.pyc +0 -0
  424. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_structure_operator.py +1241 -0
  425. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_structure_operator.pyc +0 -0
  426. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_weir_orifice_trapezoid_operator.py +281 -0
  427. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/parallel_weir_orifice_trapezoid_operator.pyc +0 -0
  428. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/print_stats.py +205 -0
  429. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/print_stats.pyc +0 -0
  430. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/pypar_ext.py +528 -0
  431. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/pypar_ext.pyc +0 -0
  432. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/sequential_distribute.py +309 -0
  433. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/sequential_distribute.pyc +0 -0
  434. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/setup.py +100 -0
  435. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/parallel/setup.pyc +0 -0
  436. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/AppShell.py +345 -0
  437. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/AppShell.pyc +0 -0
  438. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/Pmw.py +9253 -0
  439. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/Pmw.pyc +0 -0
  440. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwBlt.py +671 -0
  441. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwBlt.pyc +0 -0
  442. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwColor.py +389 -0
  443. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/PmwColor.pyc +0 -0
  444. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ProgressBar.py +80 -0
  445. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ProgressBar.pyc +0 -0
  446. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/__init__.py +4 -0
  447. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/__init__.pyc +0 -0
  448. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/compile.py +24 -0
  449. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/compile.pyc +0 -0
  450. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/cursornames.py +8 -0
  451. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/cursornames.pyc +0 -0
  452. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/exesetup.py +24 -0
  453. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/exesetup.pyc +0 -0
  454. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/graphical_mesh_generator.py +1519 -0
  455. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/graphical_mesh_generator.pyc +0 -0
  456. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/addVertex.gif +0 -0
  457. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/addVertex.lic +16 -0
  458. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/autoSegGiveAlpha.gif +0 -0
  459. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/autoSegGiveAlpha.lic +16 -0
  460. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/default.gif +0 -0
  461. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/default.lic +16 -0
  462. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/edit.gif +0 -0
  463. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/edit.lic +16 -0
  464. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/hole.gif +0 -0
  465. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/hole.lic +16 -0
  466. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/joinVer.gif +0 -0
  467. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/joinVer.lic +16 -0
  468. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/meshGen.gif +0 -0
  469. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/meshGen.lic +16 -0
  470. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/no_see.gif +0 -0
  471. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/no_see.lic +16 -0
  472. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/pointer.gif +0 -0
  473. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/pointer.lic +16 -0
  474. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/region.gif +0 -0
  475. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/region.lic +16 -0
  476. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/see.gif +0 -0
  477. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/see.lic +16 -0
  478. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/segment.gif +0 -0
  479. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/segment.lic +16 -0
  480. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/sep.gif +0 -0
  481. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/sep.lic +16 -0
  482. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/vertex.gif +0 -0
  483. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/vertex.lic +16 -0
  484. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom0.5.gif +0 -0
  485. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom0.5.lic +16 -0
  486. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom2.gif +0 -0
  487. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoom2.lic +16 -0
  488. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoomToMesh.gif +0 -0
  489. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/icons/zoomToMesh.lic +16 -0
  490. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh.py +2416 -0
  491. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh.pyc +0 -0
  492. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_interface.py +373 -0
  493. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_interface.pyc +0 -0
  494. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_quadtree.py +130 -0
  495. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/mesh_quadtree.pyc +0 -0
  496. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/run_setup.py +43 -0
  497. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/run_setup.pyc +0 -0
  498. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/setup.py +22 -0
  499. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/setup.pyc +0 -0
  500. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/tests/test_mesh.py +2129 -0
  501. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/tests/test_mesh_interface.py +988 -0
  502. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/tests/test_meshquad.py +189 -0
  503. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/timing.py +150 -0
  504. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/timing.pyc +0 -0
  505. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/toolbarbutton.py +80 -0
  506. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/toolbarbutton.pyc +0 -0
  507. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ungen_example.py +69 -0
  508. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/ungen_example.pyc +0 -0
  509. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/view_tsh.py +47 -0
  510. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/view_tsh.pyc +0 -0
  511. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/visualmesh.py +302 -0
  512. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pmesh/visualmesh.pyc +0 -0
  513. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/__init__.py +6 -0
  514. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/__init__.pyc +0 -0
  515. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/metis_ext.pyd +0 -0
  516. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/setup.py +54 -0
  517. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/setup.pyc +0 -0
  518. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/tests/__init__.py +8 -0
  519. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/pymetis/tests/test_metis.py +141 -0
  520. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/setup.py +49 -0
  521. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/setup.pyc +0 -0
  522. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/__init__.py +12 -0
  523. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/__init__.pyc +0 -0
  524. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/boundaries.py +1028 -0
  525. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/boundaries.pyc +0 -0
  526. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/checkpoint.py +118 -0
  527. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/checkpoint.pyc +0 -0
  528. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/forcing.py +1339 -0
  529. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/forcing.pyc +0 -0
  530. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/most2nc.py +101 -0
  531. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/most2nc.pyc +0 -0
  532. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/setup.py +37 -0
  533. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/setup.pyc +0 -0
  534. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/shallow_water_domain.py +3114 -0
  535. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/shallow_water_domain.pyc +0 -0
  536. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/shallow_water_ext.pyd +0 -0
  537. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swDE1_domain_ext.pyd +0 -0
  538. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swb2_domain.py +576 -0
  539. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swb2_domain.pyc +0 -0
  540. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/swb2_domain_ext.pyd +0 -0
  541. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/sww_interrogate.py +652 -0
  542. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/sww_interrogate.pyc +0 -0
  543. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/__init__.py +8 -0
  544. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/polygon_values_example.csv +46 -0
  545. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/polygon_values_example.lic +17 -0
  546. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_large.csv +7855 -0
  547. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_large.lic +17 -0
  548. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_small.csv +17 -0
  549. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/data/test_points_small.lic +17 -0
  550. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_DE1_domain.py +111 -0
  551. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_data_manager.py +879 -0
  552. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_forcing.py +2271 -0
  553. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_loadsave.py +212 -0
  554. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_local_extrapolation_and_flux_updating.py +114 -0
  555. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_most2nc.py +52 -0
  556. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_shallow_water_domain.py +8670 -0
  557. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_swb2_domain.py +106 -0
  558. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_sww_interrogate.py +888 -0
  559. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/test_system.py +193 -0
  560. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.grd-e-mux2 +0 -0
  561. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.grd-n-mux2 +0 -0
  562. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.grd-z-mux2 +0 -0
  563. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/1-z.lic +55 -0
  564. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.grd-e-mux2 +0 -0
  565. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.grd-n-mux2 +0 -0
  566. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.grd-z-mux2 +0 -0
  567. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/2-z.lic +55 -0
  568. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.grd-e-mux2 +0 -0
  569. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.grd-n-mux2 +0 -0
  570. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.grd-z-mux2 +0 -0
  571. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/3-z.lic +55 -0
  572. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_0.csv +252 -0
  573. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_0.lic +25 -0
  574. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_1.csv +252 -0
  575. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_1.lic +25 -0
  576. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_2.csv +252 -0
  577. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_2.lic +25 -0
  578. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_3.csv +252 -0
  579. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_3.lic +25 -0
  580. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_4.csv +252 -0
  581. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_1_4.lic +25 -0
  582. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_0.csv +252 -0
  583. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_0.lic +25 -0
  584. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_1.csv +252 -0
  585. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_1.lic +25 -0
  586. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_2.csv +252 -0
  587. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_2.lic +25 -0
  588. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_3.csv +252 -0
  589. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_3.lic +25 -0
  590. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_4.csv +252 -0
  591. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_2_4.lic +25 -0
  592. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_0.csv +252 -0
  593. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_0.lic +25 -0
  594. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_1.csv +252 -0
  595. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_1.lic +25 -0
  596. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_2.csv +252 -0
  597. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_2.lic +25 -0
  598. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_3.csv +252 -0
  599. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_3.lic +25 -0
  600. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_4.csv +252 -0
  601. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_3_4.lic +25 -0
  602. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_0.csv +252 -0
  603. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_0.lic +25 -0
  604. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_1.csv +252 -0
  605. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_1.lic +25 -0
  606. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_2.csv +252 -0
  607. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_2.lic +25 -0
  608. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_3.csv +252 -0
  609. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_3.lic +25 -0
  610. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_4.csv +252 -0
  611. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/e_combined_4.lic +25 -0
  612. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_0.csv +252 -0
  613. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_0.lic +25 -0
  614. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_1.csv +252 -0
  615. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_1.lic +25 -0
  616. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_2.csv +252 -0
  617. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_2.lic +25 -0
  618. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_3.csv +252 -0
  619. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_3.lic +25 -0
  620. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_4.csv +252 -0
  621. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_1_4.lic +25 -0
  622. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_0.csv +252 -0
  623. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_0.lic +25 -0
  624. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_1.csv +252 -0
  625. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_1.lic +25 -0
  626. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_2.csv +252 -0
  627. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_2.lic +25 -0
  628. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_3.csv +252 -0
  629. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_3.lic +25 -0
  630. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_4.csv +252 -0
  631. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_2_4.lic +25 -0
  632. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_0.csv +252 -0
  633. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_0.lic +25 -0
  634. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_1.csv +252 -0
  635. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_1.lic +25 -0
  636. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_2.csv +252 -0
  637. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_2.lic +25 -0
  638. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_3.csv +252 -0
  639. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_3.lic +25 -0
  640. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_4.csv +252 -0
  641. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_3_4.lic +25 -0
  642. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_0.csv +252 -0
  643. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_0.lic +25 -0
  644. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_1.csv +252 -0
  645. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_1.lic +25 -0
  646. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_2.csv +252 -0
  647. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_2.lic +25 -0
  648. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_3.csv +252 -0
  649. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_3.lic +25 -0
  650. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_4.csv +252 -0
  651. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/n_combined_4.lic +25 -0
  652. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/thinned_bound_order_test.lic +18 -0
  653. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/thinned_bound_order_test.txt +6 -0
  654. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_0.csv +252 -0
  655. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_0.lic +25 -0
  656. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_1.csv +252 -0
  657. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_1.lic +25 -0
  658. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_2.csv +252 -0
  659. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_2.lic +25 -0
  660. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_3.csv +252 -0
  661. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_3.lic +25 -0
  662. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_4.csv +252 -0
  663. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_1_4.lic +25 -0
  664. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_0.csv +252 -0
  665. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_0.lic +25 -0
  666. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_1.csv +252 -0
  667. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_1.lic +25 -0
  668. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_2.csv +252 -0
  669. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_2.lic +25 -0
  670. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_3.csv +252 -0
  671. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_3.lic +25 -0
  672. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_4.csv +252 -0
  673. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_2_4.lic +25 -0
  674. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_0.csv +252 -0
  675. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_0.lic +25 -0
  676. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_1.csv +252 -0
  677. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_1.lic +25 -0
  678. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_2.csv +252 -0
  679. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_2.lic +25 -0
  680. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_3.csv +252 -0
  681. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_3.lic +25 -0
  682. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_4.csv +252 -0
  683. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_3_4.lic +25 -0
  684. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_0.csv +252 -0
  685. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_0.lic +25 -0
  686. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_1.csv +252 -0
  687. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_1.lic +25 -0
  688. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_2.csv +252 -0
  689. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_2.lic +25 -0
  690. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_3.csv +252 -0
  691. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_3.lic +25 -0
  692. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_4.csv +252 -0
  693. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tests/urs_test_data/z_combined_4.lic +25 -0
  694. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tsh2sww.py +65 -0
  695. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/shallow_water/tsh2sww.pyc +0 -0
  696. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/__init__.py +5 -0
  697. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/__init__.pyc +0 -0
  698. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator.py +380 -0
  699. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator.pyc +0 -0
  700. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator_Amended3.py +245 -0
  701. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_box_operator_Amended3.pyc +0 -0
  702. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_pipe_operator.py +305 -0
  703. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/boyd_pipe_operator.pyc +0 -0
  704. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet.py +289 -0
  705. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet.pyc +0 -0
  706. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_enquiry.py +146 -0
  707. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_enquiry.pyc +0 -0
  708. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_operator.py +229 -0
  709. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/inlet_operator.pyc +0 -0
  710. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_functions.py +431 -0
  711. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_functions.pyc +0 -0
  712. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_operator.py +169 -0
  713. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/internal_boundary_operator.pyc +0 -0
  714. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/riverwall.py +738 -0
  715. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/riverwall.pyc +0 -0
  716. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/setup.py +24 -0
  717. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/setup.pyc +0 -0
  718. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/structure_operator.py +757 -0
  719. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/structure_operator.pyc +0 -0
  720. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/hecras_bridge_table.csv +105 -0
  721. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test1.lic +17 -0
  722. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test1.tms +0 -0
  723. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test2.lic +17 -0
  724. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/inlet_operator_test2.tms +0 -0
  725. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/data/test_hydrograph.tms +0 -0
  726. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_boyd_box_operator.py +2623 -0
  727. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_boyd_pipe_operator.py +482 -0
  728. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_inlet_operator.py +311 -0
  729. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_internal_boundary_functions.py +96 -0
  730. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_riverwall_structure.py +619 -0
  731. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/tests/test_weir_orifice_trapezoid_operator.py +650 -0
  732. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/weir_orifice_trapezoid_operator.py +387 -0
  733. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/structures/weir_orifice_trapezoid_operator.pyc +0 -0
  734. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/test_all.py +282 -0
  735. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/test_all.pyc +0 -0
  736. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/__init__.py +13 -0
  737. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/__init__.pyc +0 -0
  738. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf.py +147 -0
  739. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf.pyc +0 -0
  740. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf_v2.py +559 -0
  741. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/eqf_v2.pyc +0 -0
  742. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/okada_tsunami.py +347 -0
  743. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/okada_tsunami.pyc +0 -0
  744. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/setup.py +27 -0
  745. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/setup.pyc +0 -0
  746. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/smf.py +467 -0
  747. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/smf.pyc +0 -0
  748. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_MS.lic +23 -0
  749. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_MS.txt +36 -0
  750. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SP.lic +23 -0
  751. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SP.txt +36 -0
  752. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SS.lic +23 -0
  753. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/data/fullokada_SS.txt +36 -0
  754. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/okada_tsunami_octave_95.txt +101 -0
  755. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_eq.py +67 -0
  756. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_okada_tsunami.py +439 -0
  757. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_smf.py +143 -0
  758. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tests/test_tsunami_okada.py +303 -0
  759. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tsunami_okada.py +1885 -0
  760. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/tsunami_source/tsunami_okada.pyc +0 -0
  761. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/__init__.py +11 -0
  762. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/__init__.pyc +0 -0
  763. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/argparsing.py +76 -0
  764. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/argparsing.pyc +0 -0
  765. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/cg_ext.pyd +0 -0
  766. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/cg_solve.py +327 -0
  767. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/cg_solve.pyc +0 -0
  768. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/compile.py +497 -0
  769. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/compile.pyc +0 -0
  770. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/csv_tools.py +121 -0
  771. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/csv_tools.pyc +0 -0
  772. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit.py +404 -0
  773. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit.pyc +0 -0
  774. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit_wrapper.py +52 -0
  775. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/data_audit_wrapper.pyc +0 -0
  776. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/file_utils.py +308 -0
  777. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/file_utils.pyc +0 -0
  778. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/function_utils.py +117 -0
  779. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/function_utils.pyc +0 -0
  780. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/interp.py +318 -0
  781. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/interp.pyc +0 -0
  782. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log.py +414 -0
  783. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log.pyc +0 -0
  784. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log_analyser.py +77 -0
  785. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/log_analyser.pyc +0 -0
  786. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/mem_time_equation.py +106 -0
  787. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/mem_time_equation.pyc +0 -0
  788. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/model_tools.py +457 -0
  789. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/model_tools.pyc +0 -0
  790. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/norms.py +16 -0
  791. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/norms.pyc +0 -0
  792. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/numerical_tools.py +397 -0
  793. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/numerical_tools.pyc +0 -0
  794. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parallel_abstraction.py +67 -0
  795. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parallel_abstraction.pyc +0 -0
  796. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parse.py +26 -0
  797. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/parse.pyc +0 -0
  798. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/plot_utils.py +1237 -0
  799. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/plot_utils.pyc +0 -0
  800. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quad_tree_ext.pyd +0 -0
  801. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quantity_setting_functions.py +612 -0
  802. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quantity_setting_functions.pyc +0 -0
  803. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quickPlots.py +164 -0
  804. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/quickPlots.pyc +0 -0
  805. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/run_anuga_script.py +70 -0
  806. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/run_anuga_script.pyc +0 -0
  807. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/setup.py +39 -0
  808. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/setup.pyc +0 -0
  809. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse.py +398 -0
  810. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse.pyc +0 -0
  811. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse_ext.pyd +0 -0
  812. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sparse_matrix_ext.pyd +0 -0
  813. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/spatialInputUtil.py +1394 -0
  814. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/spatialInputUtil.pyc +0 -0
  815. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sww_merge.py +820 -0
  816. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/sww_merge.pyc +0 -0
  817. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/system_tools.py +646 -0
  818. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/system_tools.pyc +0 -0
  819. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/terminal_width.py +60 -0
  820. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/terminal_width.pyc +0 -0
  821. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/complex_polygon.csv +4 -0
  822. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/complex_polygon.lic +17 -0
  823. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/crc_test_file.lic +17 -0
  824. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/crc_test_file.png +0 -0
  825. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/mainland_only.csv +669 -0
  826. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/mainland_only.lic +33 -0
  827. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/non_complex_polygon.csv +5 -0
  828. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/data/non_complex_polygon.lic +17 -0
  829. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_cg_solve.py +569 -0
  830. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_csv_tools.py +435 -0
  831. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_data_audit.py +393 -0
  832. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_file_utils.py +157 -0
  833. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_function_utils.py +65 -0
  834. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_log_analyser.py +89 -0
  835. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_mem_time_equation.py +47 -0
  836. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_numerical_tools.py +616 -0
  837. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_plot_utils.py +455 -0
  838. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_quantity_setting_functions.py +369 -0
  839. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_sparse.py +215 -0
  840. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_spatialInputUtil.py +418 -0
  841. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_system_tools.py +483 -0
  842. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/tests/test_xml_tools.py +316 -0
  843. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/util_ext.pyd +0 -0
  844. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/where_close.py +219 -0
  845. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/where_close.pyc +0 -0
  846. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/xml_tools.py +326 -0
  847. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/utilities/xml_tools.pyc +0 -0
  848. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/__init__.py +15 -0
  849. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/__init__.pyc +0 -0
  850. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/fabricate.py +1429 -0
  851. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/fabricate.pyc +0 -0
  852. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/parameters.py +24 -0
  853. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/parameters.pyc +0 -0
  854. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/produce_report.py +38 -0
  855. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/produce_report.pyc +0 -0
  856. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/run_validation.py +51 -0
  857. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/run_validation.pyc +0 -0
  858. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/save_parameters_tex.py +17 -0
  859. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/save_parameters_tex.pyc +0 -0
  860. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/setup.py +22 -0
  861. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/setup.pyc +0 -0
  862. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/typeset_report.py +55 -0
  863. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/validation_utilities/typeset_report.pyc +0 -0
  864. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/version.py +11 -0
  865. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga/version.pyc +0 -0
  866. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/PKG-INFO +117 -0
  867. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/SOURCES.txt +1329 -0
  868. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/dependency_links.txt +1 -0
  869. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/not-zip-safe +1 -0
  870. Users/steve/Miniconda/envs/anuga/Lib/site-packages/anuga-1.3.5-py2.7.egg-info/top_level.txt +1 -0
@@ -0,0 +1,1366 @@
1
+ import operator
2
+ from anuga import Domain
3
+ from anuga import Quantity
4
+ from anuga import Dirichlet_boundary
5
+ from anuga.operators.kinematic_viscosity_operator import Kinematic_viscosity_operator
6
+
7
+ import numpy as num
8
+ from math import sqrt
9
+ import unittest
10
+ import os
11
+
12
+ class Test_kinematic_viscosity(unittest.TestCase):
13
+
14
+ def setUp(self):
15
+ pass
16
+
17
+ def tearDown(self):
18
+ try:
19
+ os.remove('domain.sww')
20
+ except:
21
+ pass
22
+
23
+ try:
24
+ os.remove('anuga.log')
25
+ except:
26
+ pass
27
+
28
+ #First test operator class (1 triangle)
29
+ def operator1(self):
30
+ points = num.array([[0.0,0.0],[1.0,0.0],[0.0,1.0]])
31
+ elements = num.array([[0,1,2]])
32
+ boundary_map = {}
33
+ boundary_map[(0,0)] = 'edge0'
34
+ boundary_map[(0,1)] = 'edge1'
35
+ boundary_map[(0,2)] = 'edge2'
36
+ domain = Domain(coordinates=points,vertices=elements,boundary=boundary_map)
37
+
38
+ D0 = Dirichlet_boundary([1,0,3])
39
+ D1 = Dirichlet_boundary([2,1,0])
40
+ D2 = Dirichlet_boundary([3,1,2])
41
+ domain.set_boundary({'edge0': D0, 'edge1': D1, 'edge2': D2})
42
+
43
+ domain.set_quantity('stage', lambda x,y : x+2*y )
44
+ domain.set_quantity('elevation', lambda x,y : 3*x+5*y )
45
+
46
+
47
+
48
+ #print domain.quantities['stage'].vertex_values
49
+
50
+ #print domain.quantities['stage'].edge_values
51
+
52
+ domain.update_boundary()
53
+
54
+
55
+ #print domain.quantities['stage'].boundary_values
56
+
57
+ return Kinematic_viscosity_operator(domain)
58
+
59
+ #Second test operator class (2 triangles)
60
+ def operator2(self):
61
+ points = num.array([[0.0,0.0],[1.0,0.0],[1.0,1.0],[0.0,1.0]])
62
+ elements = num.array([[0,1,3],[1,2,3]])
63
+ boundary_map = {}
64
+ boundary_map[(0,1)] = 'edge0'
65
+ boundary_map[(0,2)] = 'edge1'
66
+ boundary_map[(1,0)] = 'edge2'
67
+ boundary_map[(1,2)] = 'edge3'
68
+ domain = Domain(coordinates=points,vertices=elements,boundary=boundary_map)
69
+
70
+ D0 = Dirichlet_boundary([1,1,2])
71
+ D1 = Dirichlet_boundary([1,2,2])
72
+ D2 = Dirichlet_boundary([1,1,0])
73
+ D3 = Dirichlet_boundary([1,2,1])
74
+
75
+ domain.set_boundary({'edge0': D0, 'edge1': D1, 'edge2': D2, 'edge3': D3})
76
+ domain.update_boundary()
77
+
78
+
79
+
80
+ return Kinematic_viscosity_operator(domain)
81
+
82
+ def test_enumerate_boundary(self):
83
+ operator1 = self.operator1()
84
+ boundary_enumeration = operator1.domain.boundary_enumeration
85
+
86
+ assert boundary_enumeration[(0,0)] == 0
87
+ assert boundary_enumeration[(0,1)] == 1
88
+ assert boundary_enumeration[(0,2)] == 2
89
+
90
+ operator2 = self.operator2()
91
+ boundary_enumeration = operator2.domain.boundary_enumeration
92
+
93
+
94
+ assert boundary_enumeration[(0,1)] == 0
95
+ assert boundary_enumeration[(0,2)] == 1
96
+ assert boundary_enumeration[(1,0)] == 2
97
+ assert boundary_enumeration[(1,2)] == 3
98
+
99
+ def test_geo_structure(self):
100
+ operator1 = self.operator1()
101
+ indices = operator1.geo_structure_indices
102
+ values = operator1.geo_structure_values
103
+
104
+ assert num.allclose(indices, num.array([[1, 2, 3]]))
105
+ assert num.allclose(values, num.array([[-6.0, -6.0/sqrt(5), -6.0/sqrt(5)]]))
106
+
107
+ operator2 = self.operator2()
108
+ indices = operator2.geo_structure_indices
109
+ values = operator2.geo_structure_values
110
+ assert num.allclose(indices, num.array([[1,2,3],[4,0,5]]))
111
+ assert num.allclose(values, num.array([[-3.0,-6.0/sqrt(5),-6.0/sqrt(5)],[-6.0/sqrt(5),-3.0,-6.0/sqrt(5)]]))
112
+
113
+ def test_elliptic_matrix_one_triangle(self):
114
+
115
+ operator = self.operator1()
116
+ domain = operator.domain
117
+
118
+ a = Quantity(operator.domain)
119
+ a.set_values(1.0)
120
+ a.set_boundary_values(1.0)
121
+
122
+ operator.update_elliptic_matrix(a)
123
+
124
+ A = operator.elliptic_matrix
125
+
126
+ assert num.allclose(A.todense(), num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)]))
127
+
128
+ a.set_values(10.0)
129
+ a.set_boundary_values(10.0)
130
+
131
+ operator.update_elliptic_matrix(a)
132
+
133
+ assert num.allclose(A.todense(), 10*num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)]))
134
+
135
+
136
+ def test_elliptic_matrix_two_triangles(self):
137
+
138
+
139
+ operator = self.operator2()
140
+
141
+ domain = operator.domain
142
+
143
+ a = Quantity(operator.domain)
144
+ a.set_values(1.0)
145
+ a.set_boundary_values(1.0)
146
+ operator.update_elliptic_matrix(a)
147
+
148
+ A = operator.elliptic_matrix
149
+
150
+
151
+ A0 = num.array([[-3.0,3.0,0.0,0.0,0.0,0.0],
152
+ [0.0,-6.0/sqrt(5.0),0.0,0.0,6.0/sqrt(5.0),0.0]])
153
+ A1 = num.array([[-6.0/sqrt(5.0),0.0,6.0/sqrt(5.0),0.0,0.0,0.0],\
154
+ [3.0,-3.0,0.0,0.0,0.0,0.0]])
155
+ A2 = num.array([[-6.0/sqrt(5.0),0.0,0.0,6.0/sqrt(5.0),0.0,0.0],\
156
+ [0.0, -6.0/sqrt(5.0), 0.0, 0.0, 0.0, 6.0/sqrt(5.0)]])
157
+
158
+
159
+ assert num.allclose(A.todense(), A0+A1+A2)
160
+
161
+ a.set_values([2.0, 1.0], location = 'centroids')
162
+ a.set_boundary_values(1.0)
163
+ operator.update_elliptic_matrix(a)
164
+
165
+ A = operator.elliptic_matrix
166
+
167
+
168
+ assert num.allclose(A.todense()[0,:], 1.5*A0[0,:]+1.5*A1[0,:]+1.5*A2[0,:])
169
+ assert num.allclose(A.todense()[1,:], A0[1,:]+1.5*A1[1,:]+A2[1,:])
170
+
171
+ # Either negative values we set matrix row to zero
172
+ a.set_values([-2.0, -2.0], location = 'centroids')
173
+ a.set_boundary_values(1.0)
174
+ operator.update_elliptic_matrix(a)
175
+
176
+
177
+
178
+ assert num.allclose(A.todense()[0,:], 0.0)
179
+ assert num.allclose(A.todense()[1,:], 0.0)
180
+
181
+ def test_elliptic_multiply_include_boundary_one_triangle(self):
182
+ operator = self.operator1()
183
+ operator.set_triangle_areas(False)
184
+
185
+ print operator.apply_triangle_areas
186
+
187
+ a = Quantity(operator.domain)
188
+ a.set_values(1.0)
189
+ a.set_boundary_values(1.0)
190
+
191
+ operator.update_elliptic_matrix()
192
+
193
+
194
+
195
+ q_in = Quantity(operator.domain)
196
+ q_in.set_values(1.0)
197
+ q_in.set_boundary_values(1.0)
198
+
199
+ n = operator.n
200
+
201
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
202
+
203
+
204
+ q_1 = operator.elliptic_multiply(q_in)
205
+
206
+ q_2 = operator.elliptic_multiply(q_in, quantity_out = q_in)
207
+
208
+ assert id(q_in) == id(q_2)
209
+
210
+ assert num.allclose(q_1.centroid_values,q_2.centroid_values)
211
+
212
+ assert num.allclose( num.zeros((n,), num.float), q_1.centroid_values )
213
+
214
+ #Now have different boundary values
215
+
216
+ q_in.set_values(1.0)
217
+ q_in.set_boundary_values(0.0)
218
+ operator.update_elliptic_matrix(a)
219
+
220
+
221
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
222
+
223
+
224
+ q_1 = operator.elliptic_multiply(q_in)
225
+
226
+ assert num.allclose( [-6.0-12.0/sqrt(5)], q_1.centroid_values )
227
+
228
+ def test_elliptic_multiply_exclude_boundary_one_triangle(self):
229
+ operator = self.operator1()
230
+ operator.set_triangle_areas(False)
231
+
232
+ print operator.apply_triangle_areas
233
+ #n = operator.n
234
+
235
+ q_in = Quantity(operator.domain)
236
+ q_in.set_values(1.0)
237
+ q_in.set_boundary_values(1.0)
238
+ operator.update_elliptic_matrix()
239
+
240
+
241
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
242
+
243
+
244
+ q_1 = operator.elliptic_multiply(q_in, include_boundary=False)
245
+
246
+
247
+ assert num.allclose( [-6.0-12.0/sqrt(5)], q_1.centroid_values )
248
+
249
+ def test_elliptic_multiply_include_boundary_one_triangle(self):
250
+ operator = self.operator1()
251
+ operator.set_triangle_areas(True)
252
+
253
+ n = operator.n
254
+
255
+ q_in = Quantity(operator.domain)
256
+ q_in.set_values(1.0)
257
+ q_in.set_boundary_values(1.0)
258
+
259
+ operator.update_elliptic_matrix()
260
+
261
+
262
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
263
+
264
+
265
+ q_1 = operator.elliptic_multiply(q_in)
266
+
267
+ q_2 = operator.elliptic_multiply(q_in, output = q_in)
268
+
269
+ assert id(q_in) == id(q_2)
270
+
271
+ assert num.allclose(q_1.centroid_values,q_2.centroid_values)
272
+
273
+ assert num.allclose( [-12.0-24.0/sqrt(5)], q_1.centroid_values )
274
+
275
+ #Now have different boundary values
276
+
277
+ q_in.set_values(1.0)
278
+ q_in.set_boundary_values(0.0)
279
+ operator.update_elliptic_matrix()
280
+
281
+
282
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
283
+
284
+
285
+ q_1 = operator.elliptic_multiply(q_in)
286
+
287
+ assert num.allclose( [-12.0-24.0/sqrt(5)], q_1.centroid_values )
288
+
289
+ def test_elliptic_multiply_exclude_boundary_one_triangle(self):
290
+ operator = self.operator1()
291
+ operator.set_triangle_areas(True)
292
+
293
+ q_in = Quantity(operator.domain)
294
+ q_in.set_values(1.0)
295
+ q_in.set_boundary_values(1.0)
296
+ operator.update_elliptic_matrix()
297
+
298
+
299
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
300
+
301
+
302
+ q_1 = operator.elliptic_multiply(q_in)
303
+
304
+
305
+ assert num.allclose( [-12.0-24.0/sqrt(5)], q_1.centroid_values )
306
+
307
+ def test_mul_arg(self):
308
+ operator = self.operator1()
309
+
310
+ u = Quantity(operator.domain)
311
+ u.set_values(2.0)
312
+ #q boundary_values should equal 0.0
313
+
314
+
315
+
316
+ operator.update_elliptic_boundary_term(u)
317
+
318
+ r = 2.0
319
+
320
+ try:
321
+ q_out = operator * 2.0
322
+ except TypeError:
323
+ pass
324
+ else:
325
+ raise Exception('Should have caught an TypeError')
326
+
327
+
328
+ def test_mul(self):
329
+ operator = self.operator1()
330
+
331
+ u = Quantity(operator.domain)
332
+ u.set_values(2.0)
333
+ #q boundary_values should equal 0.0
334
+
335
+ operator.update_elliptic_matrix()
336
+
337
+ operator.update_elliptic_boundary_term(u)
338
+
339
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
340
+ V1 = num.array([2.0]) #u=2
341
+ U1 = num.array([[2.0],[0.0],[0.0],[0.0]])
342
+
343
+ q_out = operator * u
344
+
345
+ assert num.allclose(q_out.centroid_values, 2*num.array(num.mat(A)*num.mat(U1)).reshape(1,))
346
+
347
+ def test_elliptic_solve_one_triangle(self):
348
+
349
+ operator = self.operator1()
350
+ n = operator.n
351
+
352
+ U = num.array([2.0,2.0,1.0,1.0])
353
+
354
+ u_in = Quantity(operator.domain)
355
+ u_in.set_values(U[:1], location='centroids')
356
+ u_in.set_boundary_values(U[1:])
357
+
358
+ a = Quantity(operator.domain)
359
+ a.set_values(1.0)
360
+ a.set_boundary_values(1.0)
361
+
362
+ # Do this to get access to the matrix
363
+ # This is also called inside elliptic_solve
364
+ operator.update_elliptic_matrix(a)
365
+
366
+ V = num.array([2.0]) #h=1, u=2
367
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
368
+ #U = num.array([[2.0,2.0],[2.0,1.0],[1.0,2.0],[1.0,0.0]])
369
+
370
+ #Setup up rhs as b = A u
371
+ X = num.array(2*num.mat(A)*num.mat(U.reshape(4,1))).reshape(1,)
372
+ b = Quantity(operator.domain)
373
+ b.set_values(X, location='centroids')
374
+
375
+ u_in.set_values(0.0)
376
+
377
+ u_out = operator.elliptic_solve(u_in, b, a, iprint=1)
378
+
379
+ assert num.allclose(u_out.centroid_values, U[:n])
380
+
381
+
382
+ def test_elliptic_solve_two_triangle(self):
383
+
384
+ operator = self.operator2()
385
+ n = operator.n
386
+
387
+ U = num.array([2.0,3.0,1.0,1.0,4.0,3.0])
388
+
389
+ u_in = Quantity(operator.domain)
390
+ u_in.set_values(U[:2], location='centroids')
391
+ u_in.set_boundary_values(U[2:])
392
+
393
+ a = Quantity(operator.domain)
394
+ a.set_values(1.0)
395
+ a.set_boundary_values(1.0)
396
+
397
+ # Do this to get access to the matrix
398
+ # This is also called inside elliptic_solve
399
+ operator.update_elliptic_matrix(a)
400
+
401
+ V1 = U[:n]
402
+ V2 = U[n:]
403
+
404
+ A = num.mat(operator.elliptic_matrix.todense())
405
+ U = num.mat(U.reshape(6,1))
406
+
407
+ #Setup up rhs as b = A u
408
+ X = num.array(2*A*U).reshape(2,)
409
+
410
+ b = Quantity(operator.domain)
411
+ b.set_values(X, location='centroids')
412
+
413
+ u_in.set_values(0.0)
414
+
415
+ u_out = operator.elliptic_solve(u_in, b, a, iprint=1)
416
+
417
+ assert num.allclose(u_out.centroid_values, V1)
418
+ assert num.allclose(u_out.boundary_values, V2)
419
+
420
+ def test_elliptic_solve_rectangular_cross(self):
421
+
422
+ from anuga import rectangular_cross_domain
423
+
424
+ m1 = 10
425
+ n1 = 10
426
+ domain = rectangular_cross_domain(m1,n1)
427
+
428
+ # Diffusivity
429
+ a = Quantity(domain)
430
+ a.set_values(1.0)
431
+ a.set_boundary_values(1.0)
432
+
433
+ # Quantity to solve
434
+ u = Quantity(domain)
435
+ u.set_values(0.0)
436
+ u.set_boundary_values(1.0)
437
+
438
+ # Quantity for rhs
439
+ b = Quantity(domain)
440
+ b.set_values(0.0)
441
+ b.set_boundary_values(0.0)
442
+
443
+ operator = Kinematic_viscosity_operator(domain)
444
+
445
+ n = operator.n
446
+ tot_len = operator.tot_len
447
+
448
+ u_out = operator.elliptic_solve(u, b, a, iprint=1)
449
+
450
+ assert num.allclose(u_out.centroid_values, num.ones_like(u_out.centroid_values))
451
+ assert num.allclose(u_out.boundary_values, num.ones_like(u_out.boundary_values))
452
+
453
+
454
+
455
+ def test_parabolic_solve_one_triangle(self):
456
+ operator = self.operator1()
457
+ n = operator.n
458
+ dt = operator.dt
459
+
460
+ U = num.array([2.0,2.0,1.0,1.0])
461
+ U_mod = num.array([10.0, 2.0, 1.0, 1.0])
462
+
463
+ u_in = Quantity(operator.domain)
464
+ u_in.set_values(U[:n], location='centroids')
465
+ u_in.set_boundary_values(U_mod[n:])
466
+
467
+ a = Quantity(operator.domain)
468
+ a.set_values(1.0)
469
+ a.set_boundary_values(1.0)
470
+
471
+
472
+ V = num.array([2.0])
473
+ A = num.array([-6.0-12.0/sqrt(5), 6.0, 6.0/sqrt(5), 6.0/sqrt(5)])
474
+
475
+ #Setup up rhs
476
+ X = U_mod[:n] - dt*2*num.array(num.mat(A)*num.mat(U_mod.reshape(4,1))).reshape(n,)
477
+ b = Quantity(operator.domain)
478
+ b.set_values(X, location='centroids')
479
+
480
+
481
+ u_out = operator.parabolic_solve(u_in, b, a, iprint=1)
482
+
483
+
484
+ assert num.allclose(u_out.centroid_values, U_mod[:n])
485
+
486
+
487
+ def test_parabolic_solve_two_triangles(self):
488
+ operator = self.operator2()
489
+ n = operator.n
490
+ nt = operator.tot_len
491
+
492
+ dt = operator.dt
493
+
494
+ U = num.array([2.0,3.0,1.0,1.0,4.0,3.0])
495
+ U_mod = num.array([4.0,2.0,1.0,1.0,4.0,3.0])
496
+
497
+
498
+ u_in = Quantity(operator.domain)
499
+ u_in.set_values(U[:n], location='centroids')
500
+ u_in.set_boundary_values(U_mod[n:])
501
+
502
+ a = Quantity(operator.domain)
503
+ a.set_values(1.0)
504
+ a.set_boundary_values(1.0)
505
+
506
+ operator.update_elliptic_matrix(a)
507
+
508
+
509
+ A = num.array([[-8.36656315, 3., 2.68328157, 2.68328157, 0., 0. ],
510
+ [ 3., -8.36656315 , 0. , 0. , 2.68328157, 2.68328157]])
511
+
512
+ assert num.allclose(A,operator.elliptic_matrix.todense())
513
+
514
+
515
+
516
+ #Setup up rhs
517
+ X = U_mod[:n] - dt*2*num.array(num.mat(A)*num.mat(U_mod.reshape(nt,1))).reshape(n,)
518
+ b = Quantity(operator.domain)
519
+ b.set_values(X, location='centroids')
520
+
521
+
522
+ u_out = operator.parabolic_solve(u_in, b, a, iprint=1)
523
+
524
+
525
+ assert num.allclose(u_out.centroid_values, U_mod[:n])
526
+
527
+ def test_parabolic_solve_rectangular_cross(self):
528
+
529
+ from anuga import rectangular_cross_domain
530
+
531
+ m1 = 10
532
+ n1 = 10
533
+ domain = rectangular_cross_domain(m1,n1)
534
+
535
+ # Diffusivity
536
+ a = Quantity(domain)
537
+ a.set_values(1.0)
538
+ a.set_boundary_values(1.0)
539
+
540
+ # Quantity initial condition
541
+ u_in = Quantity(domain)
542
+ #u_in.set_values( 0.0 )
543
+ u_in.set_values(lambda x,y : 16.0*x*(1-x)*y*(1-y))
544
+ u_in.set_boundary_values(0.0)
545
+
546
+ # Quantity to solve
547
+ u_mod = Quantity(domain)
548
+ u_mod.set_values(lambda x,y : 15.9*x*(1-x)*y*(1-y) )
549
+ u_mod.set_boundary_values(0.0)
550
+
551
+ # Quantity for rhs
552
+ b = Quantity(domain)
553
+ b.set_values(0.0)
554
+ b.set_boundary_values(0.0)
555
+
556
+ operator = Kinematic_viscosity_operator(domain)
557
+
558
+ dt = 0.01
559
+ operator.dt = dt
560
+ n = operator.n
561
+ nt = operator.tot_len
562
+
563
+ operator.update_elliptic_matrix(a)
564
+
565
+ A = num.mat(operator.elliptic_matrix.todense())
566
+ D = num.mat(operator.triangle_areas.todense())
567
+ U_mod = num.concatenate( (u_mod.centroid_values, u_mod.boundary_values) )
568
+
569
+
570
+ #Setup up rhs
571
+ X = U_mod[:n] - dt*num.array(D*A*num.mat(U_mod.reshape(nt,1))).reshape(n,)
572
+ b = Quantity(operator.domain)
573
+ b.set_values(X, location='centroids')
574
+
575
+
576
+ u_out = operator.parabolic_solve(u_in, b, a, iprint=1, use_dt_tol=False)
577
+
578
+ assert num.allclose(u_out.centroid_values, U_mod[:n])
579
+
580
+
581
+ def test_elliptic_solve_rectangular_cross_velocities(self):
582
+
583
+ from anuga import rectangular_cross_domain
584
+ from anuga import Reflective_boundary
585
+
586
+ m1 = 10
587
+ n1 = 10
588
+ domain = rectangular_cross_domain(m1,n1)
589
+
590
+ #
591
+ domain.set_quantity('elevation', expression='x')
592
+ domain.set_quantity('friction', 0.03)
593
+ domain.set_quantity('stage',expression='elevation + 2*x')
594
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
595
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
596
+
597
+
598
+ B = Reflective_boundary(domain)
599
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
600
+
601
+ domain.update_boundary()
602
+ domain.update_centroids_of_velocities_and_height()
603
+
604
+
605
+ a = domain.quantities['height']
606
+
607
+ # Quantity to solve
608
+ u = domain.quantities['xvelocity']
609
+ u.set_boundary_values(1.0)
610
+
611
+
612
+ v = domain.quantities['yvelocity']
613
+ v.set_boundary_values(2.0)
614
+
615
+ # Quantity for rhs
616
+ b = Quantity(domain)
617
+ b.set_values(0.0)
618
+ b.set_boundary_values(0.0)
619
+
620
+ kv = Kinematic_viscosity_operator(domain)
621
+
622
+ n = kv.n
623
+ tot_len = kv.tot_len
624
+
625
+ kv.update_elliptic_matrix(a)
626
+
627
+ u_out = kv.elliptic_solve(u, b, a, update_matrix=False, iprint=1)
628
+
629
+ v_out = kv.elliptic_solve(v, b, a, update_matrix=False, iprint=1)
630
+
631
+ assert num.allclose(u_out.centroid_values, num.ones_like(u_out.centroid_values))
632
+ assert num.allclose(u_out.boundary_values, num.ones_like(u_out.boundary_values))
633
+
634
+ def test_parabolic_solve_rectangular_cross_velocities(self):
635
+
636
+ from anuga import rectangular_cross_domain
637
+ from anuga import Reflective_boundary
638
+
639
+ m1 = 10
640
+ n1 = 10
641
+ domain = rectangular_cross_domain(m1,n1)
642
+
643
+ #
644
+ domain.set_quantity('elevation', expression='x')
645
+ domain.set_quantity('friction', 0.03)
646
+ domain.set_quantity('stage',expression='elevation + 2*x')
647
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
648
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
649
+
650
+
651
+ B = Reflective_boundary(domain)
652
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
653
+
654
+ domain.update_boundary()
655
+ domain.update_centroids_of_velocities_and_height()
656
+
657
+
658
+
659
+
660
+ h = domain.quantities['height']
661
+
662
+ # Quantity to solve
663
+ u = domain.quantities['xvelocity']
664
+ u.set_boundary_values(1.0)
665
+
666
+
667
+ v = domain.quantities['yvelocity']
668
+ v.set_boundary_values(2.0)
669
+
670
+ kv = Kinematic_viscosity_operator(domain)
671
+
672
+
673
+ # let's make timestep large so that the final solution will look like
674
+ #the solution of hte elliptic problem. In this case u -> 1, v -> 2.
675
+
676
+ dt = 100.0
677
+ kv.dt = dt
678
+ n = kv.n
679
+ nt = kv.tot_len
680
+
681
+ kv.update_elliptic_matrix(h)
682
+
683
+ kv.parabolic_solve(u, u, h, u_out=u, update_matrix=False, iprint=1, use_dt_tol=False)
684
+
685
+ kv.parabolic_solve(v, v, h, u_out=v, update_matrix=False, iprint=1, use_dt_tol=False)
686
+
687
+
688
+ #print u.centroid_values
689
+ #print u.boundary_values
690
+ assert num.allclose(u.centroid_values, num.ones_like(u.centroid_values), rtol=1.0e-1)
691
+ assert num.allclose(u.boundary_values, num.ones_like(u.boundary_values))
692
+
693
+ assert num.allclose(v.centroid_values, 2.0*num.ones_like(v.centroid_values), rtol=1.0e-1)
694
+ assert num.allclose(v.boundary_values, 2.0*num.ones_like(v.boundary_values))
695
+
696
+
697
+ domain.update_centroids_of_momentum_from_velocity()
698
+
699
+ uh = domain.quantities['xmomentum']
700
+ vh = domain.quantities['ymomentum']
701
+
702
+ assert num.allclose(uh.centroid_values, u.centroid_values*h.centroid_values )
703
+ assert num.allclose(vh.centroid_values, v.centroid_values*h.centroid_values )
704
+
705
+
706
+ def test_parabolic_solve_rectangular_cross_velocities_zero_h(self):
707
+
708
+ from anuga import rectangular_cross_domain
709
+ from anuga import Reflective_boundary
710
+
711
+ m1 = 5
712
+ n1 = 5
713
+ domain = rectangular_cross_domain(m1,n1)
714
+
715
+ #
716
+ domain.set_quantity('elevation', expression='x')
717
+ domain.set_quantity('friction', 0.03)
718
+ domain.set_quantity('stage',expression='elevation + 2*(x-0.5)')
719
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
720
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
721
+
722
+
723
+ w = domain.quantities['stage']
724
+
725
+ #print w.centroid_values
726
+ #print w.boundary_values
727
+
728
+ domain.distribute_to_vertices_and_edges()
729
+
730
+ #print w.centroid_values
731
+ #print w.boundary_values
732
+
733
+ B = Reflective_boundary(domain)
734
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
735
+
736
+ domain.update_boundary()
737
+
738
+ #print w.centroid_values
739
+ #print w.boundary_values
740
+
741
+ domain.update_centroids_of_velocities_and_height()
742
+
743
+
744
+
745
+
746
+ h = domain.quantities['height']
747
+
748
+ #print 'h'
749
+ #print h.centroid_values
750
+ #print h.boundary_values
751
+
752
+ # Quantity to solve
753
+ u = domain.quantities['xvelocity']
754
+ u.set_boundary_values(1.0)
755
+
756
+
757
+ #print 'u'
758
+ #print u.centroid_values
759
+ #print u.boundary_values
760
+
761
+ v = domain.quantities['yvelocity']
762
+ v.set_boundary_values(2.0)
763
+
764
+ kv = Kinematic_viscosity_operator(domain)
765
+
766
+
767
+ # let's make timestep large so that the final solution will look like
768
+ #the solution of hte elliptic problem. In this case u -> 1, v -> 2.
769
+
770
+ dt = 1000.0
771
+ kv.dt = dt
772
+ n = kv.n
773
+ nt = kv.tot_len
774
+
775
+ kv.update_elliptic_matrix(h)
776
+
777
+ kv.parabolic_solve(u, u, h, u_out=u, update_matrix=False, iprint=1, use_dt_tol=False)
778
+
779
+ kv.parabolic_solve(v, v, h, u_out=v, update_matrix=False, iprint=1, use_dt_tol=False)
780
+
781
+ assert num.allclose(u.centroid_values, num.where(h.centroid_values > 0.0, 1.0, 0.0), rtol=1.0e-1)
782
+ assert num.allclose(u.boundary_values, num.ones_like(u.boundary_values))
783
+
784
+ assert num.allclose(v.centroid_values, num.where(h.centroid_values > 0.0, 2.0, 0.0), rtol=1.0e-1)
785
+ assert num.allclose(v.boundary_values, 2.0*num.ones_like(v.boundary_values))
786
+
787
+
788
+ domain.update_centroids_of_momentum_from_velocity()
789
+
790
+ domain.distribute_to_vertices_and_edges()
791
+
792
+ uh = domain.quantities['xmomentum']
793
+ vh = domain.quantities['ymomentum']
794
+
795
+ #print 'uh'
796
+ #print uh.centroid_values
797
+ #print uh.boundary_values
798
+
799
+ assert num.allclose(uh.centroid_values, u.centroid_values*h.centroid_values )
800
+ assert num.allclose(vh.centroid_values, v.centroid_values*h.centroid_values )
801
+
802
+ def test_kinematic_operator_default(self):
803
+
804
+ from anuga import rectangular_cross_domain
805
+ from anuga import Reflective_boundary
806
+
807
+ m1 = 10
808
+ n1 = 10
809
+ domain = rectangular_cross_domain(m1,n1)
810
+
811
+ #domain.set_flow_algorithm('2_0')
812
+
813
+ #
814
+ domain.set_quantity('elevation', expression='x')
815
+ domain.set_quantity('friction', 0.03)
816
+ domain.set_quantity('stage',expression='elevation + 2*(x-0.5)')
817
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
818
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
819
+
820
+ B = Reflective_boundary(domain)
821
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
822
+
823
+ # kill off the wave with viscosity
824
+ kv = Kinematic_viscosity_operator(domain)
825
+
826
+
827
+ # let's make timestep large so that the final solution will look like
828
+ #the solution of hte elliptic problem. In this case u -> 1, v -> 2.
829
+
830
+
831
+ for t in domain.evolve(yieldstep = 1.0, finaltime = 10.0):
832
+ #domain.write_time()
833
+ #domain.print_operator_timestepping_statistics()
834
+ pass
835
+
836
+ #
837
+ w = domain.quantities['stage']
838
+ uh = domain.quantities['xmomentum']
839
+ vh = domain.quantities['ymomentum']
840
+
841
+ #print 'uh'
842
+ #print uh.centroid_values
843
+ #print uh.boundary_values
844
+
845
+ #print 'w'
846
+ #print w.centroid_values
847
+
848
+ #from pprint import pprint
849
+ #pprint(w.centroid_values)
850
+
851
+
852
+ wc = num.array([
853
+ 0.70714365, 0.70714416, 0.70714295, 0.70714222, 0.70714486,
854
+ 0.70714507, 0.70714374, 0.70714601, 0.70714492, 0.70714425,
855
+ 0.70714595, 0.70714437, 0.70714797, 0.70714691, 0.70714697,
856
+ 0.70714845, 0.70714793, 0.70714793, 0.70715033, 0.70714852,
857
+ 0.70715244, 0.70715018, 0.70715176, 0.70715224, 0.70715211,
858
+ 0.70715265, 0.70715351, 0.7071531 , 0.70715433, 0.70715309,
859
+ 0.70715351, 0.70715472, 0.70715429, 0.70715433, 0.70715487,
860
+ 0.70715523, 0.7071545 , 0.70715446, 0.70715317, 0.70715564,
861
+ 0.70714142, 0.70714198, 0.70714079, 0.70714299, 0.70714482,
862
+ 0.70714378, 0.70714344, 0.70714377, 0.7071443 , 0.70714533,
863
+ 0.70714579, 0.70714574, 0.70714906, 0.70714717, 0.70714819,
864
+ 0.70714822, 0.70714976, 0.70714952, 0.70715093, 0.70715077,
865
+ 0.70715217, 0.70715094, 0.70715291, 0.70715188, 0.70715352,
866
+ 0.70715278, 0.707154 , 0.70715429, 0.70715376, 0.70715309,
867
+ 0.70715446, 0.70715422, 0.70715366, 0.70715453, 0.70715413,
868
+ 0.70715539, 0.70715385, 0.70715412, 0.70715154, 0.70715306,
869
+ 0.70714038, 0.70713905, 0.7071358 , 0.70713972, 0.70714303,
870
+ 0.7071419 , 0.70714066, 0.70714219, 0.7071459 , 0.70714505,
871
+ 0.70714639, 0.70714648, 0.70714833, 0.70714827, 0.70715147,
872
+ 0.70715013, 0.70715194, 0.70715133, 0.70715542, 0.70715345,
873
+ 0.70715296, 0.70715417, 0.70715676, 0.70715521, 0.70715526,
874
+ 0.7071548 , 0.70715717, 0.70715512, 0.70715381, 0.70715523,
875
+ 0.70715556, 0.70715486, 0.70715482, 0.70715338, 0.70715307,
876
+ 0.70715381, 0.70715132, 0.70715182, 0.70714789, 0.70715086,
877
+ 0.70713443, 0.70713559, 0.70713539, 0.70713615, 0.70714057,
878
+ 0.70713978, 0.70714091, 0.70714102, 0.70714618, 0.70714338,
879
+ 0.70714803, 0.70714858, 0.7071519 , 0.70715029, 0.70715343,
880
+ 0.70715461, 0.70715589, 0.70715519, 0.7071565 , 0.70715796,
881
+ 0.70715738, 0.70715845, 0.7071601 , 0.70715829, 0.70715711,
882
+ 0.70715903, 0.70716011, 0.70715714, 0.7071565 , 0.70715756,
883
+ 0.70715885, 0.7071556 , 0.70715386, 0.70715406, 0.70715653,
884
+ 0.70715532, 0.70714813, 0.7071515 , 0.70715242, 0.70715269,
885
+ 0.70713191, 0.70712961, 0.70712505, 0.70712841, 0.70714097,
886
+ 0.70713808, 0.70713862, 0.7071431 , 0.70714966, 0.7071463 ,
887
+ 0.70715775, 0.70715666, 0.70715566, 0.7071554 , 0.7071632 ,
888
+ 0.70716353, 0.70715928, 0.70716244, 0.70716736, 0.70716495,
889
+ 0.70716301, 0.70716635, 0.70717088, 0.70716792, 0.70716369,
890
+ 0.70717007, 0.7071741 , 0.70716769, 0.70716166, 0.70716991,
891
+ 0.70717294, 0.70716167, 0.70715775, 0.70716057, 0.70715687,
892
+ 0.70715535, 0.70715014, 0.70714766, 0.70714559, 0.70714992,
893
+ 0.7071149 , 0.70708741, 0.706984 , 0.70711096, 0.70714367,
894
+ 0.70714831, 0.70713519, 0.7071811 , 0.70716622, 0.70716603,
895
+ 0.70714155, 0.7071748 , 0.70716885, 0.70716897, 0.70713548,
896
+ 0.70716966, 0.70716924, 0.70716978, 0.70713561, 0.7071717 ,
897
+ 0.70717389, 0.7071726 , 0.70713926, 0.70717593, 0.70718002,
898
+ 0.70717761, 0.70714428, 0.70718053, 0.70718062, 0.70718719,
899
+ 0.70715731, 0.70718271, 0.70716238, 0.7071992 , 0.70715496,
900
+ 0.70716834, 0.70713531, 0.70713099, 0.70700665, 0.7071098 ,
901
+ 0.70634397, 0.70524618, 0.70297607, 0.70514658, 0.70658259,
902
+ 0.70506628, 0.70244401, 0.70497884, 0.70657086, 0.70498266,
903
+ 0.70239779, 0.70496243, 0.7065572 , 0.7049646 , 0.70239608,
904
+ 0.70496008, 0.70655538, 0.70496125, 0.70239685, 0.70496177,
905
+ 0.70655883, 0.70496295, 0.70239957, 0.70496624, 0.70656625,
906
+ 0.70496724, 0.70240482, 0.7049756 , 0.70658803, 0.70497608,
907
+ 0.70241139, 0.70500006, 0.70660425, 0.70499778, 0.70246225,
908
+ 0.70508764, 0.70636798, 0.70516922, 0.70299639, 0.70526838,
909
+ 0.71780931, 0.7506157 , 0.78399529, 0.75061024, 0.71769206,
910
+ 0.75059929, 0.78398287, 0.75059279, 0.71768281, 0.75059112,
911
+ 0.78397863, 0.75059025, 0.71768261, 0.75058996, 0.78397777,
912
+ 0.75058981, 0.71768268, 0.75058969, 0.78397749, 0.75058967,
913
+ 0.7176832 , 0.75058972, 0.78397772, 0.75058986, 0.71768421,
914
+ 0.7505901 , 0.78397859, 0.75059043, 0.71768534, 0.7505909 ,
915
+ 0.78398028, 0.750592 , 0.71769545, 0.75059388, 0.78398545,
916
+ 0.75060056, 0.71781337, 0.75061163, 0.78399848, 0.75061714,
917
+ 0.81739069, 0.85076296, 0.8841241 , 0.85076174, 0.81738381,
918
+ 0.85075988, 0.88412183, 0.85075808, 0.81738087, 0.85075718,
919
+ 0.88412031, 0.85075635, 0.81737996, 0.85075599, 0.88411952,
920
+ 0.85075563, 0.81737963, 0.85075548, 0.88411919, 0.8507555 ,
921
+ 0.81738003, 0.85075569, 0.88411972, 0.85075629, 0.81738134,
922
+ 0.85075692, 0.88412133, 0.85075812, 0.81738361, 0.85075914,
923
+ 0.88412387, 0.85076103, 0.81738807, 0.85076269, 0.88412739,
924
+ 0.85076547, 0.81739598, 0.85076786, 0.88413107, 0.85076949,
925
+ 0.91748914, 0.95083916, 0.98417801, 0.95083906, 0.91748809,
926
+ 0.95083882, 0.98417779, 0.95083863, 0.91748731, 0.95083843,
927
+ 0.98417752, 0.9508382 , 0.91748674, 0.950838 , 0.9841771 ,
928
+ 0.95083776, 0.91748646, 0.95083764, 0.98417686, 0.95083771,
929
+ 0.91748702, 0.95083794, 0.98417744, 0.95083859, 0.91748864,
930
+ 0.95083927, 0.98417906, 0.95084046, 0.91749107, 0.95084145,
931
+ 0.98418138, 0.95084291, 0.91749397, 0.95084401, 0.98418384,
932
+ 0.95084538, 0.91749653, 0.95084626, 0.98418563, 0.95084686])
933
+
934
+
935
+ #print w.centroid_values - wc
936
+
937
+ #print max(w.centroid_values - wc)
938
+
939
+ assert num.allclose(w.centroid_values, wc, rtol=2.0e-3)
940
+
941
+ def test_kinematic_operator_quantity(self):
942
+
943
+ from anuga import rectangular_cross_domain
944
+ from anuga import Reflective_boundary
945
+
946
+ m1 = 10
947
+ n1 = 10
948
+ domain = rectangular_cross_domain(m1,n1)
949
+
950
+ #domain.set_flow_algorithm('2_0')
951
+
952
+ #
953
+ domain.set_quantity('elevation', expression='x')
954
+ domain.set_quantity('friction', 0.03)
955
+ domain.set_quantity('stage',expression='elevation + 2*(x-0.5)')
956
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
957
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
958
+
959
+ B = Reflective_boundary(domain)
960
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
961
+
962
+
963
+ Q = Quantity(domain)
964
+ Q = 2.0
965
+ # kill off the wave with viscosity
966
+ kv = Kinematic_viscosity_operator(domain, diffusivity = Q)
967
+
968
+
969
+ # let's make timestep large so that the final solution will look like
970
+ #the solution of hte elliptic problem. In this case u -> 1, v -> 2.
971
+
972
+
973
+ for t in domain.evolve(yieldstep = 1.0, finaltime = 10.0):
974
+ #domain.write_time()
975
+ #domain.print_operator_timestepping_statistics()
976
+ pass
977
+
978
+ #
979
+ w = domain.quantities['stage']
980
+ uh = domain.quantities['xmomentum']
981
+ vh = domain.quantities['ymomentum']
982
+
983
+ #print 'uh'
984
+ #print uh.centroid_values
985
+ #print uh.boundary_values
986
+
987
+ #print 'w'
988
+ #print w.centroid_values
989
+
990
+ #from pprint import pprint
991
+ #pprint(w.centroid_values)
992
+
993
+
994
+ wc = num.array([
995
+ 0.71624029, 0.71622927, 0.71621675, 0.71623888, 0.71624236,
996
+ 0.71624536, 0.71625157, 0.71625028, 0.71625679, 0.71626609,
997
+ 0.71630233, 0.71627457, 0.71627721, 0.71628666, 0.71633484,
998
+ 0.71629002, 0.71628494, 0.716295 , 0.7163438 , 0.71629656,
999
+ 0.71628493, 0.71629656, 0.71634379, 0.71629497, 0.71627716,
1000
+ 0.71628999, 0.71633481, 0.7162866 , 0.71625666, 0.71627448,
1001
+ 0.71630224, 0.71626596, 0.71624212, 0.7162501 , 0.7162514 ,
1002
+ 0.71624512, 0.71624 , 0.7162386 , 0.71621644, 0.71622896,
1003
+ 0.71619869, 0.71615658, 0.71609423, 0.71619602, 0.71627164,
1004
+ 0.71623926, 0.71625039, 0.71633719, 0.71638922, 0.71642539,
1005
+ 0.71652642, 0.71649892, 0.71646671, 0.71653525, 0.71670614,
1006
+ 0.71661869, 0.71649067, 0.71663318, 0.71682302, 0.71665878,
1007
+ 0.71649066, 0.71665876, 0.71682295, 0.71663309, 0.71646665,
1008
+ 0.71661859, 0.71670596, 0.71653511, 0.71638911, 0.71649877,
1009
+ 0.71652622, 0.71642523, 0.71627151, 0.716337 , 0.71625001,
1010
+ 0.71623888, 0.7161983 , 0.71619554, 0.71609371, 0.71615611,
1011
+ 0.71587901, 0.71555375, 0.71521927, 0.71573946, 0.71615663,
1012
+ 0.71586493, 0.7156413 , 0.71615004, 0.71653474, 0.71632223,
1013
+ 0.71618825, 0.7165586 , 0.7168124 , 0.71668994, 0.71661036,
1014
+ 0.7168446 , 0.71694587, 0.71689337, 0.7167922 , 0.71693225,
1015
+ 0.71694582, 0.71693224, 0.71679212, 0.71689325, 0.71681216,
1016
+ 0.71684437, 0.71661004, 0.71668963, 0.71653449, 0.71655826,
1017
+ 0.71618788, 0.71632191, 0.71615622, 0.71614967, 0.71564092,
1018
+ 0.71586446, 0.7158785 , 0.71573897, 0.71521879, 0.71555323,
1019
+ 0.71415117, 0.71304803, 0.71200401, 0.71333356, 0.71459491,
1020
+ 0.71350761, 0.71272705, 0.7140006 , 0.71526042, 0.71418365,
1021
+ 0.71337479, 0.7146592 , 0.71582149, 0.71478585, 0.71378284,
1022
+ 0.7150456 , 0.71605221, 0.71509271, 0.71396254, 0.71516103,
1023
+ 0.71605211, 0.71516102, 0.71396249, 0.71509256, 0.71582115,
1024
+ 0.7150454 , 0.71378271, 0.71478555, 0.71526005, 0.71465889,
1025
+ 0.71337454, 0.71418329, 0.71459453, 0.71400022, 0.71272682,
1026
+ 0.71350725, 0.71415077, 0.71333321, 0.71200389, 0.71304774,
1027
+ 0.70944126, 0.70705883, 0.70442227, 0.70714215, 0.70999341,
1028
+ 0.70722667, 0.70436187, 0.70745337, 0.71044978, 0.70748596,
1029
+ 0.70427781, 0.70768146, 0.71082549, 0.70772906, 0.70426793,
1030
+ 0.70786303, 0.71099495, 0.70788365, 0.70424722, 0.70791928,
1031
+ 0.71099502, 0.70791937, 0.70424774, 0.70788396, 0.71082556,
1032
+ 0.70786332, 0.70426849, 0.70772935, 0.71044982, 0.70768178,
1033
+ 0.7042786 , 0.70748637, 0.70999356, 0.70745385, 0.70436311,
1034
+ 0.70722738, 0.70944169, 0.70714295, 0.70442389, 0.70705981,
1035
+ 0.69895933, 0.69463188, 0.68921358, 0.693824 , 0.698153 ,
1036
+ 0.69349963, 0.68725093, 0.69221842, 0.69728195, 0.69180649,
1037
+ 0.68463972, 0.69053046, 0.69673179, 0.69018397, 0.68236173,
1038
+ 0.68940762, 0.69650961, 0.68925397, 0.68125059, 0.68902719,
1039
+ 0.69651034, 0.68902736, 0.6812516 , 0.68925556, 0.69673305,
1040
+ 0.6894096 , 0.6823656 , 0.69018707, 0.69728407, 0.69053386,
1041
+ 0.68464522, 0.69181074, 0.69815588, 0.69222279, 0.68725717,
1042
+ 0.69350432, 0.69896255, 0.69382873, 0.68922015, 0.69463687,
1043
+ 0.68375896, 0.6882601 , 0.69595562, 0.68766298, 0.68105558,
1044
+ 0.68673658, 0.69502847, 0.68542815, 0.67770965, 0.68435344,
1045
+ 0.69409778, 0.68310537, 0.67491515, 0.68222458, 0.69337943,
1046
+ 0.68140117, 0.67356609, 0.68097711, 0.69301997, 0.68071631,
1047
+ 0.67356716, 0.68071666, 0.69302027, 0.68097852, 0.6749196 ,
1048
+ 0.68140363, 0.69338045, 0.68222808, 0.6777162 , 0.68310954,
1049
+ 0.69409929, 0.68435822, 0.68106317, 0.68543327, 0.69503026,
1050
+ 0.68674199, 0.68376697, 0.68766854, 0.69595754, 0.68826575,
1051
+ 0.71760631, 0.75094294, 0.78427898, 0.75094168, 0.71760193,
1052
+ 0.75093986, 0.78427453, 0.75093415, 0.71758272, 0.7509278 ,
1053
+ 0.78426295, 0.75091754, 0.7175572 , 0.75090919, 0.78424795,
1054
+ 0.75089856, 0.71753518, 0.75089163, 0.78423642, 0.75088684,
1055
+ 0.71753524, 0.75088686, 0.78423643, 0.75089171, 0.7175573 ,
1056
+ 0.75089864, 0.78424798, 0.75090931, 0.71758285, 0.75091768,
1057
+ 0.78426303, 0.75092799, 0.7176021 , 0.75093438, 0.78427472,
1058
+ 0.75094013, 0.71760652, 0.75094199, 0.78427929, 0.75094328,
1059
+ 0.81761649, 0.85095268, 0.88428788, 0.85095192, 0.81761311,
1060
+ 0.8509508 , 0.88428574, 0.85094833, 0.81760513, 0.8509458 ,
1061
+ 0.88428131, 0.85094197, 0.81759506, 0.85093883, 0.88427596,
1062
+ 0.85093514, 0.81758753, 0.85093282, 0.88427212, 0.85093123,
1063
+ 0.81758749, 0.8509312 , 0.88427198, 0.85093269, 0.81759494,
1064
+ 0.85093494, 0.8842756 , 0.85093857, 0.81760502, 0.8509417 ,
1065
+ 0.88428088, 0.85094557, 0.81761314, 0.85094816, 0.88428543,
1066
+ 0.85095073, 0.81761667, 0.85095193, 0.88428775, 0.85095275,
1067
+ 0.91762366, 0.95095836, 0.98429205, 0.95095804, 0.91762217,
1068
+ 0.95095754, 0.98429102, 0.95095658, 0.91761918, 0.95095558,
1069
+ 0.98428903, 0.95095416, 0.91761561, 0.95095297, 0.98428667,
1070
+ 0.95095164, 0.91761304, 0.95095078, 0.98428497, 0.95095015,
1071
+ 0.91761286, 0.95095007, 0.98428475, 0.95095045, 0.9176151 ,
1072
+ 0.95095115, 0.98428605, 0.95095231, 0.91761853, 0.95095342,
1073
+ 0.9842882 , 0.9509548 , 0.91762161, 0.95095583, 0.98429026,
1074
+ 0.95095688, 0.91762327, 0.95095746, 0.98429146, 0.95095784])
1075
+
1076
+
1077
+ #print max(w.centroid_values- wc)
1078
+ assert num.allclose(w.centroid_values, wc, rtol=0.05)
1079
+
1080
+ def test_kinematic_operator_number(self):
1081
+
1082
+ from anuga import rectangular_cross_domain
1083
+ from anuga import Reflective_boundary
1084
+
1085
+ m1 = 10
1086
+ n1 = 10
1087
+ domain = rectangular_cross_domain(m1,n1)
1088
+
1089
+ #domain.set_flow_algorithm('2_0')
1090
+
1091
+ #
1092
+ domain.set_quantity('elevation', expression='x')
1093
+ domain.set_quantity('friction', 0.03)
1094
+ domain.set_quantity('stage',expression='elevation + 2*(x-0.5)')
1095
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
1096
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
1097
+
1098
+ B = Reflective_boundary(domain)
1099
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
1100
+
1101
+ # kill off the wave with viscosity
1102
+ kv = Kinematic_viscosity_operator(domain, diffusivity=2.0)
1103
+
1104
+
1105
+ # let's make timestep large so that the final solution will look like
1106
+ #the solution of hte elliptic problem. In this case u -> 1, v -> 2.
1107
+
1108
+
1109
+ for t in domain.evolve(yieldstep = 1.0, finaltime = 10.0):
1110
+ #domain.write_time()
1111
+ #domain.print_operator_timestepping_statistics()
1112
+ pass
1113
+
1114
+ #
1115
+ w = domain.quantities['stage']
1116
+ uh = domain.quantities['xmomentum']
1117
+ vh = domain.quantities['ymomentum']
1118
+
1119
+ #print 'uh'
1120
+ #print uh.centroid_values
1121
+ #print uh.boundary_values
1122
+
1123
+ #print 'w'
1124
+ #print w.centroid_values
1125
+
1126
+ #from pprint import pprint
1127
+ #pprint(w.centroid_values)
1128
+
1129
+
1130
+ wc = num.array([
1131
+ 0.71624029, 0.71622927, 0.71621675, 0.71623888, 0.71624236,
1132
+ 0.71624536, 0.71625157, 0.71625028, 0.71625679, 0.71626609,
1133
+ 0.71630233, 0.71627457, 0.71627721, 0.71628666, 0.71633484,
1134
+ 0.71629002, 0.71628494, 0.716295 , 0.7163438 , 0.71629656,
1135
+ 0.71628493, 0.71629656, 0.71634379, 0.71629497, 0.71627716,
1136
+ 0.71628999, 0.71633481, 0.7162866 , 0.71625666, 0.71627448,
1137
+ 0.71630224, 0.71626596, 0.71624212, 0.7162501 , 0.7162514 ,
1138
+ 0.71624512, 0.71624 , 0.7162386 , 0.71621644, 0.71622896,
1139
+ 0.71619869, 0.71615658, 0.71609423, 0.71619602, 0.71627164,
1140
+ 0.71623926, 0.71625039, 0.71633719, 0.71638922, 0.71642539,
1141
+ 0.71652642, 0.71649892, 0.71646671, 0.71653525, 0.71670614,
1142
+ 0.71661869, 0.71649067, 0.71663318, 0.71682302, 0.71665878,
1143
+ 0.71649066, 0.71665876, 0.71682295, 0.71663309, 0.71646665,
1144
+ 0.71661859, 0.71670596, 0.71653511, 0.71638911, 0.71649877,
1145
+ 0.71652622, 0.71642523, 0.71627151, 0.716337 , 0.71625001,
1146
+ 0.71623888, 0.7161983 , 0.71619554, 0.71609371, 0.71615611,
1147
+ 0.71587901, 0.71555375, 0.71521927, 0.71573946, 0.71615663,
1148
+ 0.71586493, 0.7156413 , 0.71615004, 0.71653474, 0.71632223,
1149
+ 0.71618825, 0.7165586 , 0.7168124 , 0.71668994, 0.71661036,
1150
+ 0.7168446 , 0.71694587, 0.71689337, 0.7167922 , 0.71693225,
1151
+ 0.71694582, 0.71693224, 0.71679212, 0.71689325, 0.71681216,
1152
+ 0.71684437, 0.71661004, 0.71668963, 0.71653449, 0.71655826,
1153
+ 0.71618788, 0.71632191, 0.71615622, 0.71614967, 0.71564092,
1154
+ 0.71586446, 0.7158785 , 0.71573897, 0.71521879, 0.71555323,
1155
+ 0.71415117, 0.71304803, 0.71200401, 0.71333356, 0.71459491,
1156
+ 0.71350761, 0.71272705, 0.7140006 , 0.71526042, 0.71418365,
1157
+ 0.71337479, 0.7146592 , 0.71582149, 0.71478585, 0.71378284,
1158
+ 0.7150456 , 0.71605221, 0.71509271, 0.71396254, 0.71516103,
1159
+ 0.71605211, 0.71516102, 0.71396249, 0.71509256, 0.71582115,
1160
+ 0.7150454 , 0.71378271, 0.71478555, 0.71526005, 0.71465889,
1161
+ 0.71337454, 0.71418329, 0.71459453, 0.71400022, 0.71272682,
1162
+ 0.71350725, 0.71415077, 0.71333321, 0.71200389, 0.71304774,
1163
+ 0.70944126, 0.70705883, 0.70442227, 0.70714215, 0.70999341,
1164
+ 0.70722667, 0.70436187, 0.70745337, 0.71044978, 0.70748596,
1165
+ 0.70427781, 0.70768146, 0.71082549, 0.70772906, 0.70426793,
1166
+ 0.70786303, 0.71099495, 0.70788365, 0.70424722, 0.70791928,
1167
+ 0.71099502, 0.70791937, 0.70424774, 0.70788396, 0.71082556,
1168
+ 0.70786332, 0.70426849, 0.70772935, 0.71044982, 0.70768178,
1169
+ 0.7042786 , 0.70748637, 0.70999356, 0.70745385, 0.70436311,
1170
+ 0.70722738, 0.70944169, 0.70714295, 0.70442389, 0.70705981,
1171
+ 0.69895933, 0.69463188, 0.68921358, 0.693824 , 0.698153 ,
1172
+ 0.69349963, 0.68725093, 0.69221842, 0.69728195, 0.69180649,
1173
+ 0.68463972, 0.69053046, 0.69673179, 0.69018397, 0.68236173,
1174
+ 0.68940762, 0.69650961, 0.68925397, 0.68125059, 0.68902719,
1175
+ 0.69651034, 0.68902736, 0.6812516 , 0.68925556, 0.69673305,
1176
+ 0.6894096 , 0.6823656 , 0.69018707, 0.69728407, 0.69053386,
1177
+ 0.68464522, 0.69181074, 0.69815588, 0.69222279, 0.68725717,
1178
+ 0.69350432, 0.69896255, 0.69382873, 0.68922015, 0.69463687,
1179
+ 0.68375896, 0.6882601 , 0.69595562, 0.68766298, 0.68105558,
1180
+ 0.68673658, 0.69502847, 0.68542815, 0.67770965, 0.68435344,
1181
+ 0.69409778, 0.68310537, 0.67491515, 0.68222458, 0.69337943,
1182
+ 0.68140117, 0.67356609, 0.68097711, 0.69301997, 0.68071631,
1183
+ 0.67356716, 0.68071666, 0.69302027, 0.68097852, 0.6749196 ,
1184
+ 0.68140363, 0.69338045, 0.68222808, 0.6777162 , 0.68310954,
1185
+ 0.69409929, 0.68435822, 0.68106317, 0.68543327, 0.69503026,
1186
+ 0.68674199, 0.68376697, 0.68766854, 0.69595754, 0.68826575,
1187
+ 0.71760631, 0.75094294, 0.78427898, 0.75094168, 0.71760193,
1188
+ 0.75093986, 0.78427453, 0.75093415, 0.71758272, 0.7509278 ,
1189
+ 0.78426295, 0.75091754, 0.7175572 , 0.75090919, 0.78424795,
1190
+ 0.75089856, 0.71753518, 0.75089163, 0.78423642, 0.75088684,
1191
+ 0.71753524, 0.75088686, 0.78423643, 0.75089171, 0.7175573 ,
1192
+ 0.75089864, 0.78424798, 0.75090931, 0.71758285, 0.75091768,
1193
+ 0.78426303, 0.75092799, 0.7176021 , 0.75093438, 0.78427472,
1194
+ 0.75094013, 0.71760652, 0.75094199, 0.78427929, 0.75094328,
1195
+ 0.81761649, 0.85095268, 0.88428788, 0.85095192, 0.81761311,
1196
+ 0.8509508 , 0.88428574, 0.85094833, 0.81760513, 0.8509458 ,
1197
+ 0.88428131, 0.85094197, 0.81759506, 0.85093883, 0.88427596,
1198
+ 0.85093514, 0.81758753, 0.85093282, 0.88427212, 0.85093123,
1199
+ 0.81758749, 0.8509312 , 0.88427198, 0.85093269, 0.81759494,
1200
+ 0.85093494, 0.8842756 , 0.85093857, 0.81760502, 0.8509417 ,
1201
+ 0.88428088, 0.85094557, 0.81761314, 0.85094816, 0.88428543,
1202
+ 0.85095073, 0.81761667, 0.85095193, 0.88428775, 0.85095275,
1203
+ 0.91762366, 0.95095836, 0.98429205, 0.95095804, 0.91762217,
1204
+ 0.95095754, 0.98429102, 0.95095658, 0.91761918, 0.95095558,
1205
+ 0.98428903, 0.95095416, 0.91761561, 0.95095297, 0.98428667,
1206
+ 0.95095164, 0.91761304, 0.95095078, 0.98428497, 0.95095015,
1207
+ 0.91761286, 0.95095007, 0.98428475, 0.95095045, 0.9176151 ,
1208
+ 0.95095115, 0.98428605, 0.95095231, 0.91761853, 0.95095342,
1209
+ 0.9842882 , 0.9509548 , 0.91762161, 0.95095583, 0.98429026,
1210
+ 0.95095688, 0.91762327, 0.95095746, 0.98429146, 0.95095784])
1211
+
1212
+
1213
+
1214
+
1215
+ #print w.centroid_values - wc
1216
+
1217
+ #print max(w.centroid_values - wc)
1218
+ assert num.allclose(w.centroid_values, wc, rtol=0.05)
1219
+
1220
+
1221
+
1222
+
1223
+ def test_kinematic_operator_string(self):
1224
+
1225
+ from anuga import rectangular_cross_domain
1226
+ from anuga import Reflective_boundary
1227
+
1228
+ m1 = 10
1229
+ n1 = 10
1230
+ domain = rectangular_cross_domain(m1,n1)
1231
+
1232
+ #domain.set_flow_algorithm('2_0')
1233
+
1234
+ #
1235
+ domain.set_quantity('elevation', expression='x')
1236
+ domain.set_quantity('friction', 0.03)
1237
+ domain.set_quantity('stage',expression='elevation + 2*(x-0.5)')
1238
+ domain.set_quantity('xmomentum', expression='2*x+3*y')
1239
+ domain.set_quantity('ymomentum', expression='5*x+7*y')
1240
+
1241
+ B = Reflective_boundary(domain)
1242
+ domain.set_boundary( {'left': B, 'right': B, 'top': B, 'bottom': B})
1243
+
1244
+ # kill off the wave with viscosity
1245
+ kv = Kinematic_viscosity_operator(domain, diffusivity = 'height')
1246
+
1247
+
1248
+ # let's make timestep large so that the final solution will look like
1249
+ #the solution of hte elliptic problem. In this case u -> 1, v -> 2.
1250
+
1251
+
1252
+ for t in domain.evolve(yieldstep = 1.0, finaltime = 10.0):
1253
+ #domain.write_time()
1254
+ #domain.print_operator_timestepping_statistics()
1255
+ pass
1256
+
1257
+ #
1258
+ w = domain.quantities['stage']
1259
+ uh = domain.quantities['xmomentum']
1260
+ vh = domain.quantities['ymomentum']
1261
+
1262
+ #print 'uh'
1263
+ #print uh.centroid_values
1264
+ #print uh.boundary_values
1265
+
1266
+ #print 'w'
1267
+ #print w.centroid_values
1268
+
1269
+ #from pprint import pprint
1270
+ #pprint(w.centroid_values)
1271
+
1272
+
1273
+ wc = num.array([
1274
+ 0.70714365, 0.70714416, 0.70714295, 0.70714222, 0.70714486,
1275
+ 0.70714507, 0.70714374, 0.70714601, 0.70714492, 0.70714425,
1276
+ 0.70714595, 0.70714437, 0.70714797, 0.70714691, 0.70714697,
1277
+ 0.70714845, 0.70714793, 0.70714793, 0.70715033, 0.70714852,
1278
+ 0.70715244, 0.70715018, 0.70715176, 0.70715224, 0.70715211,
1279
+ 0.70715265, 0.70715351, 0.7071531 , 0.70715433, 0.70715309,
1280
+ 0.70715351, 0.70715472, 0.70715429, 0.70715433, 0.70715487,
1281
+ 0.70715523, 0.7071545 , 0.70715446, 0.70715317, 0.70715564,
1282
+ 0.70714142, 0.70714198, 0.70714079, 0.70714299, 0.70714482,
1283
+ 0.70714378, 0.70714344, 0.70714377, 0.7071443 , 0.70714533,
1284
+ 0.70714579, 0.70714574, 0.70714906, 0.70714717, 0.70714819,
1285
+ 0.70714822, 0.70714976, 0.70714952, 0.70715093, 0.70715077,
1286
+ 0.70715217, 0.70715094, 0.70715291, 0.70715188, 0.70715352,
1287
+ 0.70715278, 0.707154 , 0.70715429, 0.70715376, 0.70715309,
1288
+ 0.70715446, 0.70715422, 0.70715366, 0.70715453, 0.70715413,
1289
+ 0.70715539, 0.70715385, 0.70715412, 0.70715154, 0.70715306,
1290
+ 0.70714038, 0.70713905, 0.7071358 , 0.70713972, 0.70714303,
1291
+ 0.7071419 , 0.70714066, 0.70714219, 0.7071459 , 0.70714505,
1292
+ 0.70714639, 0.70714648, 0.70714833, 0.70714827, 0.70715147,
1293
+ 0.70715013, 0.70715194, 0.70715133, 0.70715542, 0.70715345,
1294
+ 0.70715296, 0.70715417, 0.70715676, 0.70715521, 0.70715526,
1295
+ 0.7071548 , 0.70715717, 0.70715512, 0.70715381, 0.70715523,
1296
+ 0.70715556, 0.70715486, 0.70715482, 0.70715338, 0.70715307,
1297
+ 0.70715381, 0.70715132, 0.70715182, 0.70714789, 0.70715086,
1298
+ 0.70713443, 0.70713559, 0.70713539, 0.70713615, 0.70714057,
1299
+ 0.70713978, 0.70714091, 0.70714102, 0.70714618, 0.70714338,
1300
+ 0.70714803, 0.70714858, 0.7071519 , 0.70715029, 0.70715343,
1301
+ 0.70715461, 0.70715589, 0.70715519, 0.7071565 , 0.70715796,
1302
+ 0.70715738, 0.70715845, 0.7071601 , 0.70715829, 0.70715711,
1303
+ 0.70715903, 0.70716011, 0.70715714, 0.7071565 , 0.70715756,
1304
+ 0.70715885, 0.7071556 , 0.70715386, 0.70715406, 0.70715653,
1305
+ 0.70715532, 0.70714813, 0.7071515 , 0.70715242, 0.70715269,
1306
+ 0.70713191, 0.70712961, 0.70712505, 0.70712841, 0.70714097,
1307
+ 0.70713808, 0.70713862, 0.7071431 , 0.70714966, 0.7071463 ,
1308
+ 0.70715775, 0.70715666, 0.70715566, 0.7071554 , 0.7071632 ,
1309
+ 0.70716353, 0.70715928, 0.70716244, 0.70716736, 0.70716495,
1310
+ 0.70716301, 0.70716635, 0.70717088, 0.70716792, 0.70716369,
1311
+ 0.70717007, 0.7071741 , 0.70716769, 0.70716166, 0.70716991,
1312
+ 0.70717294, 0.70716167, 0.70715775, 0.70716057, 0.70715687,
1313
+ 0.70715535, 0.70715014, 0.70714766, 0.70714559, 0.70714992,
1314
+ 0.7071149 , 0.70708741, 0.706984 , 0.70711096, 0.70714367,
1315
+ 0.70714831, 0.70713519, 0.7071811 , 0.70716622, 0.70716603,
1316
+ 0.70714155, 0.7071748 , 0.70716885, 0.70716897, 0.70713548,
1317
+ 0.70716966, 0.70716924, 0.70716978, 0.70713561, 0.7071717 ,
1318
+ 0.70717389, 0.7071726 , 0.70713926, 0.70717593, 0.70718002,
1319
+ 0.70717761, 0.70714428, 0.70718053, 0.70718062, 0.70718719,
1320
+ 0.70715731, 0.70718271, 0.70716238, 0.7071992 , 0.70715496,
1321
+ 0.70716834, 0.70713531, 0.70713099, 0.70700665, 0.7071098 ,
1322
+ 0.70634397, 0.70524618, 0.70297607, 0.70514658, 0.70658259,
1323
+ 0.70506628, 0.70244401, 0.70497884, 0.70657086, 0.70498266,
1324
+ 0.70239779, 0.70496243, 0.7065572 , 0.7049646 , 0.70239608,
1325
+ 0.70496008, 0.70655538, 0.70496125, 0.70239685, 0.70496177,
1326
+ 0.70655883, 0.70496295, 0.70239957, 0.70496624, 0.70656625,
1327
+ 0.70496724, 0.70240482, 0.7049756 , 0.70658803, 0.70497608,
1328
+ 0.70241139, 0.70500006, 0.70660425, 0.70499778, 0.70246225,
1329
+ 0.70508764, 0.70636798, 0.70516922, 0.70299639, 0.70526838,
1330
+ 0.71780931, 0.7506157 , 0.78399529, 0.75061024, 0.71769206,
1331
+ 0.75059929, 0.78398287, 0.75059279, 0.71768281, 0.75059112,
1332
+ 0.78397863, 0.75059025, 0.71768261, 0.75058996, 0.78397777,
1333
+ 0.75058981, 0.71768268, 0.75058969, 0.78397749, 0.75058967,
1334
+ 0.7176832 , 0.75058972, 0.78397772, 0.75058986, 0.71768421,
1335
+ 0.7505901 , 0.78397859, 0.75059043, 0.71768534, 0.7505909 ,
1336
+ 0.78398028, 0.750592 , 0.71769545, 0.75059388, 0.78398545,
1337
+ 0.75060056, 0.71781337, 0.75061163, 0.78399848, 0.75061714,
1338
+ 0.81739069, 0.85076296, 0.8841241 , 0.85076174, 0.81738381,
1339
+ 0.85075988, 0.88412183, 0.85075808, 0.81738087, 0.85075718,
1340
+ 0.88412031, 0.85075635, 0.81737996, 0.85075599, 0.88411952,
1341
+ 0.85075563, 0.81737963, 0.85075548, 0.88411919, 0.8507555 ,
1342
+ 0.81738003, 0.85075569, 0.88411972, 0.85075629, 0.81738134,
1343
+ 0.85075692, 0.88412133, 0.85075812, 0.81738361, 0.85075914,
1344
+ 0.88412387, 0.85076103, 0.81738807, 0.85076269, 0.88412739,
1345
+ 0.85076547, 0.81739598, 0.85076786, 0.88413107, 0.85076949,
1346
+ 0.91748914, 0.95083916, 0.98417801, 0.95083906, 0.91748809,
1347
+ 0.95083882, 0.98417779, 0.95083863, 0.91748731, 0.95083843,
1348
+ 0.98417752, 0.9508382 , 0.91748674, 0.950838 , 0.9841771 ,
1349
+ 0.95083776, 0.91748646, 0.95083764, 0.98417686, 0.95083771,
1350
+ 0.91748702, 0.95083794, 0.98417744, 0.95083859, 0.91748864,
1351
+ 0.95083927, 0.98417906, 0.95084046, 0.91749107, 0.95084145,
1352
+ 0.98418138, 0.95084291, 0.91749397, 0.95084401, 0.98418384,
1353
+ 0.95084538, 0.91749653, 0.95084626, 0.98418563, 0.95084686])
1354
+
1355
+
1356
+ #print max(w.centroid_values - wc)
1357
+
1358
+ assert num.allclose(w.centroid_values, wc, rtol=2.0e-3)
1359
+
1360
+
1361
+ ################################################################################
1362
+
1363
+ if __name__ == "__main__":
1364
+ suite = unittest.makeSuite(Test_kinematic_viscosity, 'test')
1365
+ runner = unittest.TextTestRunner()
1366
+ runner.run(suite)