def set(self, U, vmin=None, vmax=None):
    self.vmin = (self.vmin if (vmin is None) else vmin)
    self.vmax = (self.vmax if (vmax is None) else vmax)
    if (self.codim == 2):
        self.p.set_array(U)
    elif (self.reference_element is triangle):
        self.p.set_array(U)
    else:
        self.p.set_array(np.tile(U, 2))
    self.p.set_clim(self.vmin, self.vmax)
    return (self.p,)
def set(self, U, vmin=None, vmax=None):
    self.vmin = (self.vmin if (vmin is None) else vmin)
    self.vmax = (self.vmax if (vmax is None) else vmax)
    if (self.codim == 2):
        self.p.set_array(U)
    elif (self.reference_element is triangle):
        self.p.set_array(U)
    else:
        self.p.set_array(np.tile(U, 2))
    self.p.set_clim(self.vmin, self.vmax)
    return (self.p,)