simsopt Logo
1.10

Contents

  • Overview
    • Ways to use simsopt
    • Input files
    • Optimization stages
    • Optimization
    • Modules
  • Installation
    • Requirements
      • Optional Packages
    • Virtual Environments
      • venv
      • conda
    • Installation methods
      • PyPi
      • conda
      • From source
      • Docker container
    • Post-Installation
  • Containers
    • Docker container
      • Requirements
      • Install From Docker Hub
      • Ways to use simsopt docker container
        • IPython Shell
        • Bash Shell
        • Jupyter notebook
      • Persistent containers
    • Shifter container
    • Singularity container
      • Singularity Images
      • Simsopt Specifics
      • Running the Singularity Container
        • Serial Jobs
        • Parallel Jobs
  • Defining optimization problems
    • The Optimizable class
    • Optimizable degrees of freedom
    • Dependencies
    • Function reference
    • Caching
    • Specifying least-squares objective functions
    • Custom objective functions and optimizable objects
    • Derivatives
    • Saving/Loading (serialization)
  • Geometric objects
    • Curves
    • Surfaces
    • Caching
    • Graphics
  • Magnetic fields
    • Field types
      • Coils and BiotSavart
      • ToroidalField
      • PoloidalField
      • ScalarPotentialRZMagneticField
      • CircularCoil
      • Dommaschk
      • Reiman
      • MirrorModel
      • InterpolatedField
      • Scaling and summing fields
    • Common operations
  • Magnetohydrodynamic codes
    • Profiles
    • VMEC
      • Vmec diagnostics
    • SPEC
      • Greene’s residue
  • Field line and particle tracing
    • Particle motion in cylindrical coordinates
  • MPI partitions and worker groups
  • Testing
    • Python test suite
    • Modular testing
    • Parallel Testing
    • Longer examples
    • Continuous integration
  • Source code on GitHub
  • Publications
  • Contributing to Simsopt
    • Types of Contribution
      • Submit Feedback
      • Bug Reports
      • Fix Bugs
      • Implement New Features or Algorithms
      • Improve Documentation
    • Code development Workflow

Tutorials

  • Running VMEC
    • Input parameters
      • Geometry parameters
      • Profile parameters
      • Resolution parameters
      • Free-boundary parameters
    • Running VMEC
      • Interpreting VMEC errors
  • Optimizing an equilibrium code
    • SPEC version
    • VMEC version
  • Optimizing for quasisymmetry
    • Fixed resolution
    • Dynamic resolution
    • Bmn objective
  • Eliminating magnetic islands
  • Coil optimization
    • Minimal example
    • Further coil regularization terms
    • Stochastic Optimization
    • Finite Beta Optimization
    • Finite Build Optimization
  • Single stage optimization
    • Vacuum optimization
    • Finite beta optimization
  • Permanent magnet optimization
    • Minimal permanent magnets example
    • Further options for improved optimization
  • Wireframe optimization
    • Regularized Constrained Least Squares (RCLS)
      • Basic RCLS
      • Incorporating ports to avoid
    • Greedy Stellarator Coil Optimization (GSCO)
      • Modular coils
      • Sector-confined saddle coils
      • Multi-step GSCO optimization

