desc.compat.contract_equilibrium

desc.compat.contract_equilibrium(eq, inner_rho, contract_profiles=True, profile_num_points=None, copy=True)Source

Contract an equilibrium so that an inner flux surface is the new boundary.

Parameters:
  • eq (Equilibrium) – Equilibrium to contract.

  • inner_rho (float) – rho value (<1) to contract the Equilibrium to.

  • contract_profiles (bool) – Whether or not to contract the profiles. If True, the new profile’s value at rho=1.0 will be the same as the old profile’s value at rho=inner_rho, i.e. in physical space, the new profile is the same as the old profile. If the profile is a PowerSeriesProfile or SplineProfile, the same profile type will be returned. If not one of these two classes, a SplineProfile will be returned as other profile classes cannot be safely contracted. If False, the new profile will have the same functional form as the old profile, with no rescaling performed. This means the new equilibrium has a physically different profile than the original equilibrium.

  • profile_num_points (int) – Number of points to use when fitting or re-scaling the profiles. Defaults to eq.L_grid

  • copy (bool) – Whether or not to return a copy or to modify the original equilibrium.

Returns:

eq_inner (New Equilibrium object, contracted from the old one such that) – eq.pressure(rho=inner_rho) = eq_inner.pressure(rho=1), and eq_inner LCFS = eq’s rho=inner_rho surface. Note that this will not be in force balance, and so must be re-solved.