forked from jan/opencl_fdtd
		
	Cleaner representation of the field source
This commit is contained in:
		
							parent
							
								
									89e305f78e
								
							
						
					
					
						commit
						2018fa819e
					
				
							
								
								
									
										7
									
								
								fdtd.py
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								fdtd.py
									
									
									
									
									
								
							@ -107,6 +107,7 @@ def main():
 | 
				
			|||||||
                   thickness=th,
 | 
					                   thickness=th,
 | 
				
			||||||
                   eps=n_slab**2)
 | 
					                   eps=n_slab**2)
 | 
				
			||||||
    mask = perturbed_l3(a, r)
 | 
					    mask = perturbed_l3(a, r)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    grid.draw_polygons(surface_normal=gridlock.Direction.z,
 | 
					    grid.draw_polygons(surface_normal=gridlock.Direction.z,
 | 
				
			||||||
                       center=[0, 0, 0],
 | 
					                       center=[0, 0, 0],
 | 
				
			||||||
                       thickness=2 * th,
 | 
					                       thickness=2 * th,
 | 
				
			||||||
@ -132,8 +133,10 @@ def main():
 | 
				
			|||||||
    fwhm = dwl * w * w / (2 * numpy.pi * dx)
 | 
					    fwhm = dwl * w * w / (2 * numpy.pi * dx)
 | 
				
			||||||
    alpha = (fwhm ** 2) / 8 * numpy.log(2)
 | 
					    alpha = (fwhm ** 2) / 8 * numpy.log(2)
 | 
				
			||||||
    delay = 7/numpy.sqrt(2 * alpha)
 | 
					    delay = 7/numpy.sqrt(2 * alpha)
 | 
				
			||||||
    field_source = lambda t: numpy.sin(w * (t * sim.dt - delay)) * \
 | 
					
 | 
				
			||||||
                             numpy.exp(-alpha * (t * sim.dt - delay)**2)
 | 
					    def field_source(i):
 | 
				
			||||||
 | 
					        t0 = i * sim.dt - delay
 | 
				
			||||||
 | 
					        return numpy.sin(w * t0) * numpy.exp(-alpha * t0**2)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # #### Run a bunch of iterations ####
 | 
					    # #### Run a bunch of iterations ####
 | 
				
			||||||
    # event = sim.whatever([prev_event]) indicates that sim.whatever should be queued immediately and run
 | 
					    # event = sim.whatever([prev_event]) indicates that sim.whatever should be queued immediately and run
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user