API Reference

  • Simsopt Python API
    • Subpackages
      • simsopt._core package
        • Submodules
        • simsopt._core.derivative module
        • simsopt._core.descriptor module
        • simsopt._core.finite_difference module
        • simsopt._core.optimizable module
        • simsopt._core.util module
      • simsopt.configs package
        • Module contents
      • simsopt.field package
        • Submodules
        • simsopt.field.biotsavart module
        • simsopt.field.boozermagneticfield module
        • simsopt.field.coil module
        • simsopt.field.coilset module
        • simsopt.field.force module
        • simsopt.field.magnetic_axis_helpers module
        • simsopt.field.magneticfield module
        • simsopt.field.magneticfieldclasses module
        • simsopt.field.mgrid module
        • simsopt.field.normal_field module
        • simsopt.field.sampling module
        • simsopt.field.selffield module
        • simsopt.field.tracing module
        • simsopt.field.wireframefield module
      • simsopt.geo package
        • Submodules
        • simsopt.geo.boozersurface module
        • simsopt.geo.config module
        • simsopt.geo.curve module
        • simsopt.geo.curvehelical module
        • simsopt.geo.curveobjectives module
        • simsopt.geo.curveperturbed module
        • simsopt.geo.curveplanarfourier module
        • simsopt.geo.curverzfourier module
        • simsopt.geo.curvexyzfourier module
        • simsopt.geo.curvexyzfouriersymmetries module
        • simsopt.geo.finitebuild module
        • simsopt.geo.framedcurve module
        • simsopt.geo.jit module
        • simsopt.geo.permanent_magnet_grid module
        • simsopt.geo.plotting module
        • simsopt.geo.ports module
        • simsopt.geo.qfmsurface module
        • simsopt.geo.strain_optimization module
        • simsopt.geo.surface module
        • simsopt.geo.surfacegarabedian module
        • simsopt.geo.surfacehenneberg module
        • simsopt.geo.surfaceobjectives module
        • simsopt.geo.surfacerzfourier module
        • simsopt.geo.surfacexyzfourier module
        • simsopt.geo.surfacexyztensorfourier module
        • simsopt.geo.wireframe_toroidal module
      • simsopt.mhd package
        • Submodules
        • simsopt.mhd.bootstrap module
        • simsopt.mhd.boozer module
        • simsopt.mhd.profiles module
        • simsopt.mhd.spec module
        • simsopt.mhd.virtual_casing module
        • simsopt.mhd.vmec module
        • simsopt.mhd.vmec_diagnostics module
      • simsopt.objectives package
        • Submodules
        • simsopt.objectives.constrained module
        • simsopt.objectives.fluxobjective module
        • simsopt.objectives.functions module
        • simsopt.objectives.least_squares module
        • simsopt.objectives.utilities module
      • simsopt.solve package
        • Submodules
        • simsopt.solve.mpi module
        • simsopt.solve.permanent_magnet_optimization module
        • simsopt.solve.serial module
        • simsopt.solve.wireframe_optimization module
      • simsopt.util package
        • Submodules
        • simsopt.util.constants module
        • simsopt.util.famus_helpers module
        • simsopt.util.fourier_interpolation module
        • simsopt.util.logger module
        • simsopt.util.mpi module
        • simsopt.util.mpi_logger module
        • simsopt.util.permanent_magnet_helper_functions module
        • simsopt.util.polarization_project module
      • simsoptpp package
        • BiotSavart
        • BoozerMagneticField
        • ChebyshevInterpolationRule
        • Coil
        • Current
        • CurrentBase
        • Curve
        • CurvePlanarFourier
        • CurveRZFourier
        • CurveXYZFourier
        • DommaschkB()
        • DommaschkdB()
        • GPMO_ArbVec()
        • GPMO_ArbVec_backtracking()
        • GPMO_backtracking()
        • GPMO_baseline()
        • GPMO_multi()
        • GSCO()
        • InterpolatedBoozerField
        • InterpolatedField
        • InterpolationRule
        • IterationStoppingCriterion
        • LevelsetStoppingCriterion
        • MagneticField
        • MaxRStoppingCriterion
        • MaxToroidalFluxStoppingCriterion
        • MaxZStoppingCriterion
        • MinRStoppingCriterion
        • MinToroidalFluxStoppingCriterion
        • MinZStoppingCriterion
        • MwPGP_algorithm()
        • RegularGridInterpolant3D
        • ReimanB()
        • ReimandB()
        • StoppingCriterion
        • Surface
        • SurfaceRZFourier
        • SurfaceXYZFourier
        • SurfaceXYZTensorFourier
        • ToroidalTransitStoppingCriterion
        • UniformInterpolationRule
        • WireframeField
        • biot_savart()
        • biot_savart_B()
        • biot_savart_vector_potential_vjp_graph()
        • biot_savart_vjp()
        • biot_savart_vjp_graph()
        • boozer_dresidual_dc()
        • boozer_residual()
        • boozer_residual_ds()
        • boozer_residual_ds2()
        • compute_kmnc_kmns()
        • compute_kmns()
        • compute_linking_number()
        • define_a_uniform_cartesian_grid_between_two_toroidal_surfaces()
        • dipole_field_A()
        • dipole_field_B()
        • dipole_field_Bn()
        • dipole_field_dA()
        • dipole_field_dB()
        • fieldline_tracing()
        • fourier_transform_even()
        • fourier_transform_odd()
        • get_phi()
        • get_pointclouds_closer_than_threshold_between_two_collections()
        • get_pointclouds_closer_than_threshold_within_collection()
        • integral_BdotN()
        • inverse_fourier_transform_even()
        • inverse_fourier_transform_odd()
        • matmult()
        • particle_fullorbit_tracing()
        • particle_guiding_center_boozer_tracing()
        • particle_guiding_center_tracing()
        • vjp()
    • Module contents
  • Simsopt C++ API
    • Biot Savart
      • Array
      • biot_savart()
      • biot_savart_B()
      • MYIF
      • biot_savart_kernel()
      • biot_savart_kernel_A()
      • std
      • biot_savart_vjp_kernel()
      • biot_savart_vjp()
      • biot_savart_vjp_graph()
      • biot_savart_vector_potential_vjp_graph()
      • biot_savart_vector_potential_vjp_kernel()
    • Boozer classes
      • BoozerMagneticField
      • Tensor1
      • Tensor2
      • Tensor3
      • Tensor4
      • BoozerMagneticField()
      • invalidate_cache()
      • set_points()
      • get_points()
      • get_points_ref()
      • K_ref()
      • K_derivs_ref()
      • dKdtheta_ref()
      • dKdzeta_ref()
      • nu_ref()
      • dnudtheta_ref()
      • dnudzeta_ref()
      • dnuds_ref()
      • nu_derivs_ref()
      • R_ref()
      • dRdtheta_ref()
      • dRdzeta_ref()
      • dRds_ref()
      • R_derivs_ref()
      • Z_ref()
      • dZdtheta_ref()
      • dZdzeta_ref()
      • dZds_ref()
      • Z_derivs_ref()
      • modB_ref()
      • dmodBdtheta_ref()
      • dmodBdzeta_ref()
      • dmodBds_ref()
      • modB_derivs_ref()
      • d2modBdtheta2_ref()
      • d2modBdzeta2_ref()
      • d2modBdthetadzeta_ref()
      • I_ref()
      • G_ref()
      • psip_ref()
      • iota_ref()
      • dGds_ref()
      • dIds_ref()
      • diotads_ref()
      • K()
      • dKdtheta()
      • dKdzeta()
      • K_derivs()
      • nu()
      • dnudtheta()
      • dnudzeta()
      • dnuds()
      • nu_derivs()
      • R()
      • Z()
      • dRdtheta()
      • dZdtheta()
      • dRdzeta()
      • dZdzeta()
      • dRds()
      • dZds()
      • R_derivs()
      • Z_derivs()
      • modB()
      • dmodBdtheta()
      • dmodBdzeta()
      • dmodBds()
      • modB_derivs()
      • d2modBdtheta2()
      • d2modBdzeta2()
      • d2modBdthetadzeta()
      • G()
      • I()
      • psip()
      • iota()
      • dGds()
      • dIds()
      • diotads()
      • psi0
      • _set_points_cb()
      • _K_impl()
      • _dKdtheta_impl()
      • _dKdzeta_impl()
      • _K_derivs_impl()
      • _nu_impl()
      • _dnudtheta_impl()
      • _dnudzeta_impl()
      • _dnuds_impl()
      • _nu_derivs_impl()
      • _R_impl()
      • _Z_impl()
      • _dRdtheta_impl()
      • _dZdtheta_impl()
      • _dRdzeta_impl()
      • _dZdzeta_impl()
      • _dRds_impl()
      • _dZds_impl()
      • _R_derivs_impl()
      • _Z_derivs_impl()
      • _modB_impl()
      • _d2modBdthetadzeta_impl()
      • _d2modBdzeta2_impl()
      • _d2modBdtheta2_impl()
      • _dmodBdtheta_impl()
      • _dmodBdzeta_impl()
      • _dmodBds_impl()
      • _modB_derivs_impl()
      • _I_impl()
      • _G_impl()
      • _dIds_impl()
      • _dGds_impl()
      • _psip_impl()
      • _iota_impl()
      • _diotads_impl()
      • _set_points()
      • points
      • data_modB
      • data_dmodBdtheta
      • data_dmodBdzeta
      • data_dmodBds
      • data_modB_derivs
      • data_G
      • data_iota
      • data_dGds
      • data_diotads
      • data_psip
      • data_I
      • data_dIds
      • data_R
      • data_Z
      • data_nu
      • data_K
      • data_dRdtheta
      • data_dRdzeta
      • data_dRds
      • data_R_derivs
      • data_dZdtheta
      • data_dZdzeta
      • data_dZds
      • data_Z_derivs
      • data_dnudtheta
      • data_dnudzeta
      • data_dnuds
      • data_nu_derivs
      • data_dKdtheta
      • data_dKdzeta
      • data_K_derivs
      • data_d2modBdtheta2
      • data_d2modBdzeta2
      • data_d2modBdthetadzeta
      • npoints
      • InterpolatedBoozerField
      • InterpolatedBoozerField()
      • InterpolatedBoozerField()
      • estimate_error_modB()
      • estimate_error_K()
      • estimate_error_R()
      • estimate_error_Z()
      • estimate_error_nu()
      • estimate_error_G()
      • estimate_error_I()
      • estimate_error_iota()
      • field
      • s_range
      • theta_range
      • zeta_range
      • angle0_range
      • rule
      • _psip_impl()
      • _G_impl()
      • _I_impl()
      • _iota_impl()
      • _dGds_impl()
      • _dIds_impl()
      • _diotads_impl()
      • _K_impl()
      • _dKdtheta_impl()
      • _dKdzeta_impl()
      • _K_derivs_impl()
      • _nu_impl()
      • _dnudtheta_impl()
      • _dnudzeta_impl()
      • _dnuds_impl()
      • _nu_derivs_impl()
      • _R_impl()
      • _dRdtheta_impl()
      • _dRdzeta_impl()
      • _dRds_impl()
      • _R_derivs_impl()
      • _Z_impl()
      • _dZdtheta_impl()
      • _dZdzeta_impl()
      • _dZds_impl()
      • _Z_derivs_impl()
      • _modB_impl()
      • _dmodBdtheta_impl()
      • _dmodBdzeta_impl()
      • _dmodBds_impl()
      • _modB_derivs_impl()
      • _d2modBdtheta2_impl()
      • _d2modBdthetadzeta_impl()
      • _d2modBdzeta2_impl()
      • exploit_fluxfunction_points()
      • exploit_symmetries_points()
      • apply_odd_symmetry()
      • apply_even_symmetry()
      • fbatch_scalar()
      • points_cyl_sym
      • interp_modB
      • interp_dmodBdtheta
      • interp_dmodBdzeta
      • interp_dmodBds
      • interp_G
      • interp_iota
      • interp_dGds
      • interp_I
      • interp_dIds
      • interp_diotads
      • interp_psip
      • interp_R
      • interp_Z
      • interp_nu
      • interp_K
      • interp_dRdtheta
      • interp_dRdzeta
      • interp_dRds
      • interp_dZdtheta
      • interp_dZdzeta
      • interp_dZds
      • interp_dnudtheta
      • interp_dnudzeta
      • interp_dnuds
      • interp_dKdtheta
      • interp_dKdzeta
      • interp_K_derivs
      • interp_nu_derivs
      • interp_R_derivs
      • interp_Z_derivs
      • interp_modB_derivs
      • interp_d2modBdtheta2
      • interp_d2modBdzeta2
      • interp_d2modBdthetadzeta
      • status_modB
      • status_dmodBdtheta
      • status_dmodBdzeta
      • status_dmodBds
      • status_G
      • status_I
      • status_iota
      • status_dGds
      • status_dIds
      • status_diotads
      • status_psip
      • status_R
      • status_Z
      • status_nu
      • status_K
      • status_dRdtheta
      • status_dRdzeta
      • status_dRds
      • status_dZdtheta
      • status_dZdzeta
      • status_dZds
      • status_dnudtheta
      • status_dnudzeta
      • status_dnuds
      • status_dKdtheta
      • status_dKdzeta
      • status_K_derivs
      • status_R_derivs
      • status_Z_derivs
      • status_nu_derivs
      • status_modB_derivs
      • status_d2modBdtheta2
      • status_d2modBdthetadzeta
      • status_d2modBdzeta2
      • extrapolate
      • stellsym
      • nfp
      • symmetries
      • fourier_transform_odd()
      • fourier_transform_even()
      • inverse_fourier_transform_odd()
      • inverse_fourier_transform_even()
      • compute_kmns()
      • compute_kmnc_kmns()
      • boozer_residual()
      • boozer_residual_ds()
      • boozer_residual_ds2()
      • boozer_residual_impl()
    • Simsopt++ Caching Mechanism
      • Cache
      • get_status()
      • get_or_create()
      • get_or_create_and_fill()
      • invalidate_cache()
      • cache
      • CachedArray
      • CachedArray()
      • data
      • status
      • CachedTensor
      • Shape
      • CachedTensor()
      • CachedTensor()
      • get_or_create()
      • get_status()
      • get_or_create_and_fill()
      • invalidate_cache()
      • T
      • data
      • status
      • dims
    • Curves and Coils
      • Coil
      • Coil()
      • curve
      • current
      • CurrentBase
      • get_value()
      • ~CurrentBase()
      • Current
      • Current()
      • set_dofs()
      • get_dofs()
      • get_value()
      • value
      • curve_vjp_contraction()
      • Curve
      • Curve()
      • Curve()
      • Curve()
      • invalidate_cache()
      • set_dofs()
      • least_squares_fit()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • gamma_impl()
      • gammadash_impl()
      • gammadashdash_impl()
      • gammadashdashdash_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash_by_dcoeff_impl()
      • dgammadashdash_by_dcoeff_impl()
      • dgammadashdashdash_by_dcoeff_impl()
      • kappa_impl()
      • dkappa_by_dcoeff_impl()
      • torsion_impl()
      • dtorsion_by_dcoeff_impl()
      • incremental_arclength_impl()
      • dincremental_arclength_by_dcoeff_impl()
      • gamma()
      • gammadash()
      • gammadashdash()
      • gammadashdashdash()
      • dgamma_by_dcoeff()
      • dgammadash_by_dcoeff()
      • dgammadashdash_by_dcoeff()
      • dgammadashdashdash_by_dcoeff()
      • dgamma_by_dcoeff_vjp_impl()
      • dgammadash_by_dcoeff_vjp_impl()
      • dgammadashdash_by_dcoeff_vjp_impl()
      • dgammadashdashdash_by_dcoeff_vjp_impl()
      • kappa()
      • dkappa_by_dcoeff()
      • torsion()
      • dtorsion_by_dcoeff()
      • incremental_arclength()
      • dincremental_arclength_by_dcoeff()
      • ~Curve()
      • numquadpoints
      • quadpoints
      • check_the_cache()
      • check_the_persistent_cache()
      • qr
      • cache
      • cache_persistent
      • CurvePlanarFourier
      • CurvePlanarFourier()
      • CurvePlanarFourier()
      • CurvePlanarFourier()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • dgamma_by_dcoeff()
      • dgammadash_by_dcoeff()
      • dgammadashdash_by_dcoeff()
      • dgammadashdashdash_by_dcoeff()
      • gamma_impl()
      • gammadash_impl()
      • gammadashdash_impl()
      • gammadashdashdash_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash_by_dcoeff_impl()
      • dgammadashdash_by_dcoeff_impl()
      • dgammadashdashdash_by_dcoeff_impl()
      • order
      • rc
      • rs
      • q
      • center
      • inv_magnitude()
      • CurveXYZFourier
      • CurveXYZFourier()
      • CurveXYZFourier()
      • CurveXYZFourier()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • dgamma_by_dcoeff()
      • dgammadash_by_dcoeff()
      • dgammadashdash_by_dcoeff()
      • dgammadashdashdash_by_dcoeff()
      • gamma_impl()
      • gammadash_impl()
      • gammadashdash_impl()
      • gammadashdashdash_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash_by_dcoeff_impl()
      • dgammadashdash_by_dcoeff_impl()
      • dgammadashdashdash_by_dcoeff_impl()
      • dofs
      • order
    • Fields
      • dipole_field_B()
      • dipole_field_A()
      • dipole_field_dB()
      • dipole_field_dA()
      • dipole_field_Bn()
      • define_a_uniform_cartesian_grid_between_two_toroidal_surfaces()
      • DommaschkB()
      • DommaschkdB()
      • PyArray
      • integral_BdotN()
      • MagneticField
      • Tensor1
      • Tensor2
      • Tensor3
      • Tensor4
      • MagneticField()
      • invalidate_cache()
      • set_points_cyl()
      • set_points_cart()
      • set_points()
      • get_points_cyl()
      • get_points_cyl_ref()
      • get_points_cart()
      • get_points_cart_ref()
      • B_ref()
      • dB_by_dX_ref()
      • d2B_by_dXdX_ref()
      • B()
      • dB_by_dX()
      • d2B_by_dXdX()
      • A_ref()
      • dA_by_dX_ref()
      • d2A_by_dXdX_ref()
      • A()
      • dA_by_dX()
      • d2A_by_dXdX()
      • B_cyl()
      • B_cyl_ref()
      • A_cyl()
      • A_cyl_ref()
      • AbsB()
      • AbsB_ref()
      • GradAbsB()
      • GradAbsB_ref()
      • GradAbsB_cyl()
      • GradAbsB_cyl_ref()
      • get_points_cyl_impl()
      • get_points_cart_impl()
      • _set_points_cb()
      • _AbsB_impl()
      • _GradAbsB_impl()
      • _B_cyl_impl()
      • _A_cyl_impl()
      • _GradAbsB_cyl_impl()
      • _B_impl()
      • _dB_by_dX_impl()
      • _d2B_by_dXdX_impl()
      • _A_impl()
      • _dA_by_dX_impl()
      • _d2A_by_dXdX_impl()
      • points_cart
      • points_cyl
      • data_B
      • data_A
      • data_GradAbsB
      • data_AbsB
      • data_Bcyl
      • data_Acyl
      • data_GradAbsBcyl
      • data_dB
      • data_dA
      • data_ddB
      • data_ddA
      • npoints
      • BiotSavart
      • BiotSavart()
      • compute()
      • compute_A()
      • invalidate_cache()
      • fieldcache_get_or_create()
      • fieldcache_get_status()
      • coils
      • _B_impl()
      • _dB_by_dX_impl()
      • _d2B_by_dXdX_impl()
      • _A_impl()
      • _dA_by_dX_impl()
      • _d2A_by_dXdX_impl()
      • fill_points()
      • field_cache
      • pointsx
      • pointsy
      • pointsz
      • InterpolatedField
      • InterpolatedField()
      • InterpolatedField()
      • estimate_error_B()
      • estimate_error_GradAbsB()
      • field
      • r_range
      • phi_range
      • z_range
      • rule
      • _B_cyl_impl()
      • _GradAbsB_cyl_impl()
      • _B_impl()
      • _GradAbsB_impl()
      • exploit_symmetries_points()
      • apply_symmetries_to_B_cyl()
      • apply_symmetries_to_GradAbsB_cyl()
      • points_cyl_sym
      • fbatch_B
      • fbatch_GradAbsB
      • interp_B
      • interp_GradAbsB
      • status_B
      • status_GradAbsB
      • extrapolate
      • stellsym
      • nfp
      • symmetries
      • WireframeField
      • WireframeField()
      • compute()
      • invalidate_cache()
      • fieldcache_get_or_create()
      • fieldcache_get_status()
      • nodes
      • segments
      • seg_signs
      • currents
      • _B_impl()
      • _dB_by_dX_impl()
      • fill_points()
      • field_cache
      • pointsx
      • pointsy
      • pointsz
      • wireframe_field_kernel()
    • Surfaces
      • surface_vjp_contraction()
      • Surface
      • Surface()
      • least_squares_fit()
      • fit_to_curve()
      • scale()
      • _extend_via_normal_for_nonuniform_phi()
      • extend_via_projected_normal()
      • invalidate_cache()
      • set_dofs()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • gamma_impl()
      • gamma_lin()
      • gammadash1_impl()
      • gammadash2_impl()
      • gammadash1dash1_impl()
      • gammadash1dash2_impl()
      • gammadash2dash2_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash1_by_dcoeff_impl()
      • dgammadash2_by_dcoeff_impl()
      • dgammadash2dash2_by_dcoeff_impl()
      • dgammadash1dash2_by_dcoeff_impl()
      • dgammadash1dash1_by_dcoeff_impl()
      • dgamma_by_dcoeff_vjp()
      • dgammadash1_by_dcoeff_vjp()
      • dgammadash2_by_dcoeff_vjp()
      • surface_curvatures_impl()
      • dsurface_curvatures_by_dcoeff_impl()
      • first_fund_form_impl()
      • dfirst_fund_form_by_dcoeff_impl()
      • second_fund_form_impl()
      • dsecond_fund_form_by_dcoeff_impl()
      • normal_impl()
      • dnormal_by_dcoeff_impl()
      • d2normal_by_dcoeffdcoeff_impl()
      • dnormal_by_dcoeff_vjp()
      • unitnormal_impl()
      • dunitnormal_by_dcoeff_impl()
      • area()
      • darea_by_dcoeff_impl()
      • d2area_by_dcoeffdcoeff_impl()
      • volume()
      • dvolume_by_dcoeff_impl()
      • d2volume_by_dcoeffdcoeff_impl()
      • gamma()
      • gammadash1()
      • gammadash2()
      • gammadash1dash1()
      • gammadash1dash2()
      • gammadash2dash2()
      • dgammadash1dash1_by_dcoeff()
      • dgammadash1dash2_by_dcoeff()
      • dgammadash2dash2_by_dcoeff()
      • surface_curvatures()
      • dsurface_curvatures_by_dcoeff()
      • first_fund_form()
      • dfirst_fund_form_by_dcoeff()
      • second_fund_form()
      • dsecond_fund_form_by_dcoeff()
      • dgamma_by_dcoeff()
      • dgammadash1_by_dcoeff()
      • dgammadash2_by_dcoeff()
      • normal()
      • dnormal_by_dcoeff()
      • d2normal_by_dcoeffdcoeff()
      • unitnormal()
      • dunitnormal_by_dcoeff()
      • darea_by_dcoeff()
      • d2area_by_dcoeffdcoeff()
      • dvolume_by_dcoeff()
      • d2volume_by_dcoeffdcoeff()
      • ~Surface()
      • numquadpoints_phi
      • numquadpoints_theta
      • quadpoints_phi
      • quadpoints_theta
      • check_the_cache()
      • check_the_persistent_cache()
      • cache
      • cache_persistent
      • qr
      • SurfaceRZFourier
      • SurfaceRZFourier()
      • allocate()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • gamma_impl()
      • gamma_lin()
      • gammadash1_impl()
      • gammadash2_impl()
      • gammadash1dash1_impl()
      • gammadash2dash2_impl()
      • gammadash1dash2_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash1_by_dcoeff_impl()
      • dgammadash2_by_dcoeff_impl()
      • dgammadash1dash1_by_dcoeff_impl()
      • dgammadash1dash2_by_dcoeff_impl()
      • dgammadash2dash2_by_dcoeff_impl()
      • dgamma_by_dcoeff_vjp()
      • dgammadash1_by_dcoeff_vjp()
      • dgammadash2_by_dcoeff_vjp()
      • rc
      • rs
      • zc
      • zs
      • nfp
      • mpol
      • ntor
      • stellsym
      • SurfaceXYZFourier
      • SurfaceXYZFourier()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • get_coeff()
      • gamma_impl()
      • gamma_lin()
      • gammadash1_impl()
      • gammadash2_impl()
      • gammadash1dash1_impl()
      • gammadash1dash2_impl()
      • gammadash2dash2_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash1_by_dcoeff_impl()
      • dgammadash2_by_dcoeff_impl()
      • dgammadash1dash1_by_dcoeff_impl()
      • dgammadash1dash2_by_dcoeff_impl()
      • dgammadash2dash2_by_dcoeff_impl()
      • xc
      • xs
      • yc
      • ys
      • zc
      • zs
      • nfp
      • mpol
      • ntor
      • stellsym
      • SurfaceXYZTensorFourier
      • SurfaceXYZTensorFourier()
      • num_dofs()
      • set_dofs_impl()
      • get_dofs()
      • gamma_impl()
      • gamma_lin()
      • gammadash1_impl()
      • gammadash2_impl()
      • gammadash2dash2_impl()
      • gammadash1dash2_impl()
      • gammadash1dash1_impl()
      • dgammadash1dash1_by_dcoeff_impl()
      • dgammadash1dash2_by_dcoeff_impl()
      • dgammadash2dash2_by_dcoeff_impl()
      • dgamma_by_dcoeff_impl()
      • dgammadash1_by_dcoeff_impl()
      • dgammadash2_by_dcoeff_impl()
      • x
      • y
      • z
      • cache_basis_fun_phi
      • cache_basis_fun_phi_dash
      • cache_basis_fun_phi_dashdash
      • cache_basis_fun_theta
      • cache_basis_fun_theta_dash
      • cache_basis_fun_theta_dashdash
      • cache_enforcer
      • cache_enforcer_dphi
      • cache_enforcer_dtheta
      • cache_enforcer_dphidphi
      • cache_enforcer_dthetadtheta
      • nfp
      • mpol
      • ntor
      • stellsym
      • clamped_dims
      • build_cache()
      • apply_bc_enforcer()
      • bc_enforcer_fun()
      • bc_enforcer_dphi_fun()
      • bc_enforcer_dphidphi_fun()
      • bc_enforcer_dtheta_fun()
      • bc_enforcer_dthetadtheta_fun()
      • basis_fun()
      • basis_fun_dphi()
      • basis_fun_dphidphi()
      • basis_fun_dtheta()
      • basis_fun_dthetadphi()
      • basis_fun_dthetadtheta()
      • basis_fun()
      • basis_fun_dphi()
      • basis_fun_dtheta()
      • basis_fun_dthetadtheta()
      • basis_fun_dphidphi()
      • basis_fun_dthetadphi()
      • basis_fun_phi()
      • basis_fun_phi_dash()
      • basis_fun_phi_dashdash()
      • basis_fun_theta()
      • basis_fun_theta_dash()
      • basis_fun_theta_dashdash()
      • skip()
      • get_coeff()
      • ReimanB()
      • ReimandB()
    • Optimization
      • projection_L2_balls()
      • phi_MwPGP()
      • beta_tilde()
      • g_reduced_gradient()
      • g_reduced_projected_gradient()
      • find_max_alphaf()
      • print_MwPGP()
      • MwPGP_algorithm()
      • GPMO_backtracking()
      • GPMO_multi()
      • GPMO_ArbVec()
      • GPMO_ArbVec_backtracking()
      • GPMO_baseline()
      • print_GPMO()
      • connectivity_matrix()
      • initialize_GPMO_ArbVec()
      • IntArray
      • GSCO()
      • record_iter()
      • print_iter()
      • compute_f_S()
      • check_eligibility()
    • Utilities
      • Vec
      • RangeTriplet
      • linspace()
      • InterpolationRule
      • InterpolationRule()
      • basis_fun()
      • nodes
      • scalings
      • degree
      • build_scalings()
      • RegularGridInterpolant3D
      • RegularGridInterpolant3D()
      • RegularGridInterpolant3D()
      • interpolate_batch()
      • evaluate()
      • evaluate_batch()
      • estimate_error()
      • idx_dof()
      • idx_cell()
      • idx_mesh()
      • idx_dof_local()
      • locate_unsafe()
      • evaluate_inplace()
      • evaluate_local()
      • nx
      • ny
      • nz
      • hx
      • hy
      • hz
      • xmin
      • ymin
      • zmin
      • xmax
      • ymax
      • zmax
      • value_size
      • rule
      • out_of_bounds_ok
      • xmesh
      • ymesh
      • zmesh
      • xdof
      • ydof
      • zdof
      • xdoftensor_reduced
      • ydoftensor_reduced
      • zdoftensor_reduced
      • vals
      • all_local_vals_map
      • skip_cell
      • reduced_to_full_map
      • full_to_reduced_map
      • cells_to_skip
      • cells_to_keep
      • dofs_to_skip
      • dofs_to_keep
      • local_vals_size
      • pkxs
      • pkys
      • pkzs
      • padded_value_size
      • simdcount
      • UniformInterpolationRule
      • UniformInterpolationRule()
      • nodes
      • scalings
      • degree
      • build_scalings()
      • ChebyshevInterpolationRule
      • ChebyshevInterpolationRule()
      • nodes
      • scalings
      • degree
      • build_scalings()
      • _USE_MATH_DEFINES
      • _EPS_
      • AlignedPaddedVec
      • rsqrt()
      • AlignedPaddedAllocator
      • value_type
      • AlignedPaddedAllocator()
      • AlignedPaddedAllocator()
      • AlignedPaddedAllocator()
      • allocate()
      • deallocate()
      • ALIGNMENT
      • AlignedPaddedAllocator::rebind
      • other
      • Vec3d
      • inner()
      • cross()
      • norm()
      • cross()
      • cross()
      • inner()
      • inner()
      • inner()
      • inner()
      • cross()
      • cross()
      • cross()
      • cross()
      • cross()
      • normsq()
      • ALIGN_BYTES
      • Vec3dStd
      • Vec3dStd()
      • Vec3dStd()
      • Vec3dStd()
      • Vec3dStd()
      • store_aligned()
      • operator[]()
      • operator+=()
      • operator-=()
      • operator*=()
      • x
      • y
      • z
      • operator+
      • operator+
      • operator-
      • operator-
      • operator*
      • operator*
      • get_phi()
      • particle_guiding_center_boozer_tracing()
      • particle_guiding_center_tracing()
      • particle_fullorbit_tracing()
      • fieldline_tracing()
      • StoppingCriterion
      • operator()()
      • ~StoppingCriterion()
      • ToroidalTransitStoppingCriterion
      • ToroidalTransitStoppingCriterion()
      • operator()()
      • max_transits
      • phi_last
      • phi_init
      • flux
      • MaxToroidalFluxStoppingCriterion
      • MaxToroidalFluxStoppingCriterion()
      • operator()()
      • max_s
      • MinToroidalFluxStoppingCriterion
      • MinToroidalFluxStoppingCriterion()
      • operator()()
      • min_s
      • MinZStoppingCriterion
      • MinZStoppingCriterion()
      • operator()()
      • crit_z
      • MaxZStoppingCriterion
      • MaxZStoppingCriterion()
      • operator()()
      • crit_z
      • MinRStoppingCriterion
      • MinRStoppingCriterion()
      • operator()()
      • crit_r
      • MaxRStoppingCriterion
      • MaxRStoppingCriterion()
      • operator()()
      • crit_r
      • IterationStoppingCriterion
      • IterationStoppingCriterion()
      • operator()()
      • max_iter
      • LevelsetStoppingCriterion
      • LevelsetStoppingCriterion()
      • operator()()
      • levelset

Developer Reference

  • Using the Derivative class
  • Simsopt C++ backend
    • pybind11
    • xtensor and xtensor-python
    • OpenMP
    • SIMD
    • CMake
simsopt
  • Search


© Copyright 2020, Simsopt Development Team.

Built with Sphinx using a theme provided by Read the Docs.