Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
"https://tisaac.gitlab.io/recursivenodes/": None,
"https://fenics.readthedocs.io/projects/fiat/en/latest/": None,
"https://finat.github.io/FInAT/": None,
"https://mpi4py.readthedocs.io/en/stable": None,
"h5py": ("https://docs.h5py.org/en/stable", None),
}

Expand Down
4 changes: 3 additions & 1 deletion meshmode/discretization/connection/direct.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
THE SOFTWARE.
"""


import numpy as np
import numpy.linalg as la
from abc import ABC, abstractmethod
Expand Down Expand Up @@ -244,6 +243,8 @@ class DiscretizationConnectionElementGroup:

A list of :class:`InterpolationBatch` instances.
"""
batches: Sequence[InterpolationBatch]

def __init__(self, batches):
self.batches = batches

Expand Down Expand Up @@ -341,6 +342,7 @@ class DirectDiscretizationConnection(DiscretizationConnection):

.. automethod:: __call__
"""
groups: Sequence[DiscretizationConnectionElementGroup]

def __init__(self,
from_discr: Discretization, to_discr: Discretization,
Expand Down
17 changes: 8 additions & 9 deletions meshmode/discretization/connection/opposite_face.py
Original file line number Diff line number Diff line change
Expand Up @@ -521,21 +521,20 @@ def make_opposite_face_connection(actx, volume_to_bdry_conn):

# {{{ make_partition_connection

def make_partition_connection(actx, *, local_bdry_conn, i_local_part,
# FIXME: Consider adjusting terminology from local/remote to self/other.
def make_partition_connection(actx, *, local_bdry_conn,
remote_bdry_discr, remote_group_infos):
"""
Connects ``local_bdry_conn`` to a neighboring partition.
Connects ``local_bdry_conn`` to a neighboring part.

:arg local_bdry_conn: A :class:`DiscretizationConnection` of the local
partition.
:arg i_local_part: The partition number of the local partition.
:arg local_bdry_conn: A :class:`DiscretizationConnection` of the local part.
:arg remote_bdry_discr: A :class:`~meshmode.discretization.Discretization`
of the boundary of the remote partition.
of the boundary of the remote part.
:arg remote_group_infos: An array of
:class:`meshmode.distributed.RemoteGroupInfo` instances, one per remote
volume element group.
:returns: A :class:`DirectDiscretizationConnection` that performs data
exchange across faces from the remote partition to partition `i_local_part`.
exchange across faces from the remote part to the local part.

.. versionadded:: 2017.1

Expand All @@ -557,15 +556,15 @@ def make_partition_connection(actx, *, local_bdry_conn, i_local_part,
# The code assumes that there is the same number of volume and surface groups.
#
# A weak reason to choose remote as the outer loop is because
# InterPartitionAdjacency refers to neighbors by global volume element
# InterPartAdjacency refers to neighbors by global volume element
# numbers, and we only have enough information to resolve those to (group,
# group_local_el_nr) for local elements (whereas we have no information
# about remote volume elements).
#
# (See the find_group_indices below.)

for rgi in remote_group_infos:
rem_ipags = rgi.inter_partition_adj_groups
rem_ipags = rgi.inter_part_adj_groups

for rem_ipag in rem_ipags:
i_local_grps = find_group_indices(local_vol_groups, rem_ipag.neighbors)
Expand Down
Loading