gcmotion.bifurcation#
- gcmotion.bifurcation(profile: Profile, COM_values: list, **kwargs) dict#
Function that calculates all the fixed points of the GC Hamiltonian for multiple profiles with different \(P_{\zeta}\)’s or \(\mu\)’s and returns all the information in lists. Most of its arguments will be passed into
fixed_points().- Parameters:
- profileProfile
Profile object containing Tokamak information.
- COM_valueslist
List of COM values \(P_{\zeta}\)’s or \(\mu\)’s in [NU].
- Returns:
- dict
Dict where each value is a list containing the lists of all the \(\theta\)’s fixed, all the \(\psi\)’s fixed and the number of fixed points found for each \(P_{\zeta}\).
- Other Parameters:
- thetalimlist, optional
Limits of the of the \(\theta\), \(\psi\) search area with respect to the \(\theta\) variable. Defaults to [-\(\pi\), \(\pi\)].
- psilimlist, optional
Limits of the of the \(\theta\), \(\psi\) search area with respect to the \(\psi\) variable. Defaults to [0.01 , 1.8]. CΑUTION-> The limits are given normalized to \(\psi_{wall}\).
- 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, optional
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, optional
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.- random_fp_init_condbool, optional
Boolean determining weather random initial conditions are to be used instead of those provided by
fp_ic_scan(). Defaults toFalse.- fp_infobool, optional
Boolean determining weather fixed points’ information is to be is to be printed in the log. Defaults to
False.- bif_info: bool, optional
Boolean that determines weather information regarding the bifurcation process is to be is to be printed in the log. Defaults to
False.- fp_ic_infobool, optional
Boolean determing weather information on the initial condition is to be is to be printed in the log. Defaults to
False.- fp_only_confinedbool, optional
Boolean determining if the search for \(\psi_{fixed}\) will be conducted only for \(\psi\) < \(\psi_{wall}\) (confined particles). Defaults to
False.- calc_energiesbool, optional
Boolean determining weather the energy of each fixed point of each profile (each \(P_{\zeta}\)) is to be calculated, stored and returned. Defaults to
False.- energy_unitsstr, optional
String specifying the unit of the calculated fixed points’ energies. Defaults to “NUJoule”.
- energies_infobool, optional
Boolean determining weather information on the fixed points’ energies is to be is to be printed in the log. Defaults to
True.- which_COMstr, optional
Determines with regard to which COM (\(\mu\) or \(P_{\zeta}\)) will the bifurcation analysis take place. Defaults to ‘Pzeta’.