Units and measurements important detailed points to write notebook

Asking for Preferences
Here are all the important, detailed points on Units and Measurements for JEE/NEET preparation - notebook-ready format:

UNITS AND MEASUREMENTS

(JEE / NEET - Complete Notebook Notes)


1. PHYSICAL QUANTITIES

  • Any quantity that can be measured is called a physical quantity.
  • Divided into two types:
    • Fundamental (Base) quantities - cannot be expressed in terms of other quantities
    • Derived quantities - expressed in terms of fundamental quantities

2. SI SYSTEM - 7 FUNDAMENTAL UNITS

QuantitySI UnitSymbol
Lengthmetrem
Masskilogramkg
Timeseconds
Electric currentampereA
TemperaturekelvinK
Amount of substancemolemol
Luminous intensitycandelacd
Supplementary units (treated separately):
  • Plane angle → radian (rad)
  • Solid angle → steradian (sr)

3. SYSTEMS OF UNITS

SystemLengthMassTime
CGScentimetregramsecond
MKSmetrekilogramsecond
FPSfootpoundsecond
SImetrekilogramsecond

4. DIMENSIONS

  • Dimensions express how a physical quantity depends on fundamental quantities.
  • Written as: [M^a L^b T^c A^d K^e mol^f cd^g]

Key Dimensional Formulas (Most Asked)

QuantityDimensional FormulaSI Unit
Velocity[M⁰ L¹ T⁻¹]m/s
Acceleration[M⁰ L¹ T⁻²]m/s²
Force[M¹ L¹ T⁻²]N
Work / Energy[M¹ L² T⁻²]J
Power[M¹ L² T⁻³]W
Pressure / Stress[M¹ L⁻¹ T⁻²]Pa
Momentum[M¹ L¹ T⁻¹]kg·m/s
Impulse[M¹ L¹ T⁻¹]N·s
Angular momentum[M¹ L² T⁻¹]kg·m²/s
Torque[M¹ L² T⁻²]N·m
Frequency[M⁰ L⁰ T⁻¹]Hz
Angular velocity[M⁰ L⁰ T⁻¹]rad/s
Surface tension[M¹ L⁰ T⁻²]N/m
Viscosity (η)[M¹ L⁻¹ T⁻¹]Pa·s
Gravitational constant (G)[M⁻¹ L³ T⁻²]N·m²/kg²
Planck's constant (h)[M¹ L² T⁻¹]J·s
Boltzmann constant (k)[M¹ L² T⁻² K⁻¹]J/K
Universal gas constant (R)[M¹ L² T⁻² K⁻¹ mol⁻¹]J/mol·K
Electric charge[A¹ T¹]C
Electric field[M¹ L¹ T⁻³ A⁻¹]V/m
Capacitance[M⁻¹ L⁻² T⁴ A²]F
Resistance[M¹ L² T⁻³ A⁻²]Ω
Magnetic field (B)[M¹ L⁰ T⁻² A⁻¹]T
Inductance (L)[M¹ L² T⁻² A⁻²]H
Permittivity (ε₀)[M⁻¹ L⁻³ T⁴ A²]C²/N·m²
Permeability (μ₀)[M¹ L¹ T⁻² A⁻²]T·m/A

Dimensionless Quantities

  • Angle (radian), strain, refractive index, relative density, Reynolds number, Poisson's ratio, all trigonometric functions, exponential functions.

Quantities with Same Dimensions

  • Work = Energy = Torque = Heat = [M L² T⁻²]
  • Force = Thrust = Weight = [M L T⁻²]
  • Frequency = Angular velocity = [T⁻¹]
  • Momentum = Impulse = [M L T⁻¹]
  • Pressure = Stress = Modulus of elasticity = Energy density = [M L⁻¹ T⁻²]

5. APPLICATIONS OF DIMENSIONAL ANALYSIS

(a) Checking Correctness of an Equation

  • Principle of Homogeneity: Dimensions on both sides of an equation must be equal.
  • Example: v = u + at → [LT⁻¹] = [LT⁻¹] + [LT⁻²][T] ✓

(b) Deriving Relations Between Physical Quantities

  • Assume the relation as a power law and compare dimensions on both sides.
  • Example: Time period of a pendulum → T ∝ lᵃ gᵇ
    • [T¹] = [L]ᵃ [LT⁻²]ᵇ → a = 1/2, b = -1/2
    • So T = 2π√(l/g)

(c) Unit Conversion Formula

$$n_1 u_1 = n_2 u_2$$ $$n_2 = n_1 \left[\frac{M_1}{M_2}\right]^a \left[\frac{L_1}{L_2}\right]^b \left[\frac{T_1}{T_2}\right]^c$$

