# Signature of method 'Gamma_L1.inside()' does not match signature of the base method in class 'SubDomain'

Hello everyone. but I have gotten the following error code , any help please

i want to solve stokes this is the FV: ``````mesh3 = UnitSquareMesh(n, n, "crossed")

# Define boundary condition
def boundary(x, on_boundary):
return on_boundary

# Define boundary subdomains
tol = 1e-14

class Gamma_N(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, x1, tol)

class Gamma_R(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, x2, tol)

class Gamma_L1(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, y1, tol)

class Gamma_L2(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, y2, tol)

# Mark boundaries
boundary_markers = MeshFunction('size_t', mesh, mesh.topology().dim() - 1)
boundary_markers.set_all(0)
G_N = Gamma_N()
G_R = Gamma_R()
G_L1 = Gamma_L1()
G_L2 = Gamma_L2()
G_N.mark(boundary_markers, 0)
G_R.mark(boundary_markers, 1)
G_L1.mark(boundary_markers, 2)
G_L2.mark(boundary_markers, 3)
# Redefine boundary integration measure
ds = Measure('ds', domain=mesh, subdomain_data=boundary_markers)

``````

Error :Signature of method ‘Gamma_L1.inside()’ does not match signature of the base method in class ‘SubDomain’

When I edit the code into a runnable MWE, I can’t reproduce the problem. The following runs without error for me using FEniCS 2019.2:

``````from dolfin import *

x1=0
x2=1
y1=0
y2=1
n=10
#####################

mesh3 = UnitSquareMesh(n, n, "crossed")

# Define boundary condition
def boundary(x, on_boundary):
return on_boundary

# Define boundary subdomains
tol = 1e-14

class Gamma_N(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, x1, tol)

class Gamma_R(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, x2, tol)

class Gamma_L1(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, y1, tol)

class Gamma_L2(SubDomain):
def inside(self, x, on_boundary):
return on_boundary and near(x, y2, tol)

# Mark boundaries

####### Changed #######
#boundary_markers = MeshFunction('size_t', mesh, mesh.topology().dim() - 1)
boundary_markers = MeshFunction('size_t', mesh3, mesh3.topology().dim() - 1)
#######################

boundary_markers.set_all(0)
G_N = Gamma_N()
G_R = Gamma_R()
G_L1 = Gamma_L1()
G_L2 = Gamma_L2()
G_N.mark(boundary_markers, 0)
G_R.mark(boundary_markers, 1)
G_L1.mark(boundary_markers, 2)
G_L2.mark(boundary_markers, 3)
# Redefine boundary integration measure
####### Changed #######
#ds = Measure('ds', domain=mesh, subdomain_data=boundary_markers)
ds = Measure('ds', domain=mesh3, subdomain_data=boundary_markers)
#######################
``````
1 Like

See if clearing the cache helps,

``````\$ dijitso clean
``````

or

``````\$ rm -r ~/.cache/dijitso/
``````
1 Like