def calc_mean_hit_rate(pos, src_poss, wind): """ Calculate the total mean hit rate at position 'pos' given sources in positions src_poss. :param pos: position :param src_poss: list of source positions :param wind: wind speed (m/s) :return: mean hit rate """ mean_hit_rate = 0 for src_pos in src_poss: # calculate mean hit rate from this source dx = pos[0] - src_pos[0] dy = pos[1] - src_pos[1] dz = 0 r = logprob_odor.advec_diff_mean_hit_rate(dx, dy, dz, w=wind, r=R, d=D, a=A, tau=TAU, dim=2) mean_hit_rate += r return mean_hit_rate
def initialize(self): # create meshgrid of all locations x, y, z = np.meshgrid(self.env.x, self.env.y, self.env.z, indexing='ij') # calculate displacement from source dx = x - self.src_pos[0] dy = y - self.src_pos[1] dz = z - self.src_pos[2] # calculate mean hit number at all locations self.mean_hit_rate = advec_diff_mean_hit_rate(dx, dy, dz, self.w, self.r, self.d, self.a, self.tau, self.dim) self.conc = self.mean_hit_rate # store odor domain self.odor_domain = range(self.max_hit_number+1)
def initialize(self): # create meshgrid of all locations x, y, z = np.meshgrid(self.env.x, self.env.y, self.env.z, indexing='ij') # calculate displacement from source dx = x - self.src_pos[0] dy = y - self.src_pos[1] dz = z - self.src_pos[2] # calculate mean hit number at all locations self.mean_hit_rate = advec_diff_mean_hit_rate(dx, dy, dz, self.w, self.r, self.d, self.a, self.tau, self.dim) self.conc = self.mean_hit_rate # store odor domain self.odor_domain = range(self.max_hit_number + 1)