Limitations of Dimensional Analysis

  1. Cannot find dimensionless constants (like 2π, 1/2, etc.)
  2. Cannot be used if a quantity depends on more than 3 fundamental quantities (underdetermined)
  3. Cannot distinguish between quantities having same dimensions (e.g., work and torque)
  4. Cannot be used for exponential, logarithmic, or trigonometric equations

6. SIGNIFICANT FIGURES

Rules for Counting Significant Figures

  1. All non-zero digits are significant. (e.g., 1234 → 4 sig figs)
  2. Zeros between non-zero digits are significant. (e.g., 1004 → 4 sig figs)
  3. Leading zeros (before the first non-zero digit) are NOT significant. (e.g., 0.0042 → 2 sig figs)
  4. Trailing zeros after a decimal point ARE significant. (e.g., 2.400 → 4 sig figs)
  5. Trailing zeros in a whole number without decimal are NOT significant. (e.g., 2400 → 2 sig figs; but 2400. → 4 sig figs)
  6. All digits in scientific notation are significant. (e.g., 2.40 × 10³ → 3 sig figs)

Rules for Arithmetic with Sig Figs

  • Addition/Subtraction: Result has the same number of decimal places as the quantity with the fewest decimal places.
    • e.g., 3.14 + 2.1 = 5.2 (not 5.24)
  • Multiplication/Division: Result has the same number of significant figures as the quantity with fewest sig figs.
    • e.g., 3.14 × 2.1 = 6.6 (2 sig figs)

7. ERRORS IN MEASUREMENT

Types of Errors

TypeDescription
Systematic errorSame sign, due to faulty instrument, wrong technique, personal bias. Reproducible.
Random errorIrregular, due to unpredictable fluctuations. Reduced by taking multiple readings.
Gross errorHuman mistakes (reading wrong, noting wrong).
Least count errorDue to minimum measurable value of instrument.
Zero errorWhen instrument does not read zero at zero input.

Key Error Formulas

Absolute Error: $$\Delta a = |a_{true} - a_{measured}|$$
Mean Absolute Error: $$\overline{\Delta a} = \frac{\sum_{i=1}^{n} |\Delta a_i|}{n}$$
Relative (Fractional) Error: $$\frac{\overline{\Delta a}}{\bar{a}}$$
Percentage Error: $$\frac{\overline{\Delta a}}{\bar{a}} \times 100%$$

Error Propagation Rules ⭐ (Very Important for JEE/NEET)

Let Z = f(A, B):
OperationError Rule
Z = A + B or Z = A - BΔZ = ΔA + ΔB (absolute errors add)
Z = A × B or Z = A/BΔZ/Z = ΔA/A + ΔB/B (relative errors add)
Z = AⁿΔZ/Z = n · (ΔA/A)
Z = AᵃBᵇCᶜΔZ/Z = a(ΔA/A) + b(ΔB/B) + c(ΔC/C)
Key point: In subtraction, relative error can be very large if A ≈ B. This is why measuring small differences of large quantities introduces high relative error.

8. LEAST COUNT OF INSTRUMENTS

InstrumentLeast CountRange
Metre scale1 mm = 0.1 cm~1 m
Vernier callipers0.1 mm = 0.01 cm~15 cm
Screw gauge (micrometer)0.01 mm = 0.001 cm~25 mm
Stop watch (mechanical)0.1 s-
Stop watch (digital)0.01 s-

Vernier Callipers

  • Least count (LC) = 1 MSD - 1 VSD
  • Standard: LC = 0.1 mm
  • Reading = Main scale reading + (VSD × LC)
  • Zero error: If 0 of vernier is to the right of 0 of main scale → positive zero error (subtract)
  • If 0 of vernier is to the left → negative zero error (add)

Screw Gauge

  • Pitch = distance moved per rotation (usually 1 mm)
  • LC = Pitch / Total circular scale divisions = 1/100 = 0.01 mm
  • Reading = Main scale reading + (circular scale reading × LC)
  • Backlash error: Due to loose screw; always rotate in one direction only

9. ORDERS OF MAGNITUDE AND PREFIXES

Common SI Prefixes

PrefixSymbolPower
teraT10¹²
gigaG10⁹
megaM10⁶
kilok10³
hectoh10²
decada10¹
decid10⁻¹
centic10⁻²
millim10⁻³
microμ10⁻⁶
nanon10⁻⁹
picop10⁻¹²
femtof10⁻¹⁵

10. MEASUREMENT OF LARGE AND SMALL DISTANCES

