Subdomains with different material properties

then it works or not ? since you have an scalar value to evaluate you don’t need to define the value shape
anyway you can add it after def eval_cell block as follows:

def values_shape(self):
    return (1,)