def discretize_fenics(): from pymor.tools import mpi if mpi.parallel: from pymor.discretizations.mpi import mpi_wrap_discretization return mpi_wrap_discretization(_discretize_fenics, use_with=True, pickle_local_spaces=False) else: return _discretize_fenics()
def discretize_fenics(): from pymor.tools import mpi if mpi.parallel: from pymor.discretizations.mpi import mpi_wrap_discretization return mpi_wrap_discretization(_discretize_fenics, use_with=True, pickle_subtypes=False) else: return _discretize_fenics()
def discretize_fenics(xblocks, yblocks, grid_num_intervals, element_order): from pymor.tools import mpi if mpi.parallel: from pymor.discretizations.mpi import mpi_wrap_discretization d = mpi_wrap_discretization(lambda: _discretize_fenics(xblocks, yblocks, grid_num_intervals, element_order), use_with=True, pickle_subtypes=False) else: d = _discretize_fenics(xblocks, yblocks, grid_num_intervals, element_order) summary = '''FEniCS discretization: number of blocks: {xblocks}x{yblocks} grid intervals: {grid_num_intervals} finite element order: {element_order} '''.format(**locals()) return d, summary
def discretize_fenics(xblocks, yblocks, grid_num_intervals, element_order): from pymor.tools import mpi if mpi.parallel: from pymor.discretizations.mpi import mpi_wrap_discretization d = mpi_wrap_discretization(lambda: _discretize_fenics(xblocks, yblocks, grid_num_intervals, element_order), use_with=True, pickle_local_spaces=False) else: d = _discretize_fenics(xblocks, yblocks, grid_num_intervals, element_order) summary = '''FEniCS discretization: number of blocks: {xblocks}x{yblocks} grid intervals: {grid_num_intervals} finite element order: {element_order} '''.format(**locals()) return d, summary
import sys from pymor.discretizations.mpi import mpi_wrap_discretization from pymor.tools import mpi from pymor.vectorarrays.mpi import MPIVectorArrayAutoComm from dune_burgers import discretize_dune_burgers filename = sys.argv[1] exponent = float(sys.argv[2]) times = map(int, sys.argv[3:]) if mpi.parallel: d = mpi_wrap_discretization(lambda: discretize_dune_burgers(filename), use_with=True, with_apply2=False, array_type=MPIVectorArrayAutoComm) else: d = discretize_dune_burgers(filename) U = d.solve(exponent) U_vis = U.empty() U_vis.append(U, o_ind=times, remove_from_other=times) d.visualize(U_vis, filename='out')