Large Distances

  • Parallax method: Used for measuring distances of stars and planets.
    • Parallax angle (θ) = b/D, where b = baseline, D = distance
  • 1 Astronomical Unit (AU) = 1.496 × 10¹¹ m (avg Earth-Sun distance)
  • 1 Light year (ly) = 9.46 × 10¹⁵ m
  • 1 Parsec = 3.08 × 10¹⁶ m = 3.26 ly (1 AU subtends 1 arc-second)

Small Distances

  • 1 Angstrom (Å) = 10⁻¹⁰ m (atomic size)
  • 1 Fermi (fm) = 10⁻¹⁵ m (nuclear size)
  • 1 Nanometre (nm) = 10⁻⁹ m

11. ROUNDING OFF NUMBERS

  1. If the digit to be dropped is < 5 → leave the preceding digit unchanged.
  2. If the digit to be dropped is > 5 → increase the preceding digit by 1.
  3. If the digit to be dropped is exactly 5:
    • Preceded by odd digit → round up
    • Preceded by even digit → leave unchanged (banker's rounding)

12. QUICK MEMORY TRICKS

  • "All heroes need cool blue capes" → Ampere, Henry, Newton, Coulomb, Becquerel, Candela (SI units named after scientists)
  • Dimensions of h (Planck's constant) = Dimensions of angular momentum = [ML²T⁻¹]
  • Dimensions of G × M = [L³T⁻²] (useful in gravitation problems)
  • LC formula: Vernier LC = 1 MSD - 1 VSD
  • For error in power: multiply exponent by relative error

13. COMMONLY ASKED JEE/NEET POINTS

  1. Parsec is the largest unit of distance listed in most problems.
  2. Shake = 10⁻⁸ s (unit of time, rarely asked but MCQ trap).
  3. Barn = 10⁻²⁸ m² (unit of nuclear cross-section).
  4. Curie = 3.7 × 10¹⁰ disintegrations/s (radioactivity unit, not SI).
  5. Radian and steradian are dimensionless supplementary units.
  6. The number of significant figures is not changed by choice of unit.
  7. In the formula ΔZ/Z = a·ΔA/A + b·ΔB/B, use the magnitude of powers, even for division.
  8. Pressure × Volume = Work → same dimensions as energy.
  9. Surface energy = Surface tension × Area → confirms [ML²T⁻²] = [MT⁻²][L²] ✓
  10. Latent heat has dimensions [L²T⁻²], same as specific heat capacity? No - specific heat = [L²T⁻²K⁻¹]. Latent heat = [L²T⁻²] (no temperature dependence).

These notes cover every concept tested in JEE Mains, JEE Advanced, and NEET. Focus especially on dimensional formulas, error propagation rules, and significant figures - these three topics together account for nearly all MCQs from this chapter.

Create a quick reference PDF with all dimensional formulas

Reading File
Running Command

mkdir -p /tmp/workspace/dimensional-formulas && ls /tmp/workspace/dimensional-formulas/

Writing File

~/dimensional-formulas/generate_pdf.py

from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.lib.units import mm
from reportlab.platypus import (
    SimpleDocTemplate, Table, TableStyle, Paragraph,
    Spacer, HRFlowable, KeepTogether
)
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT
from reportlab.platypus import PageBreak

OUTPUT = "/tmp/workspace/dimensional-formulas/Dimensional_Formulas_Quick_Reference.pdf"

doc = SimpleDocTemplate(
    OUTPUT,
    pagesize=A4,
    rightMargin=15*mm,
    leftMargin=15*mm,
    topMargin=15*mm,
    bottomMargin=15*mm,
    title="Dimensional Formulas Quick Reference - JEE/NEET",
    author="Orris Study Aid"
)

styles = getSampleStyleSheet()

# Custom styles
title_style = ParagraphStyle(
    'CustomTitle',
    parent=styles['Title'],
    fontSize=20,
    textColor=colors.HexColor('#1a237e'),
    spaceAfter=4,
    fontName='Helvetica-Bold',
    alignment=TA_CENTER,
)
subtitle_style = ParagraphStyle(
    'Subtitle',
    parent=styles['Normal'],
    fontSize=10,
    textColor=colors.HexColor('#5c6bc0'),
    spaceAfter=10,
    fontName='Helvetica',
    alignment=TA_CENTER,
)
section_style = ParagraphStyle(
    'Section',
    parent=styles['Normal'],
    fontSize=11,
    textColor=colors.white,
    fontName='Helvetica-Bold',
    alignment=TA_LEFT,
    leftIndent=4,
)
note_style = ParagraphStyle(
    'Note',
    parent=styles['Normal'],
    fontSize=7.5,
    textColor=colors.HexColor('#b71c1c'),
    fontName='Helvetica-BoldOblique',
    spaceAfter=2,
    alignment=TA_LEFT,
)
footer_style = ParagraphStyle(
    'Footer',
    parent=styles['Normal'],
    fontSize=7,
    textColor=colors.grey,
    alignment=TA_CENTER,
)

# Color palette
HDR_BLUE   = colors.HexColor('#283593')
ROW_LIGHT  = colors.HexColor('#e8eaf6')
ROW_WHITE  = colors.white
HDR_GREEN  = colors.HexColor('#1b5e20')
ROW_GREEN  = colors.HexColor('#e8f5e9')
HDR_PURPLE = colors.HexColor('#4a148c')
ROW_PURPLE = colors.HexColor('#f3e5f5')
HDR_TEAL   = colors.HexColor('#004d40')
ROW_TEAL   = colors.HexColor('#e0f2f1')
HDR_ORANGE = colors.HexColor('#bf360c')
ROW_ORANGE = colors.HexColor('#fbe9e7')
HDR_BROWN  = colors.HexColor('#3e2723')
ROW_BROWN  = colors.HexColor('#efebe9')
ACCENT_RED = colors.HexColor('#b71c1c')

def section_header(text, bg_color):
    data = [[Paragraph(text, section_style)]]
    t = Table(data, colWidths=[180*mm])
    t.setStyle(TableStyle([
        ('BACKGROUND', (0,0), (-1,-1), bg_color),
        ('TOPPADDING', (0,0), (-1,-1), 5),
        ('BOTTOMPADDING', (0,0), (-1,-1), 5),
        ('LEFTPADDING', (0,0), (-1,-1), 8),
    ]))
    return t

def make_table(col_widths, header_row, data_rows, hdr_color, row_colors=(ROW_LIGHT, ROW_WHITE)):
    all_rows = [header_row] + data_rows
    t = Table(all_rows, colWidths=col_widths, repeatRows=1)
    style_cmds = [
        ('BACKGROUND', (0, 0), (-1, 0), hdr_color),
        ('TEXTCOLOR', (0, 0), (-1, 0), colors.white),
        ('FONTNAME', (0, 0), (-1, 0), 'Helvetica-Bold'),
        ('FONTSIZE', (0, 0), (-1, 0), 8.5),
        ('ALIGN', (0, 0), (-1, -1), 'LEFT'),
        ('VALIGN', (0, 0), (-1, -1), 'MIDDLE'),
        ('FONTNAME', (0, 1), (-1, -1), 'Helvetica'),
        ('FONTSIZE', (0, 1), (-1, -1), 8),
        ('TOPPADDING', (0, 0), (-1, -1), 4),
        ('BOTTOMPADDING', (0, 0), (-1, -1), 4),
        ('LEFTPADDING', (0, 0), (-1, -1), 6),
        ('RIGHTPADDING', (0, 0), (-1, -1), 4),
        ('GRID', (0, 0), (-1, -1), 0.4, colors.HexColor('#bdbdbd')),
        ('ROWBACKGROUNDS', (0, 1), (-1, -1), row_colors),
    ]
    t.setStyle(TableStyle(style_cmds))
    return t

def bold(text):
    return Paragraph(f'<b>{text}</b>', ParagraphStyle('b', fontName='Helvetica-Bold', fontSize=8))

def cell(text, color=None):
    style = ParagraphStyle('c', fontName='Helvetica', fontSize=8,
                           textColor=color or colors.black)
    return Paragraph(text, style)

def red(text):
    return Paragraph(f'<font color="#b71c1c"><b>{text}</b></font>',
                     ParagraphStyle('r', fontName='Helvetica-Bold', fontSize=8))

# ── CONTENT ──────────────────────────────────────────────────────────────────
story = []

# Title block
story.append(Paragraph("Dimensional Formulas", title_style))
story.append(Paragraph("Quick Reference Card  •  JEE / NEET  •  Physics Chapter 1", subtitle_style))
story.append(HRFlowable(width="100%", thickness=2, color=HDR_BLUE, spaceAfter=6))

# ── SECTION 1: Mechanics ─────────────────────────────────────────────────────
story.append(section_header("1.  Mechanics", HDR_BLUE))
story.append(Spacer(1, 3))

w1 = [62*mm, 52*mm, 38*mm, 28*mm]
mech_hdr = [bold('Quantity'), bold('Dimensional Formula'), bold('SI Unit'), bold('Notes')]
mech_data = [
    ['Distance / Length',      '[L]',               'm',           ''],
    ['Area',                   '[L²]',              'm²',          ''],
    ['Volume',                 '[L³]',              'm³',          ''],
    ['Velocity / Speed',       '[LT⁻¹]',            'm/s',         ''],
    ['Acceleration',           '[LT⁻²]',            'm/s²',        ''],
    ['Angular velocity (ω)',   '[T⁻¹]',             'rad/s',       '= Frequency'],
    ['Angular acceleration',   '[T⁻²]',             'rad/s²',      ''],
    ['Mass',                   '[M]',               'kg',          ''],
    ['Linear Momentum (p)',    '[MLT⁻¹]',           'kg·m/s',      '= Impulse'],
    ['Impulse',                '[MLT⁻¹]',           'N·s',         '= Momentum'],
    ['Force / Weight',         '[MLT⁻²]',           'N',           ''],
    ['Thrust / Tension',       '[MLT⁻²]',           'N',           '= Force'],
    ['Work / Energy / Heat',   '[ML²T⁻²]',          'J',           '★ Same dims'],
    ['Kinetic Energy',         '[ML²T⁻²]',          'J',           ''],
    ['Potential Energy',       '[ML²T⁻²]',          'J',           ''],
    ['Power',                  '[ML²T⁻³]',          'W',           ''],
    ['Torque / Moment of Force','[ML²T⁻²]',         'N·m',         '= Energy dims'],
    ['Angular Momentum (L)',   '[ML²T⁻¹]',          'kg·m²/s',     '= Planck const'],
    ['Moment of Inertia (I)',  '[ML²]',             'kg·m²',       ''],
    ['Pressure / Stress',      '[ML⁻¹T⁻²]',        'Pa',          '★ Same dims'],
    ['Modulus of Elasticity',  '[ML⁻¹T⁻²]',        'Pa',          '= Pressure'],
    ['Energy Density',         '[ML⁻¹T⁻²]',        'J/m³',        '= Pressure'],
    ['Surface Tension',        '[MT⁻²]',            'N/m',         ''],
    ['Surface Energy',         '[MT⁻²]',            'J/m²',        '= Surface tension'],
    ['Viscosity (η)',           '[ML⁻¹T⁻¹]',        'Pa·s',        ''],
    ['Coefficient of friction','[M⁰L⁰T⁰]',         'dimensionless',''],
    ['Gravitational constant G','[M⁻¹L³T⁻²]',      'N·m²/kg²',   '★'],
    ['Gravitational PE constant (GM)', '[L³T⁻²]',  'm³/s²',       ''],
    ['Strain / Refractive index','[M⁰L⁰T⁰]',       'dimensionless',''],
]

story.append(make_table(w1, mech_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in mech_data],
    HDR_BLUE, (ROW_LIGHT, ROW_WHITE)))

story.append(Spacer(1, 6))

# ── SECTION 2: Thermodynamics ─────────────────────────────────────────────────
story.append(section_header("2.  Thermodynamics", HDR_GREEN))
story.append(Spacer(1, 3))

thermo_data = [
    ['Temperature',               '[K]  (or [θ])',       'K',          ''],
    ['Heat / Internal Energy',    '[ML²T⁻²]',            'J',          '= Energy'],
    ['Specific Heat Capacity (c)','[L²T⁻²K⁻¹]',         'J/(kg·K)',   ''],
    ['Latent Heat (L)',            '[L²T⁻²]',            'J/kg',       'No temperature'],
    ['Thermal Conductivity (k)',  '[MLT⁻³K⁻¹]',         'W/(m·K)',    ''],
    ['Entropy (S)',                '[ML²T⁻²K⁻¹]',        'J/K',        '= R, kB dims'],
    ['Boltzmann constant (kB)',   '[ML²T⁻²K⁻¹]',        'J/K',        '= Entropy'],
    ['Gas constant (R)',           '[ML²T⁻²K⁻¹mol⁻¹]',  'J/(mol·K)',  ''],
    ['Stefan\'s constant (σ)',    '[MT⁻³K⁻⁴]',          'W/(m²·K⁴)', ''],
    ['Wien\'s constant (b)',       '[LK]',               'm·K',        ''],
    ['Coefficient of expansion',  '[K⁻¹]',              'per K',      ''],
]
story.append(make_table(w1, mech_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in thermo_data],
    HDR_GREEN, (ROW_GREEN, ROW_WHITE)))

