Split up E and H Yee shifts
Use E shifts by default.
This commit is contained in:
		
							parent
							
								
									b7ff35485e
								
							
						
					
					
						commit
						55d9f33090
					
				@ -56,13 +56,13 @@ class Grid(object):
 | 
			
		||||
    # For each axis, determines how far the rightmost boundary gets shifted
 | 
			
		||||
    periodic = [False] * 3  # type: List[bool]
 | 
			
		||||
 | 
			
		||||
    # Intended for use as a static constant
 | 
			
		||||
    Yee_Shifts = 0.5 * numpy.array([[1, 0, 0],
 | 
			
		||||
                                    [0, 1, 0],
 | 
			
		||||
                                    [0, 0, 1],
 | 
			
		||||
                                    [0, 1, 1],
 | 
			
		||||
                                    [1, 0, 1],
 | 
			
		||||
                                    [1, 1, 0]], dtype=float)    # type: numpy.ndarray
 | 
			
		||||
    # Intended for use as static constants
 | 
			
		||||
    Yee_Shifts_E = 0.5 * numpy.array([[1, 0, 0],
 | 
			
		||||
                                      [0, 1, 0],
 | 
			
		||||
                                      [0, 0, 1]], dtype=float)    # type: numpy.ndarray
 | 
			
		||||
    Yee_Shifts_H = 0.5 * numpy.array([[0, 1, 1],
 | 
			
		||||
                                      [1, 0, 1],
 | 
			
		||||
                                      [1, 1, 0]], dtype=float)    # type: numpy.ndarray
 | 
			
		||||
 | 
			
		||||
    @property
 | 
			
		||||
    def dxyz(self) -> List[numpy.ndarray]:
 | 
			
		||||
@ -263,7 +263,7 @@ class Grid(object):
 | 
			
		||||
 | 
			
		||||
    def __init__(self,
 | 
			
		||||
                 pixel_edge_coordinates: List[List or numpy.ndarray],
 | 
			
		||||
                 shifts: numpy.ndarray or List=Yee_Shifts,
 | 
			
		||||
                 shifts: numpy.ndarray or List=Yee_Shifts_E,
 | 
			
		||||
                 initial: float or numpy.ndarray or List[float] or List[numpy.ndarray]=(1.0,)*3,
 | 
			
		||||
                 num_grids: int=None,
 | 
			
		||||
                 periodic: bool or List[bool]=False):
 | 
			
		||||
@ -275,7 +275,7 @@ class Grid(object):
 | 
			
		||||
         (ie, [[x0, x1, x2,...], [y0,...], [z0,...]] where the first pixel has x-edges x=x0 and
 | 
			
		||||
          x=x1, the second has edges x=x1 and x=x2, etc.)
 | 
			
		||||
        :param shifts: Nx3 array containing [x, y, z] offsets for each of N grids.
 | 
			
		||||
         Yee shifts are used by default.
 | 
			
		||||
         E-field Yee shifts are used by default.
 | 
			
		||||
        :param initial: Grids are initialized to this value. If scalar, all grids are initialized
 | 
			
		||||
         with ndarrays full of the scalar. If a list of scalars, grid[i] is initialized to an
 | 
			
		||||
         ndarray full of initial[i]. If a list of ndarrays of the same shape as the grids, grid[i]
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user