import numpy as np import grid class smberror(Exception): def __init__(self, val): self.value = val def __str__(self): return repr(self.value) def rms(errors): """ root mean square calculation """ r = 0.0 for i in errors: r += np.power(i, 2) r = np.sqrt(r / len(errors)) return r def exact_func(x, y): return np.power((np.sin(x * np.pi) * np.cos(y * np.pi)), 2) return np.sin(x * np.pi) * np.cos(y * np.pi) def get_mesh(source, destination, use_structured_grid = False): mesh_source = None mesh_dest = None if use_structured_grid: mesh_source = grid.simple_rect_grid(source, source) mesh_dest = grid.simple_rect_grid(destination, destination) else: mesh_source = grid.simple_random_grid(source) mesh_dest = grid.simple_random_grid(destination) if not (mesh_dest and mesh_source): raise smberror('problem creating mesh objects') else: return mesh_source, mesh_dest