story.append(Spacer(1, 6))

# ── SECTION 3: Waves & Optics ─────────────────────────────────────────────────
story.append(section_header("3.  Waves & Optics", HDR_PURPLE))
story.append(Spacer(1, 3))

wave_data = [
    ['Frequency (f)',              '[T⁻¹]',       'Hz',           '= Angular velocity'],
    ['Wavelength (λ)',             '[L]',          'm',            ''],
    ['Wave number (k = 2π/λ)',     '[L⁻¹]',       'rad/m',        ''],
    ['Amplitude',                  '[L]',          'm',            ''],
    ['Intensity of wave',          '[MT⁻³]',       'W/m²',         ''],
    ['Velocity of light (c)',      '[LT⁻¹]',       'm/s',          ''],
    ['Refractive index (n)',       '[M⁰L⁰T⁰]',    'dimensionless',''],
    ['Power of lens',              '[L⁻¹]',        'dioptre (D)',  ''],
    ['Sound intensity level',      '[M⁰L⁰T⁰]',    'dimensionless','(decibel ratio)'],
]
story.append(make_table(w1, mech_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in wave_data],
    HDR_PURPLE, (ROW_PURPLE, ROW_WHITE)))

story.append(Spacer(1, 6))

# ── SECTION 4: Electromagnetism ──────────────────────────────────────────────
story.append(section_header("4.  Electromagnetism", HDR_TEAL))
story.append(Spacer(1, 3))

