#This is a class which contains the equations for the dynamics of the coupled logisitic system with symmetric dispersal

class CpledLogEqs:
	def __init__(self,r1,r2,d):
		self.r1=r1
		self.r2=r2
		self.d=d
		
	# equations for flow of popluations 1 and 2:
	def x1dot(self,x1,x2):
		return self.r1*x1*(1-x1)*(1-self.d)+self.d*self.r2*x2*(1-x2)
	def x2dot(self,x1,x2):
		return self.r2*x2*(1-x2)*(1-self.d)+self.d*self.r1*x1*(1-x1)
		
	#tangent flow:
	def dx1dot(self,x1,x2,dx1,dx2):
		return self.r1*(1-self.d)*dx1*(1-2*x1) +self.d*self.r2*dx2*(1-2*x2)
	def dx2dot(self,x1,x2,dx1,dx2):
		return self.r2*(1-self.d)*dx2*(1-2*x2) +self.r1*self.d*dx1*(1-2*x1)
	# To calculate the contraction:
	def DetJac(self,x1,x2):
		return self.r1*self.r2*(1-2*self.d)*(1-2*x1)*(1-2*x2)

