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 to False.

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.