em_data = [
    ['Electric charge (Q)',         '[AT]',              'C',            ''],
    ['Electric current (I)',        '[A]',               'A',            'Fundamental'],
    ['Electric potential (V)',      '[ML²T⁻³A⁻¹]',     'V',            ''],
    ['EMF',                         '[ML²T⁻³A⁻¹]',     'V',            '= Potential'],
    ['Electric field (E)',          '[MLT⁻³A⁻¹]',      'V/m or N/C',  ''],
    ['Electric flux (Φ_E)',         '[ML³T⁻³A⁻¹]',     'V·m',          ''],
    ['Resistance (R)',              '[ML²T⁻³A⁻²]',     'Ω',            ''],
    ['Resistivity (ρ)',             '[ML³T⁻³A⁻²]',     'Ω·m',          ''],
    ['Conductance (G)',             '[M⁻¹L⁻²T³A²]',    'S (siemens)',  ''],
    ['Capacitance (C)',             '[M⁻¹L⁻²T⁴A²]',    'F',            ''],
    ['Permittivity (ε₀)',           '[M⁻¹L⁻³T⁴A²]',    'C²/N·m²',     ''],
    ['Electric dipole moment (p)',  '[ALT]',             'C·m',          ''],
    ['Magnetic field (B)',          '[MT⁻²A⁻¹]',        'T (tesla)',    ''],
    ['Magnetic flux (Φ_B)',        '[ML²T⁻²A⁻¹]',     'Wb (weber)',   ''],
    ['Inductance (L)',              '[ML²T⁻²A⁻²]',     'H (henry)',    '★'],
    ['Mutual inductance (M)',       '[ML²T⁻²A⁻²]',     'H',            '= Inductance'],
    ['Permeability (μ₀)',           '[MLT⁻²A⁻²]',      'T·m/A',        '★'],
    ['Magnetic dipole moment (m)', '[AL²]',             'A·m²',         ''],
    ['Magnetisation (M)',           '[AL⁻¹]',           'A/m',          ''],
    ['Magnetic intensity (H)',      '[AL⁻¹]',           'A/m',          '= Magnetisation'],
    ['Power (electrical)',          '[ML²T⁻³]',         'W',            '= Mechanical power'],
]
story.append(make_table(w1, mech_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in em_data],
    HDR_TEAL, (ROW_TEAL, ROW_WHITE)))

