Beispiel #1
0
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()
Beispiel #2
0
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()
Beispiel #3
0
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
Beispiel #4
0
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')