Units and measurements important detailed points to write notebook
| Quantity | SI Unit | Symbol |
|---|---|---|
| Length | metre | m |
| Mass | kilogram | kg |
| Time | second | s |
| Electric current | ampere | A |
| Temperature | kelvin | K |
| Amount of substance | mole | mol |
| Luminous intensity | candela | cd |
Supplementary units (treated separately):
- Plane angle → radian (rad)
- Solid angle → steradian (sr)
| System | Length | Mass | Time |
|---|---|---|---|
| CGS | centimetre | gram | second |
| MKS | metre | kilogram | second |
| FPS | foot | pound | second |
| SI | metre | kilogram | second |
| Quantity | Dimensional Formula | SI 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 |
| Type | Description |
|---|---|
| Systematic error | Same sign, due to faulty instrument, wrong technique, personal bias. Reproducible. |
| Random error | Irregular, due to unpredictable fluctuations. Reduced by taking multiple readings. |
| Gross error | Human mistakes (reading wrong, noting wrong). |
| Least count error | Due to minimum measurable value of instrument. |
| Zero error | When instrument does not read zero at zero input. |
| Operation | Error 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.
| Instrument | Least Count | Range |
|---|---|---|
| Metre scale | 1 mm = 0.1 cm | ~1 m |
| Vernier callipers | 0.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 | - |
| Prefix | Symbol | Power |
|---|---|---|
| tera | T | 10¹² |
| giga | G | 10⁹ |
| mega | M | 10⁶ |
| kilo | k | 10³ |
| hecto | h | 10² |
| deca | da | 10¹ |
| deci | d | 10⁻¹ |
| centi | c | 10⁻² |
| milli | m | 10⁻³ |
| micro | μ | 10⁻⁶ |
| nano | n | 10⁻⁹ |
| pico | p | 10⁻¹² |
| femto | f | 10⁻¹⁵ |
Create a quick reference PDF with all dimensional formulas
mkdir -p /tmp/workspace/dimensional-formulas && ls /tmp/workspace/dimensional-formulas/
~/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}")
python /tmp/workspace/dimensional-formulas/generate_pdf.py
Dimensional Formulas Quick Reference
PDF Document · PDF