story.append(Spacer(1, 6))

# ── SECTION 5: Atomic / Quantum / Nuclear ─────────────────────────────────────
story.append(section_header("5.  Atomic, Quantum & Nuclear Physics", HDR_ORANGE))
story.append(Spacer(1, 3))

atomic_data = [
    ['Planck\'s constant (h)',      '[ML²T⁻¹]',         'J·s',          '= Angular momentum'],
    ['h-bar (ℏ = h/2π)',           '[ML²T⁻¹]',         'J·s',          ''],
    ['de Broglie wavelength (λ)',   '[L]',               'm',            ''],
    ['Binding energy',              '[ML²T⁻²]',         'J or MeV',     '= Energy'],
    ['Activity (A)',                '[T⁻¹]',             'Bq (becquerel)','= Frequency'],
    ['Decay constant (λ)',          '[T⁻¹]',             's⁻¹',          ''],
    ['Half-life (T½)',              '[T]',               's',            ''],
    ['Nuclear cross-section (σ)',   '[L²]',              'barn (10⁻²⁸m²)','= Area'],
    ['Mass defect (Δm)',            '[M]',               'kg or u',      ''],
]
story.append(make_table(w1, mech_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2]), cell(r[3])] for r in atomic_data],
    HDR_ORANGE, (ROW_ORANGE, ROW_WHITE)))

story.append(Spacer(1, 6))

# ── SECTION 6: Important Physical Constants ────────────────────────────────────
story.append(section_header("6.  Important Physical Constants (with Dimensions)", HDR_BROWN))
story.append(Spacer(1, 3))

