def test_visualize_patch(backend_gridtype): backend, gridtype = backend_gridtype domain = LineDomain() if gridtype is OnedGrid else RectDomain() dim = 1 if gridtype is OnedGrid else 2 rhs = GenericFunction(lambda X: np.ones(X.shape[:-1]) * 10, dim) # NOQA dirichlet = GenericFunction(lambda X: np.zeros(X.shape[:-1]), dim) # NOQA diffusion = GenericFunction(lambda X: np.ones(X.shape[:-1]), dim) # NOQA problem = StationaryProblem(domain=domain, rhs=rhs, dirichlet_data=dirichlet, diffusion=diffusion) grid, bi = discretize_domain_default(problem.domain, grid_type=gridtype) m, data = discretize_stationary_cg(analytical_problem=problem, grid=grid, boundary_info=bi) U = m.solve() try: visualize_patch(data['grid'], U=U, backend=backend) except QtMissing as ie: pytest.xfail("Qt missing") finally: stop_gui_processes()
def _test_demo(demo): import sys sys._called_from_test = True def nop(*args, **kwargs): pass try: from matplotlib import pyplot pyplot.show = nop except ImportError: pass try: import dolfin dolfin.plot = nop except ImportError: pass # reset default RandomState import pymor.tools.random pymor.tools.random._default_random_state = None result = None try: result = demo() except (QtMissing, GmshMissing, MeshioMissing, TorchMissing) as e: if os.environ.get('DOCKER_PYMOR', False): # these are all installed in our CI env so them missing a grave error raise e else: miss = str(type(e)).replace('Missing', '') pytest.xfail(f'{miss} not installed') finally: stop_gui_processes() from pymor.parallel.default import _cleanup _cleanup() try: from matplotlib import pyplot pyplot.close('all') except ImportError: pass return result
def _test_demo(demo): import sys sys._called_from_test = True def nop(*args, **kwargs): pass try: from matplotlib import pyplot pyplot.show = nop except ImportError: pass try: import dolfin dolfin.plot = nop except ImportError: pass # reset default RandomState import pymor.tools.random pymor.tools.random._default_random_state = None result = None try: result = demo() except QtMissing: pytest.xfail("Qt missing") except GmshMissing: pytest.xfail(f'Gmsh not intalled') except MeshioMissing: pytest.xfail(f'meshio not intalled') finally: stop_gui_processes() from pymor.parallel.default import _cleanup _cleanup() try: from matplotlib import pyplot pyplot.close('all') except ImportError: pass return result
def test_visualize(grids_with_visualize): import sys sys._called_from_test = True def nop(*args, **kwargs): pass try: from matplotlib import pyplot pyplot.show = nop except ImportError: pass try: g = grids_with_visualize U = np.ones(g.size(g.dim)) g.visualize(U, g.dim) except QtMissing: pytest.xfail("Qt missing") finally: stop_gui_processes()