Last active
November 15, 2019 07:57
-
-
Save mikeando/955703897b35fa3b523752041d61fee4 to your computer and use it in GitHub Desktop.
Devito comm mismatch
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import numpy as np | |
from dugwave.devitowrap import Function, TimeFunction, Grid, Eq, Operator, configuration, Constant, SpaceDimension, SubDimension, solve | |
from sympy import Symbol | |
from mpi4py import MPI | |
bc_thickness = 4 | |
nx=10 | |
ny=10 | |
dx=0.1 | |
dy=0.1 | |
spacedims = ["x", "y"] | |
spacings = [Constant(name="h_%s" % d, dtype=np.float32) for d in spacedims] | |
dimensions = tuple(SpaceDimension(d, spacing=s) for d, s in zip(spacedims, spacings)) | |
x = dimensions[0] | |
y = dimensions[1] | |
x_left = SubDimension.left(name="x_left", parent=x, thickness=bc_thickness) | |
x_right = SubDimension.right(name="x_right", parent=x, thickness=bc_thickness) | |
y_left = SubDimension.left(name="y_left", parent=y, thickness=bc_thickness) | |
y_right = SubDimension.right(name="y_right", parent=y, thickness=bc_thickness) | |
internal_dims = tuple( | |
SubDimension.middle( | |
name=d.name + "i", | |
parent=d, | |
thickness_left=bc_thickness, | |
thickness_right=bc_thickness, | |
) for d in dimensions | |
) | |
def build_operator(name, comm): | |
grid_shape = ( nx + 2 * bc_thickness, ny + 2 * bc_thickness,) | |
grid = Grid( shape=grid_shape, dimensions=dimensions, comm=comm) | |
#grid = Grid( shape=grid_shape, dimensions=dimensions, comm=MPI.COMM_WORLD) | |
internal_dim_subs = {d: di for (d, di) in zip(dimensions, internal_dims)} | |
u = TimeFunction(name='u',grid=grid, space_order=0, time_order=1) | |
interior_eq = Eq(u.forward, u + 1) | |
# Limit our update to the interior of the domain | |
interior_eq = interior_eq.xreplace(internal_dim_subs) | |
bc = Eq(u,-1) | |
# Limit out boundary conditions to the boundary | |
x_left_bc = bc.xreplace({x:x_left}) | |
x_right_bc = bc.xreplace({x:x_right}) | |
y_left_bc = bc.xreplace({y:y_left}) | |
y_right_bc = bc.xreplace({y:y_right}) | |
actions = [interior_eq, x_left_bc, x_right_bc, y_left_bc, y_right_bc] | |
op = Operator(actions, name=name) | |
return op | |
def create_u(name, nx, ny, comm): | |
grid_shape = ( nx + 2 * bc_thickness, ny + 2 * bc_thickness) | |
g_new = Grid( shape=grid_shape, dimensions=dimensions, comm=comm) | |
u = TimeFunction(name=name,grid=g_new, space_order=0, time_order=1) | |
u.data[:] = 0 | |
return u | |
op_world = build_operator("op_world", MPI.COMM_WORLD) | |
op_self = build_operator("op_self", MPI.COMM_SELF) | |
# Try it with a new distributed grid! | |
nx = 15 | |
ny = 15 | |
u_dist = create_u("u_dist", nx,ny,MPI.COMM_WORLD) | |
u_local = create_u("u_local", nx,ny,MPI.COMM_SELF) | |
np.set_printoptions(linewidth=500) | |
for op in [op_world, op_self]: | |
for u in [u_dist, u_local]: | |
u.data[:] = 0 | |
print(f"Testing {op.name} + {u.name}") | |
print("Correcting the operator...") | |
m={} | |
m['comm'] = u.grid.distributor._obj_comm | |
m['nb'] = u.grid.distributor._obj_neighborhood | |
op.objects = tuple( m.get(o.name, o) for o in op.objects) | |
op.apply(u=u, time_M=2) | |
print(u.data[u.local_indices][1,:,:]) | |
args = op.arguments(u=u, time_M=2) | |
x_m = args["x_m"] | |
x_M = args["x_M"] | |
xi_ltkn = args["xi_ltkn"] | |
xi_rtkn = args["xi_rtkn"] | |
x_left_ltkn = args["x_left_ltkn"] | |
x_right_rtkn = args["x_right_rtkn"] | |
y_m = args["y_m"] | |
y_M = args["y_M"] | |
yi_ltkn = args["yi_ltkn"] | |
yi_rtkn = args["yi_rtkn"] | |
y_left_ltkn = args["y_left_ltkn"] | |
y_right_rtkn = args["y_right_rtkn"] | |
print(f"{MPI.COMM_WORLD.rank} bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = ({x_m}) -- ({x_m} + {x_left_ltkn} - 1) = ({x_m}) -- ({x_m + x_left_ltkn - 1})") | |
print(f"{MPI.COMM_WORLD.rank} interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = ({x_m} + {xi_ltkn}) -- ({x_M} - {xi_rtkn}) = ({x_m + xi_ltkn}) -- ({x_M - xi_rtkn})") | |
print(f"{MPI.COMM_WORLD.rank} bc x right : (x_M - x_right_rtkn + 1) -- ({x_M}) = ({x_M} - {x_right_rtkn} + 1) -- (x_M) = ({x_M - x_right_rtkn + 1}) -- ({x_M}) ") | |
print(f"{MPI.COMM_WORLD.rank} bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = ({y_m}) -- ({y_m} + {y_left_ltkn} - 1) = ({y_m}) -- ({y_m + y_left_ltkn - 1})") | |
print(f"{MPI.COMM_WORLD.rank} interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = ({y_m} + {yi_ltkn}) -- ({y_M} - {yi_rtkn}) = ({y_m + yi_ltkn}) -- ({y_M - yi_rtkn})") | |
print(f"{MPI.COMM_WORLD.rank} bc y right : (y_M - y_right_rtkn + 1) -- ({y_M}) = ({y_M} - {y_right_rtkn} + 1) -- (y_M) = ({y_M - y_right_rtkn + 1}) -- ({y_M}) ") | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Testing op_world + u_dist | |
Correcting the operator... | |
[[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.]] | |
0 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 4) -- (11 - 0) = (4) -- (11) | |
0 bc x right : (x_M - x_right_rtkn + 1) -- (11) = (11 - 0 + 1) -- (x_M) = (12) -- (11) | |
0 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
0 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Testing op_world + u_local | |
Correcting the operator... | |
[[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.]] | |
0 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 4) -- (22 - 0) = (4) -- (22) | |
0 bc x right : (x_M - x_right_rtkn + 1) -- (22) = (22 - 0 + 1) -- (x_M) = (23) -- (22) | |
0 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
0 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Testing op_self + u_dist | |
Correcting the operator... | |
[[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.]] | |
0 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 4) -- (11 - 4) = (4) -- (7) | |
0 bc x right : (x_M - x_right_rtkn + 1) -- (11) = (11 - 4 + 1) -- (x_M) = (8) -- (11) | |
0 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
0 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Testing op_self + u_local | |
Correcting the operator... | |
[[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.]] | |
0 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
0 bc x right : (x_M - x_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (x_M) = (19) -- (22) | |
0 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
0 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
0 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Testing op_world + u_dist | |
Correcting the operator... | |
[[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.]] | |
1 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 0 - 1) = (0) -- (-1) | |
1 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 0) -- (10 - 4) = (0) -- (6) | |
1 bc x right : (x_M - x_right_rtkn + 1) -- (10) = (10 - 4 + 1) -- (x_M) = (7) -- (10) | |
1 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
1 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
1 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Testing op_world + u_local | |
Correcting the operator... | |
[[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.]] | |
1 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 0 - 1) = (0) -- (-1) | |
1 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 0) -- (22 - 4) = (0) -- (18) | |
1 bc x right : (x_M - x_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (x_M) = (19) -- (22) | |
1 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
1 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
1 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Testing op_self + u_dist | |
Correcting the operator... | |
[[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.]] | |
1 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
1 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 4) -- (10 - 4) = (4) -- (6) | |
1 bc x right : (x_M - x_right_rtkn + 1) -- (10) = (10 - 4 + 1) -- (x_M) = (7) -- (10) | |
1 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
1 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
1 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Testing op_self + u_local | |
Correcting the operator... | |
[[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. 3. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.] | |
[-1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1.]] | |
1 bc x left : (x_m) -- (x_m + x_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
1 interior xi: (x_m + xi_ltkn) -- (x_M - xi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
1 bc x right : (x_M - x_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (x_M) = (19) -- (22) | |
1 bc y left : (y_m) -- (y_m + y_left_ltkn - 1) = (0) -- (0 + 4 - 1) = (0) -- (3) | |
1 interior yi: (y_m + yi_ltkn) -- (y_M - yi_rtkn) = (0 + 4) -- (22 - 4) = (4) -- (18) | |
1 bc y right : (y_M - y_right_rtkn + 1) -- (22) = (22 - 4 + 1) -- (y_M) = (19) -- (22) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment