def setUp(self): self.domain = Rectangle(20, 20, l0=100., l1=100., diracTags=["source"], diracPoints=[(0, 0)]) self.wavelet = Ricker(100.)
def setUp(self): self.domain = Brick(10, 10, 10, l0=100., l1=100., l2=100., diracTags=["source"], diracPoints=[(0, 0, 0)]) self.wavelet = Ricker(100.)
def setUp(self): self.domains = [] for order in range(2, 11): self.domains.append( Brick(order, 4, 4, 4, diracTags=["source"], diracPoints=[(0, 0, 0)])) self.wavelet = Ricker(100.)
def setUp(self): self.domains = [] for order in range(2, 11): self.domains.append( Rectangle(order, 10, 10, l0=100, l1=100, diracTags=["source"], diracPoints=[(0, 0)])) self.wavelet = Ricker(100.)
ne_z, l0=width_x, l1=depth, diracPoints=src_locations, diracTags=src_tags) else: domain = Brick(order, ceil(ne_z * width_x / depth), ceil(ne_z * width_y / depth), ne_z, l0=width_x, l1=width_y, l2=depth, diracPoints=src_locations, diracTags=src_tags) wl = Ricker(frq) m = whereNegative(Function(domain).getX()[DIM - 1] - reflector_at) v_p = v_p_bottom * m + v_p_top * (1 - m) sw = SonicWave(domain, v_p, source_tag=src_tags[0], wavelet=wl, absorption_zone=absorption_zone, lumping=True) locEW = Locator(domain, rcvEW_locations) tracerEW = SimpleSEGYWriter(receiver_group=rgEW, source=src_loc_2D, sampling_interval=sampling_interval) if DIM == 3:
domain = Rectangle(ne_x, ne_z, l0=width_x, l1=depth, diracPoints=src_locations, diracTags=src_tags) else: domain = Brick(ne_x, ne_x, ne_z, l0=width_x, l1=width_y, l2=depth, diracPoints=src_locations, diracTags=src_tags) wl = Ricker(frq, tcenter) #====================================================================== z = Function(domain).getX()[DIM - 1] z_bottom = 0 v_p = 0 delta = 0 vareps = 0 azmth = 0 rho = 0 for l in range(len(layers)): m = wherePositive(z - z_bottom) * whereNonPositive(z - (z_bottom + layers[l])) v_p = v_p * (1 - m) + v_Ps[l] * m vareps = vareps * (1 - m) + epss[l] * m