clean up comments and some types
This commit is contained in:
		
							parent
							
								
									36431cd0e4
								
							
						
					
					
						commit
						e459b5e61f
					
				| @ -40,7 +40,7 @@ __author__ = 'Jan Petykiewicz' | ||||
| def e_full( | ||||
|         omega: complex, | ||||
|         dxes: dx_lists_t, | ||||
|         epsilon: vfdfield_t, | ||||
|         epsilon: vfdfield_t | vcfdfield_t, | ||||
|         mu: vfdfield_t | None = None, | ||||
|         pec: vfdfield_t | None = None, | ||||
|         pmc: vfdfield_t | None = None, | ||||
|  | ||||
| @ -35,9 +35,9 @@ def _scipy_qmr( | ||||
|         Guess for solution (returned even if didn't converge) | ||||
|     """ | ||||
| 
 | ||||
|     ''' | ||||
|     Report on our progress | ||||
|     ''' | ||||
|     # | ||||
|     #Report on our progress | ||||
|     # | ||||
|     ii = 0 | ||||
| 
 | ||||
|     def log_residual(xk: ArrayLike) -> None: | ||||
| @ -56,10 +56,9 @@ def _scipy_qmr( | ||||
|     else: | ||||
|         kwargs['callback'] = log_residual | ||||
| 
 | ||||
|     ''' | ||||
|     Run the actual solve | ||||
|     ''' | ||||
| 
 | ||||
|     # | ||||
|     # Run the actual solve | ||||
|     # | ||||
|     x, _ = scipy.sparse.linalg.qmr(A, b, **kwargs) | ||||
|     return x | ||||
| 
 | ||||
|  | ||||
| @ -845,13 +845,13 @@ def solve_modes( | ||||
|             ability to find the correct mode. Default 2. | ||||
| 
 | ||||
|     Returns: | ||||
|         e_xys: list of vfdfield_t specifying fields | ||||
|         e_xys: NDArray of vfdfield_t specifying fields. First dimension is mode number. | ||||
|         wavenumbers: list of wavenumbers | ||||
|     """ | ||||
| 
 | ||||
|     ''' | ||||
|     Solve for the largest-magnitude eigenvalue of the real operator | ||||
|     ''' | ||||
|     # | ||||
|     # Solve for the largest-magnitude eigenvalue of the real operator | ||||
|     # | ||||
|     dxes_real = [[numpy.real(dx) for dx in dxi] for dxi in dxes] | ||||
|     mu_real = None if mu is None else numpy.real(mu) | ||||
|     A_r = operator_e(numpy.real(omega), dxes_real, numpy.real(epsilon), mu_real) | ||||
| @ -859,10 +859,10 @@ def solve_modes( | ||||
|     eigvals, eigvecs = signed_eigensolve(A_r, max(mode_numbers) + mode_margin) | ||||
|     e_xys = eigvecs[:, -(numpy.array(mode_numbers) + 1)] | ||||
| 
 | ||||
|     ''' | ||||
|     Now solve for the eigenvector of the full operator, using the real operator's | ||||
|      eigenvector as an initial guess for Rayleigh quotient iteration. | ||||
|     ''' | ||||
|     # | ||||
|     # Now solve for the eigenvector of the full operator, using the real operator's | ||||
|     #  eigenvector as an initial guess for Rayleigh quotient iteration. | ||||
|     # | ||||
|     A = operator_e(omega, dxes, epsilon, mu) | ||||
|     for nn in range(len(mode_numbers)): | ||||
|         eigvals[nn], e_xys[:, nn] = rayleigh_quotient_iteration(A, e_xys[:, nn]) | ||||
|  | ||||
| @ -53,9 +53,9 @@ def solve_mode( | ||||
| 
 | ||||
|     slices = tuple(slices) | ||||
| 
 | ||||
|     ''' | ||||
|     Solve the 2D problem in the specified plane | ||||
|     ''' | ||||
|     # | ||||
|     # Solve the 2D problem in the specified plane | ||||
|     # | ||||
|     # Define rotation to set z as propagation direction | ||||
|     order = numpy.roll(range(3), 2 - axis) | ||||
|     reverse_order = numpy.roll(range(3), axis - 2) | ||||
| @ -73,9 +73,10 @@ def solve_mode( | ||||
|     } | ||||
|     e_xy, wavenumber_2d = waveguide_2d.solve_mode(mode_number, **args_2d) | ||||
| 
 | ||||
|     ''' | ||||
|     Apply corrections and expand to 3D | ||||
|     ''' | ||||
|     # | ||||
|     # Apply corrections and expand to 3D | ||||
|     # | ||||
| 
 | ||||
|     # Correct wavenumber to account for numerical dispersion. | ||||
|     wavenumber = 2 / dx_prop * numpy.arcsin(wavenumber_2d * dx_prop / 2) | ||||
| 
 | ||||
|  | ||||
| @ -20,7 +20,7 @@ vcfdfield_t = NDArray[complexfloating] | ||||
| """Linearized complex vector field (single vector of length 3*X*Y*Z)""" | ||||
| 
 | ||||
| 
 | ||||
| dx_lists_t = Sequence[Sequence[NDArray[floating]]] | ||||
| dx_lists_t = Sequence[Sequence[NDArray[floating | complexfloating]]] | ||||
| """ | ||||
|  'dxes' datastructure which contains grid cell width information in the following format: | ||||
| 
 | ||||
| @ -31,7 +31,7 @@ dx_lists_t = Sequence[Sequence[NDArray[floating]]] | ||||
|    and `dy_h[0]` is the y-width of the `y=0` cells, as used when calculating dH/dy, etc. | ||||
| """ | ||||
| 
 | ||||
| dx_lists_mut = MutableSequence[MutableSequence[NDArray[floating]]] | ||||
| dx_lists_mut = MutableSequence[MutableSequence[NDArray[floating | complexfloating]]] | ||||
| """Mutable version of `dx_lists_t`""" | ||||
| 
 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user