+
Skip to content

some transforms fail to be indexed by PlainTransforms #661

@gertjanvanzwieten

Description

@gertjanvanzwieten

The following code fails unexpectedly:

from nutils import topology, elementseq, transformseq, mesh

topo, geom = mesh.rectilinear([1,1,1])
reftopo = topo.refined
refbasis = reftopo.basis('discont', degree=0)

line = reftopo[:,:1].boundary['top'].boundary['right']

print(line.sample('uniform', 1).eval(refbasis))
# [[0. 0. 0. 0. 1. 0. 0. 0.]
#  [0. 0. 0. 0. 0. 1. 0. 0.]]

line = topology.TransformChainsTopology(space=topo.space,
  references=elementseq.References.from_iter(line.references, 1),
  transforms=transformseq.PlainTransforms(line.transforms, fromdims=1, todims=3),
  opposites=transformseq.PlainTransforms(line.opposites, fromdims=1, todims=3))

print(line.sample('uniform', 1).eval(refbasis))
# KeyError: TensorEdge2([0,.5,0]+[1,0,0]*x0+[0,0,.5]*x1)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载