gcmotion.fixed_points#
- gcmotion.fixed_points(profile: Profile, **kwargs) dict#
Function that finds the fixed points of the GC Hamiltonian by numerically setting the time derivatives of the \(\theta\) and \(\psi\) variables equal to zero (numerical solvers) for a number of different initial conditions. White’s equations are used.
- Parameters:
- profileProfile
Profile object that contains Tokamak and Particle information.
- Returns:
- Dict that contains the number of the distinct fixed points found, the
- distinct fixed points, as well as the initial conditions used to locate
- these fixed points. \(\psi\) is calculated in “NUMagnetic_flux” units.
- Other Parameters:
- methodstr, optional
String that indicates which method will be used to find the system’s fixed points in
single_fixed_point(). Can either be “fsolve” (deterministic) or “differential evolution” (stochastic). Defaults to “fsolve”.- dist_tolfloat
Tolerance below which two fixed points are not considered distinct. The differences between both \(\theta\) and \(\psi\) of the fixed points must be below this tolerance for the fixed points to be considered the same. Defaults to 1e-3.
- fp_ic_scan_tolfloat
Tolerance below which the sum of the squares of the time derivatives of the \(\theta\) and \(\psi\) variables is considered zero. It is passed into
fp_ic_scan(). Defaults to 5 * 1e-8.- ic_theta_grid_densityint, optional
Density of the \(\theta\), \(\psi\) 2D grid to be scanned for initial conditiond (fixed points candidates) with respect to the \(\theta\) variable. It is passed into
fp_ic_scan()Defaults to 400.- ic_psi_grid_densityint, optional
Density of the \(\theta\), \(\psi\) 2D grid to be scanned for initial conditiond (fixed points candidates) with respect to the \(\psi\) variable. It is passed into
fp_ic_scan()Defaults to 400.- psi_dot_scaling_factorfloat,optional
Scaling factor that is used in the sum of squares of the time derivatives of the \(\theta\) and \(\psi\) values like so –> \(\dot{\theta}^2\) + (psi_dot_scaling_factor:math:dot{psi})^2 because physiacally the time derivative of \(\psi\) is quite smaller than that of \(\theta\). Defaults to 70.
- random_init_condbool, optional
Boolean determining weather random initial conditions are to be used instead of those provided by
fp_ic_scan(). Defaults toFalse.- infobool, optional
Boolean determining weather fixed points’ information is to be is to be printed in the log. Defaults to
False.- ic_infobool, optional
Boolean determing weather information on the initial condition is to be is to be printed in the log. Defaults to
False.- only_confinedbool, optional
Boolean determining if the search for \(\psi_{fixed}\) will be conducted only for \(\psi\) < \(\psi_{wall}\) (confined particles). Defaults to
False.