scotty.fun_evolution module#
Functions for Scotty to evolve the beam or ray. I’ve separated this from scotty.fun_general to prevent circular importing
- scotty.fun_evolution.beam_evolution_fun(tau, beam_parameters, K_zeta, hamiltonian)#
- Parameters:
tau (float) – Parameter along the ray.
beam_parameters (complex128) – q_R, q_zeta, q_Z, K_R, K_Z, Psi_RR, Psi_zetazeta, Psi_ZZ, Psi_Rzeta, Psi_RZ, Psi_zetaZ.
hamiltonian (Hamiltonian)
- Returns:
d (beam_parameters) / d tau
- Return type:
d_beam_parameters_d_tau
- scotty.fun_evolution.pack_beam_parameters(q_R, q_zeta, q_Z, K_R, K_Z, Psi)#
Pack coordinates and Psi matrix into single flat array for
- Parameters:
- Return type:
- scotty.fun_evolution.unpack_beam_parameters(beam_parameters)#
Unpack the flat solver state vector into separate coordinate variables and Psi matrix
- Parameters:
- Return type:
Tuple[float | ndarray[tuple[int, …], dtype[float64]], float | ndarray[tuple[int, …], dtype[float64]], float | ndarray[tuple[int, …], dtype[float64]], float | ndarray[tuple[int, …], dtype[float64]], float | ndarray[tuple[int, …], dtype[float64]], ndarray[tuple[int, …], dtype[float64]]]