Skip to main content
Sandbox Physics

Galaxy rotation curves

Galaxy rotation curves and mass models

A circular orbit measures the inward force it needs. Start from that motion, distinguish a sphere from a disk, then calculate component forces and the geometry-dependent fit to saved observations.

  1. L1

    What a flat rotation curve measures

    A flat galaxy rotation curve measures the inward force needed for circular motion. Learn why a stellar disk and an extended halo can share that force.

  2. L1

    Why a disk and a sphere pull differently

    Derive spherical enclosed mass from circular motion, calculate a flat-speed example with units, and test the same mass-in-radius shortcut on a thin disk.

  3. L2

    Adding stellar, gas and halo gravity

    Add signed radial forces before taking a circular speed, derive NFW and cored halo masses, and distinguish the ideal thin disk from native thick-disk inputs.

  4. L3

    When distance and inclination move a whole curve

    Derive shared geometry changes, a fixed-coordinate Gaussian likelihood and conditional profiles, then calculate why common errors do not average away.

  5. L3

    Recompute a named SPARC galaxy from saved observations

    Run saved-data fits, six starts, stellar-mass profiles and shared distance/inclination scenarios for own synthetic data and local NGC 2403 files.

  6. L4

    Reading feedback, halo and MOND comparisons

    Read a fixed2026 paper through cusp–core profiles, geometry priors and stacked weak lensing, then calculate a simple orbit after a change of potential.

Standalone scientific materials

Download the scientific ZIP · Read setup and calculation scope

The offline calculation needs Python, NumPy and SciPy. Default synthetic data are fully generated and fitted. Optional named SPARC files are fetched only on your computer; the ZIP has no original rows or browser Engine.

Individual scripts, sizes and SHA-256
  • README.md (6785 B)
    5fbf0d29e006fc06f35d2290fd8fee7d5abc2301b601814165495331f9c37a84
  • LICENSE.txt (1325 B)
    4f15facc82fd0218a74907ae83f1716569277d9c40f55b249451dd8d89191b2f
  • requirements.txt (185 B)
    359f4c650ca6dd5a2705535e32377aa86db27d8d6ebd9b47333070850b9c5980
  • source-identities.json (724 B)
    409cf4931c19dc97049f943eb005165a59f88d1842a3dd2596eaa1dabcfbd458
  • own-observation.json (9009 B)
    48cd32150a8eff02b4c3e870cb82f8df008d90c2b5aed3f9bca743506852a5e1
  • analyze.py (2750 B)
    5baed281117d3980af0f0e19e428c4163f79a97a84d1db71955ecbee7993ac3a
  • conditional_fit.py (3618 B)
    37700d28edc852a10d09f949a7270a652b61f1c9d30cc2d8d0e99d4347e92d70
  • fetch_named_source.py (5014 B)
    240b29a1c6e929895b5ead31269b495b1223be0615da62c703e2962028e6de5a
  • generate_observation.py (849 B)
    c5442424f9cecdcd81022ec31cae0b81bdc21400f06eea6dde4108c7062de743
  • observation_record.py (2693 B)
    2d791013b5c8b289e6bfdc5ba9ed408e18b9fc4334d44ba32091546ed297e752
  • physical_units.py (255 B)
    2db6448e5f4e657ef48ffd9d2a58c7487c6f7655a8033dc001327fe43192507c
  • plot.py (5734 B)
    c30e8e160f1f73f6451ebb903402a316ecba858814e6b1d5059ad31926abb4e1
  • rotation_model.py (2003 B)
    97c2c5ca56373f20996b26ef179267549ad3a341817b29666ce368029cfa96a1
  • save_native.py (655 B)
    bbf0881e28cf1dd4d13105af656cc4072e3a42a62a5f7013b9f48075b764c082
  • spherical_halos.py (1459 B)
    4678e06bf172167f3a8a3a5d199447658eb51860507405b80110807165c5ef83
  • synthetic_record.py (1538 B)
    6285cda07f2b9324806d25ecc89712eb6b94479e3caaa1f24a88c004d449a063
  • thin_disk_reference.py (1298 B)
    67ba0512e47c10d10c5b8d17f435d808812eec25f0edce296b6c80eaf72e0bc0
  • validate.py (5709 B)
    7cfbf116c5e51e9a3e1aa0ecd113a24f7a069706336ae01221de67dbf331cb6d
  • verify_analytic_limits.py (3073 B)
    68bca45f2d3d8a1f8cda804bb45c3e165025effa0221c2f45d7c1416009bae6a
  • verify_nuisance_mapping.py (4184 B)
    04b8587eb21a257b809fe930c33d43ddb2e008e4ebf2026134ee0a1d35b4015e
  • SHA256SUMS.json (3306 B)
    2fb52c937f2026d872f053e17343e55595fb3568862c20573d59123f3d897b49
  • galaxy-rotation-science-v1.zip (29081 B)
    f389268ed651be3a66ad7d87ee6760ebe39d87f6bd2498b2fb8904c9f10893a3

Sources and calculation scope

  1. Lelli, McGaugh & Schombert (2016), SPARC, AJ152,157

    Official fixed Table1 and Rotmod_LTG.zip; named NGC2403 member only. The master paper sections3.1–3.3/5.1–5.3 and original Table2 notes establish signed gas, unit stellar mass-to-light, finite thickness and error meaning. Fresh source acquisition is separate from cached replay. Original rows and measured-derived plots stay local.

  2. Navarro, Frenk & White (1997), fixed astro-ph/9611107v1

    Fixed original density law and numerical-resolution context; sections3.2–3.3 and original equations2–3 inspected. This course integrates a stated spherical density mathematically; it does not rerun a cosmological simulation or certify arbitrary physical extrapolation.

  3. Li et al., Fitting the radial acceleration relation, arXiv:1803.00022v1

    Previously inspected fixed artifact, relevant nuisance-parameter discussion/equations4–5/Figure1. Its2018 arXiv watermark and2022 internal typesetting date are recorded separately. Our coordinate-Jacobian derivation and numerical checks are own work; no175-galaxy MCMC reproduction is claimed.

  4. Spherical shell theorem foundation Lab

    Foundation reuse: spherical-shell cancellation and exterior central force. The new rotation-curve route adds saved component data, geometry and conditional fitting.

  5. Smith et al., Dark Matter and MOND successes and degeneracies, arXiv:2610.33157v1

    Full fixed26-page preprint read; Figures1/5/6/10/14 and Table3 visually inspected. Watermark23October2026; abstract says MNRAS Accepted, while the PDF retains placeholder acceptance and2025 style year. Guide follows sections2–6, fixed/varying geometry, internal BIC references and stacked-lensing conditions. No147-object MCMC or privately supplied covariance is reproduced. Original PDF/figures are excluded.

  6. Independent saved-observation rotation-curve calculation

    Own MIT Python produces synthetic observations, actual six-start fits, profiles, commonD/i scenarios, positive-density/ring-potential/Jacobian references and SVGs. Optional exact named-source acquisition and73-row conversion/fits were actually run. Default is offline; ZIP contains no App Engine, original SPARC rows, paper or measured-derived graph.

FeedbackSomething broken, confusing, or missing on this page?Tell us
What kind of feedback?

Sent with this page’s address, its Lab ID, the site language and your device type. Please leave out personal details. Feedback is kept for up to 12 months.Privacy policy