const_data = [
    ['Speed of light (c)',       '3 × 10⁸ m/s',         '[LT⁻¹]'],
    ['Planck\'s constant (h)',   '6.626 × 10⁻³⁴ J·s',  '[ML²T⁻¹]'],
    ['Boltzmann const (kB)',     '1.38 × 10⁻²³ J/K',   '[ML²T⁻²K⁻¹]'],
    ['Avogadro number (NA)',     '6.022 × 10²³ mol⁻¹',  '[mol⁻¹]'],
    ['Gas constant (R)',         '8.314 J/(mol·K)',       '[ML²T⁻²K⁻¹mol⁻¹]'],
    ['Gravitational const (G)',  '6.67 × 10⁻¹¹ N·m²/kg²','[M⁻¹L³T⁻²]'],
    ['Electron charge (e)',      '1.6 × 10⁻¹⁹ C',       '[AT]'],
    ['Electron mass (me)',       '9.1 × 10⁻³¹ kg',      '[M]'],
    ['Proton mass (mp)',         '1.67 × 10⁻²⁷ kg',     '[M]'],
    ['Permittivity (ε₀)',        '8.85 × 10⁻¹² F/m',   '[M⁻¹L⁻³T⁴A²]'],
    ['Permeability (μ₀)',        '4π × 10⁻⁷ T·m/A',    '[MLT⁻²A⁻²]'],
    ['Stefan const (σ)',         '5.67 × 10⁻⁸ W/m²K⁴', '[MT⁻³K⁻⁴]'],
]
const_hdr = [bold('Constant'), bold('Value'), bold('Dimensional Formula')]
story.append(make_table([72*mm, 70*mm, 38*mm], const_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2])] for r in const_data],
    HDR_BROWN, (ROW_BROWN, ROW_WHITE)))

story.append(Spacer(1, 8))

# ── SECTION 7: Quantities with SAME Dimensions ────────────────────────────────
story.append(section_header("7.  Quantities Sharing the Same Dimensional Formula  ★ High-Yield MCQ", ACCENT_RED))
story.append(Spacer(1, 3))

same_data = [
    ['[ML²T⁻²]',     'Work, Energy, Heat, Torque, Moment of force'],
    ['[MLT⁻²]',      'Force, Weight, Thrust, Tension'],
    ['[MLT⁻¹]',      'Linear Momentum, Impulse'],
    ['[ML⁻¹T⁻²]',   'Pressure, Stress, Modulus of elasticity, Energy density'],
    ['[ML²T⁻¹]',     'Angular momentum, Planck\'s constant (h), h-bar'],
    ['[T⁻¹]',        'Frequency, Angular velocity, Decay constant, Activity'],
    ['[ML²T⁻²K⁻¹]', 'Entropy, Boltzmann constant (kB)'],
    ['[MT⁻²]',       'Surface tension, Surface energy per unit area'],
    ['[ML⁻¹T⁻¹]',   'Viscosity, Coefficient of viscosity'],
    ['[L²T⁻²]',      'Latent heat, Specific latent heat'],
    ['[ML²T⁻³]',     'Power (mechanical), Power (electrical)'],
    ['[AL⁻¹]',       'Magnetisation, Magnetic intensity (H)'],
    ['[ML²T⁻²A⁻²]', 'Inductance (L), Mutual inductance (M)'],
]
same_hdr = [bold('Dimensional Formula'), bold('Quantities')]
story.append(make_table([48*mm, 132*mm], same_hdr,
    [[red(r[0]), cell(r[1])] for r in same_data],
    ACCENT_RED, (colors.HexColor('#fff8e1'), ROW_WHITE)))

story.append(Spacer(1, 8))

# ── SECTION 8: Dimensionless Quantities ───────────────────────────────────────
story.append(section_header("8.  Dimensionless Quantities  [M⁰L⁰T⁰]", HDR_BLUE))
story.append(Spacer(1, 3))

dimless_data = [
    ['Angle (radian, steradian)',    'Refractive index (n)',         'Relative density'],
    ['Strain',                       'Poisson\'s ratio',             'Reynolds number (Re)'],
    ['Mach number',                  'Coefficient of friction (μ)',  'Dielectric constant'],
    ['sin θ, cos θ, tan θ, etc.',   'eˣ, ln x (arguments/ratios)', 'Magnification'],
]
dimless_hdr = [bold('Quantity 1'), bold('Quantity 2'), bold('Quantity 3')]
story.append(make_table([60*mm, 60*mm, 60*mm], dimless_hdr,
    [[cell(r[0]), cell(r[1]), cell(r[2])] for r in dimless_data],
    HDR_BLUE, (ROW_LIGHT, ROW_WHITE)))

story.append(Spacer(1, 8))

