"""Create mesh for near shore PMD """ from anuga.pmesh.mesh_interface import create_mesh_from_regions from anuga.coordinate_transforms.geo_reference import Geo_reference xslope = 5.0 # Distance between the boundary ande the start of the slope def generate(mesh_filename, maximum_triangle_area=300000, thinner=False): """ """ # Basic geometry and bounding polygon xleft = -100 # Beach xleft = 8000 # looking at the first 2 km of wave travel xright = 10000 # wave generated here if thinner: ytop = 10 ybottom = -ytop else: ytop = 2000 ybottom = -ytop point_sw = [xleft, ybottom] point_se = [xright, ybottom] point_nw = [xleft, ytop] point_ne = [xright, ytop] bounding_polygon = [point_se, point_ne, point_nw, point_sw] # local refinement xleft = -80 xright = 2000 if thinner: ytop = 450 ybottom = -450 else: ytop = 1000 ybottom = -1000 point_sw = [xleft, ybottom] point_se = [xright, ybottom] point_nw = [xleft, ytop] point_ne = [xright, ytop] polygon_2 = [point_se, point_ne, point_nw, point_sw] interior_regions = [[polygon_2, maximum_triangle_area/2.]] m = create_mesh_from_regions(bounding_polygon, boundary_tags={'wall': [1, 2, 3], 'wave': [0]}, maximum_triangle_area=maximum_triangle_area, #interior_regions=interior_regions, mesh_geo_reference=Geo_reference(), filename=mesh_filename, verbose=True) print "mesh created" def generate_structured(): """ """ from anuga.abstract_2d_finite_volumes.mesh_factory import rectangular_cross from anuga.shallow_water import Domain #------------------------------------------------------------------------------ # Setup domain #------------------------------------------------------------------------------ dx = 10. dy = dx L = 2080. W = dx # structured mesh points, vertices, boundary = rectangular_cross(int(L/dx), int(W/dy), L, W, (-80.0, -W*0.5)) domain = Domain(points, vertices, boundary) print "domain created" return domain #------------------------------------------------------------- if __name__ == "__main__": generate("aa.tsh", thinner=True)