# ── SECTION 9: Quick-Formula Tricks ───────────────────────────────────────────
story.append(section_header("9.  Dimensional Analysis Tricks  (JEE Shortcuts)", HDR_GREEN))
story.append(Spacer(1, 3))

tricks = [
    "• [h] = [Angular momentum] = [ML²T⁻¹]  →  Planck's constant has same dimension as angular momentum.",
    "• [kBT] = [Energy] = [ML²T⁻²]  →  Temperature times Boltzmann constant gives energy.",
    "• [ε₀][E²] = Energy density  →  [ε₀E²] = [ML⁻¹T⁻²]",
    "• [B²/μ₀] = Energy density  →  same as [ε₀E²]",
    "• [1/ε₀μ₀] = [c²] = [L²T⁻²]  →  confirms speed of light formula.",
    "• [GM] = [L³T⁻²]  →  used in orbital velocity v = √(GM/r).",
    "• [RT/M] = [L²T⁻²]  →  used in gas velocity formulas (vrms, vavg).",
    "• Pressure × Volume = Work = [ML²T⁻²]  →  always check this in thermodynamics.",
    "• [RC] = [L/R] = [Time constant] = [T]  →  very common MCQ check.",
    "• [e/m] = specific charge = [A·T / M] = [M⁻¹AT] = [M⁻¹TI]",
]
trick_style = ParagraphStyle('trick', fontName='Helvetica', fontSize=8.2,
                              textColor=colors.HexColor('#1b5e20'), spaceAfter=3,
                              leftIndent=6)
for t in tricks:
    story.append(Paragraph(t, trick_style))

story.append(Spacer(1, 8))

# ── SECTION 10: Unit Conversion Formula ───────────────────────────────────────
story.append(section_header("10.  Unit Conversion Between Systems", HDR_PURPLE))
story.append(Spacer(1, 4))

conv_style = ParagraphStyle('conv', fontName='Helvetica', fontSize=9,
                             textColor=colors.HexColor('#4a148c'), spaceAfter=4,
                             leftIndent=10)
story.append(Paragraph("n₁u₁ = n₂u₂  →  n₂ = n₁ × [M₁/M₂]ᵃ × [L₁/L₂]ᵇ × [T₁/T₂]ᶜ", conv_style))
story.append(Paragraph("where a, b, c are powers from the dimensional formula of the quantity.", conv_style))

example_style = ParagraphStyle('ex', fontName='Helvetica-Oblique', fontSize=8,
                                textColor=colors.HexColor('#880e4f'), leftIndent=10, spaceAfter=6)
story.append(Paragraph("Example: Convert 1 J to erg (CGS).  [ML²T⁻²], M: kg→g (×1000), L: m→cm (×100), T: s→s (×1)", example_style))
story.append(Paragraph("⇒  1 J = 1 × 1000 × 100² × 1 = 10⁷ erg", example_style))

story.append(Spacer(1, 8))
story.append(HRFlowable(width="100%", thickness=1, color=colors.HexColor('#9e9e9e'), spaceAfter=4))

footer_txt = ("Quick Reference  |  Units & Measurements  |  JEE / NEET Physics  "
              "|  Orris Study Aid  |  All formulas verified against NCERT & standard JEE resources")
story.append(Paragraph(footer_txt, footer_style))

# ── BUILD ─────────────────────────────────────────────────────────────────────
doc.build(story)
print(f"PDF created: {OUTPUT}")
Running Command

python /tmp/workspace/dimensional-formulas/generate_pdf.py

Your PDF is ready! Here's the download link:

Dimensional Formulas Quick Reference

PDF Document · PDF


What's inside the PDF (10 colour-coded sections):
  1. Mechanics - 29 quantities (velocity, force, energy, pressure, G, viscosity, etc.)
  2. Thermodynamics - 11 quantities (heat, entropy, Boltzmann constant, Stefan's constant, etc.)
  3. Waves & Optics - 9 quantities (frequency, intensity, refractive index, lens power, etc.)
  4. Electromagnetism - 21 quantities (charge, field, capacitance, inductance, permeability, etc.)
  5. Atomic / Quantum / Nuclear - 9 quantities (Planck's constant, activity, decay constant, etc.)
  6. Important Physical Constants - values + dimensions for all 12 key constants
  7. Quantities sharing the same dimensions - 13 groups, high-yield MCQ section (starred)
  8. Dimensionless quantities - complete list
  9. Dimensional analysis shortcuts - 10 JEE tricks/checks
  10. Unit conversion formula - with worked example (Joule to erg)
Each section is colour-coded (blue, green, teal, purple, orange, brown) so you can navigate at a glance. Print it as a single A4 sheet reference or keep it on your phone while studying.
This is a shared conversation. Sign in to Orris to start your own chat.