Give a 5 page answer on Metallurgy in orthopaedics from standard orthopaedic textbooks for orthopaedic rguhs pg exams
"Cobalt-chrome (Co-Cr) alloy is stiffer than titanium alloy. Therefore, titanium is preferred for cementless femoral stems (lower E = less stress shielding), while Co-Cr is preferred for cemented stems."

| Material | UTS (MPa) | Yield Strength (MPa) | Elastic Modulus (MPa) |
|---|---|---|---|
| Cortical bone | 100 | 80 | 15,000 |
| Titanium (Ti-6Al-4V) | 900 | 800 | 100,000 |
| Stainless steel 316L (cold worked) | >850 | >700 | 200,000 |
| Co-Cr (wrought, cold worked) | >600 | >500 | 230,000 |
| PMMA (bone cement) | 40 | - | 2,000 |
| Polyethylene | 40 | 20 | 1,000 |
| Concept | Key Fact |
|---|---|
| Stiffest orthopaedic metal | Co-Cr-Mo (E ~230 GPa) |
| Most biocompatible metal | Titanium |
| Self-passivating metal | Titanium (forms TiO₂ rapidly) |
| Metal closest to bone stiffness | Tantalum (trabecular metal) |
| Metal for cementless stem | Titanium (lower E = less stress shielding) |
| Metal for cemented stem | Co-Cr (higher stiffness, better cement interface) |
| Metal for femoral head | Co-Cr or Ceramic (not titanium - poor wear) |
| Galvanic corrosion prevention | Never mix dissimilar metals |
| Fretting corrosion site | Screw-plate interface; modular taper junctions |
| Trunnionosis treatment | Ceramic head + titanium sleeve; no stem revision needed if stem intact |
| Co-Cr ion excretion | Kidneys |
| PMMA role | Grout - interlocks mechanically |
| Strongest in compression | PMMA, ceramics, cancellous bone |
| Bending stiffness relation | Proportional to radius⁴ of stem |
| 316L "L" = | Low carbon (better corrosion resistance) |
| Molybdenum role | Prevents pitting and crevice corrosion |
| Nickel role in SS | Increases corrosion resistance; stabilises austenitic structure |
| Stress shielding worst with | Large diameter + Co-Cr + solid round + extensive porous coat |
Make a pdf
ls /home/daytona/workspace/ 2>/dev/null && echo "---" && ls /home/daytona/worksp…
mkdir -p /home/daytona/workspace/metallurgy-ortho && echo "created"
~/metallurgy-ortho/generate_pdf.py
#!/usr/bin/env python3
"""Generate a well-formatted PDF on Metallurgy in Orthopaedics."""
from reportlab.lib.pagesizes import A4
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.units import cm
from reportlab.lib import colors
from reportlab.platypus import (
SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle,
HRFlowable, KeepTogether
)
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import PageBreak
OUTPUT = "/home/daytona/workspace/metallurgy-ortho/Metallurgy_in_Orthopaedics.pdf"
# ── Colours ──────────────────────────────────────────────────────────────────
NAVY = colors.HexColor("#1a3a5c")
TEAL = colors.HexColor("#1d6e8f")
LIGHT = colors.HexColor("#e8f4f8")
HEADER = colors.HexColor("#d0e8f2")
ALT = colors.HexColor("#f5fafc")
WHITE = colors.white
BLACK = colors.black
GREY = colors.HexColor("#555555")
def make_styles():
base = getSampleStyleSheet()
styles = {
"cover_title": ParagraphStyle(
"cover_title", parent=base["Title"],
fontSize=28, textColor=WHITE, alignment=TA_CENTER,
spaceAfter=10, leading=34
),
"cover_sub": ParagraphStyle(
"cover_sub", parent=base["Normal"],
fontSize=13, textColor=colors.HexColor("#cce8f5"),
alignment=TA_CENTER, spaceAfter=6
),
"cover_ref": ParagraphStyle(
"cover_ref", parent=base["Normal"],
fontSize=10, textColor=colors.HexColor("#aad4e8"),
alignment=TA_CENTER, spaceAfter=4, italic=True
),
"h1": ParagraphStyle(
"h1", parent=base["Heading1"],
fontSize=14, textColor=WHITE, backColor=NAVY,
spaceBefore=14, spaceAfter=6, leading=18,
leftIndent=-0.3*cm, rightIndent=-0.3*cm,
borderPadding=(5, 8, 5, 8)
),
"h2": ParagraphStyle(
"h2", parent=base["Heading2"],
fontSize=12, textColor=NAVY,
spaceBefore=10, spaceAfter=4, leading=15,
borderPadding=(2, 0, 2, 0)
),
"h3": ParagraphStyle(
"h3", parent=base["Heading3"],
fontSize=11, textColor=TEAL,
spaceBefore=8, spaceAfter=3, leading=13
),
"body": ParagraphStyle(
"body", parent=base["Normal"],
fontSize=10, textColor=BLACK, alignment=TA_JUSTIFY,
spaceAfter=5, leading=14
),
"bullet": ParagraphStyle(
"bullet", parent=base["Normal"],
fontSize=10, textColor=BLACK, alignment=TA_LEFT,
spaceAfter=3, leading=13, leftIndent=16, bulletIndent=4
),
"bullet2": ParagraphStyle(
"bullet2", parent=base["Normal"],
fontSize=9.5, textColor=GREY, alignment=TA_LEFT,
spaceAfter=2, leading=12, leftIndent=32, bulletIndent=18
),
"caption": ParagraphStyle(
"caption", parent=base["Normal"],
fontSize=8.5, textColor=GREY, alignment=TA_CENTER,
spaceAfter=4, italic=True
),
"footer_ref": ParagraphStyle(
"footer_ref", parent=base["Normal"],
fontSize=8.5, textColor=GREY, alignment=TA_LEFT,
spaceAfter=2, italic=True
),
"pearl_box": ParagraphStyle(
"pearl_box", parent=base["Normal"],
fontSize=9.5, textColor=NAVY, alignment=TA_LEFT,
spaceAfter=3, leading=13, leftIndent=8,
backColor=LIGHT
),
}
return styles
# ── Page template with header/footer ─────────────────────────────────────────
def make_doc(filename):
doc = SimpleDocTemplate(
filename,
pagesize=A4,
leftMargin=2.2*cm, rightMargin=2.2*cm,
topMargin=2.5*cm, bottomMargin=2.5*cm,
title="Metallurgy in Orthopaedics",
author="Orris Medical AI",
)
return doc
def on_page(canvas, doc):
W, H = A4
canvas.saveState()
# Header bar
canvas.setFillColor(NAVY)
canvas.rect(0, H - 1.5*cm, W, 1.5*cm, fill=1, stroke=0)
canvas.setFont("Helvetica-Bold", 9)
canvas.setFillColor(WHITE)
canvas.drawString(2.2*cm, H - 1.0*cm, "METALLURGY IN ORTHOPAEDICS")
canvas.setFont("Helvetica", 9)
canvas.drawRightString(W - 2.2*cm, H - 1.0*cm, "RGUHS PG Orthopaedics")
# Footer
canvas.setFillColor(NAVY)
canvas.rect(0, 0, W, 1.3*cm, fill=1, stroke=0)
canvas.setFont("Helvetica", 8)
canvas.setFillColor(WHITE)
canvas.drawString(2.2*cm, 0.45*cm,
"Sources: Miller's Review 9e | Campbell's Operative Orthopaedics 15e | Rockwood & Green 10e")
canvas.setFont("Helvetica-Bold", 9)
canvas.drawRightString(W - 2.2*cm, 0.45*cm, f"Page {doc.page}")
canvas.restoreState()
def on_first_page(canvas, doc):
W, H = A4
canvas.saveState()
# Full navy cover background strip
canvas.setFillColor(NAVY)
canvas.rect(0, H*0.58, W, H*0.42, fill=1, stroke=0)
# Footer
canvas.setFillColor(TEAL)
canvas.rect(0, 0, W, 1.3*cm, fill=1, stroke=0)
canvas.setFont("Helvetica", 8)
canvas.setFillColor(WHITE)
canvas.drawString(2.2*cm, 0.45*cm,
"Sources: Miller's Review 9e | Campbell's Operative Orthopaedics 15e | Rockwood & Green 10e")
canvas.restoreState()
# ── Helper builders ───────────────────────────────────────────────────────────
def h1(text, styles):
return Paragraph(f"<b>{text}</b>", styles["h1"])
def h2(text, styles):
return Paragraph(f"<b>{text}</b>", styles["h2"])
def h3(text, styles):
return Paragraph(f"<b>{text}</b>", styles["h3"])
def p(text, styles):
return Paragraph(text, styles["body"])
def b(text, styles, level=1):
style = "bullet" if level == 1 else "bullet2"
return Paragraph(f"• {text}", styles[style])
def hr():
return HRFlowable(width="100%", thickness=0.5, color=TEAL, spaceAfter=4, spaceBefore=4)
def sp(n=6):
return Spacer(1, n)
def pearl(text, styles):
return Paragraph(f"<b>★ Clinical Pearl:</b> {text}", styles["pearl_box"])
def make_table(headers, rows, col_widths=None):
data = [headers] + rows
if col_widths is None:
col_widths = [None] * len(headers)
t = Table(data, colWidths=col_widths, repeatRows=1)
style = TableStyle([
("BACKGROUND", (0,0), (-1,0), NAVY),
("TEXTCOLOR", (0,0), (-1,0), WHITE),
("FONTNAME", (0,0), (-1,0), "Helvetica-Bold"),
("FONTSIZE", (0,0), (-1,0), 9),
("ALIGN", (0,0), (-1,-1), "CENTER"),
("VALIGN", (0,0), (-1,-1), "MIDDLE"),
("ROWBACKGROUNDS", (0,1), (-1,-1), [WHITE, ALT]),
("FONTSIZE", (0,1), (-1,-1), 8.5),
("GRID", (0,0), (-1,-1), 0.4, colors.HexColor("#b0cfe0")),
("LEFTPADDING",(0,0), (-1,-1), 5),
("RIGHTPADDING",(0,0), (-1,-1), 5),
("TOPPADDING", (0,0), (-1,-1), 4),
("BOTTOMPADDING",(0,0), (-1,-1), 4),
])
t.setStyle(style)
return t
# ── Content ───────────────────────────────────────────────────────────────────
def build_story(styles):
story = []
# ── COVER ─────────────────────────────────────────────────────────────────
story += [
sp(3.5*28), # push down into blue zone
Paragraph("<b>METALLURGY IN ORTHOPAEDICS</b>", styles["cover_title"]),
Paragraph("RGUHS Postgraduate Orthopaedics Examination", styles["cover_sub"]),
Paragraph("Comprehensive 5-Page Answer", styles["cover_sub"]),
sp(12),
Paragraph("Based on:", styles["cover_ref"]),
Paragraph("Miller's Review of Orthopaedics, 9th Ed.", styles["cover_ref"]),
Paragraph("Campbell's Operative Orthopaedics, 15th Ed. (2026)", styles["cover_ref"]),
Paragraph("Rockwood and Green's Fractures in Adults, 10th Ed. (2025)", styles["cover_ref"]),
PageBreak(),
]
# ── SECTION 1 ─────────────────────────────────────────────────────────────
story += [
h1("1. INTRODUCTION AND BASIC CONCEPTS", styles), sp(4),
p("Metallurgy is the science of the properties, processing, and behaviour of metals and alloys. In orthopaedics it underpins the selection, design, and clinical performance of every metallic implant - from a simple cortical screw to a total joint replacement. The ideal orthopaedic metal must be biocompatible, corrosion-resistant, mechanically strong enough to bear physiological loads, and have a modulus of elasticity that approaches that of bone to minimise stress shielding.", styles),
sp(4),
h2("Key Mechanical Terms", styles),
b("<b>Young's Modulus (E) / Modulus of Elasticity:</b> Slope of the stress-strain curve in the elastic region. A higher E = stiffer material. Matching bone's stiffness reduces stress shielding.", styles),
b("<b>Yield Strength:</b> Stress at which permanent (plastic) deformation begins (0.2% offset method).", styles),
b("<b>Ultimate Tensile Strength (UTS):</b> Maximum stress a material can withstand before fracture.", styles),
b("<b>Fatigue Strength:</b> Stress below which a material can withstand infinite loading cycles without failure - critical for cyclic in vivo loading.", styles),
b("<b>Ductility:</b> Ability to undergo plastic deformation before fracture. Metals are ductile; ceramics are not.", styles),
b("<b>Hardness:</b> Resistance to surface deformation; related to wear performance.", styles),
sp(8),
]
# ── SECTION 2 ─────────────────────────────────────────────────────────────
story += [
h1("2. CLASSIFICATION OF METALLIC ALLOYS", styles), sp(4),
p("There are three main families of metallic alloys used in orthopaedic implants:", styles),
sp(6),
]
# 2A - SS
story += [
h2("A. Iron-Based Alloys - Stainless Steel (316L)", styles),
p("<b>Composition:</b> Iron-carbon base with chromium (10-18%), nickel, molybdenum, and manganese.", styles),
h3("Role of Each Alloying Element:", styles),
b("<b>Chromium:</b> Forms a passive surface oxide layer, improving corrosion resistance.", styles),
b("<b>Nickel:</b> Increases corrosion resistance and stabilises the austenitic (FCC) molecular structure.", styles),
b("<b>Molybdenum:</b> Prevents pitting and crevice corrosion.", styles),
b("<b>Manganese:</b> Improves crystalline stability.", styles),
b('<b>"L"</b> (low carbon): Greater corrosion resistance - prevents chromium carbide precipitation at grain boundaries.', styles),
sp(4),
h3("Mechanical Properties (Rockwood & Green, Table 12.1):", styles),
make_table(
["Form", "UTS (MPa)", "Yield Strength (MPa)", "Elastic Modulus (MPa)"],
[
["Annealed", ">500", ">200", "200,000"],
["Cold worked", ">850", ">700", "200,000"],
["Cortical bone (ref)", "100", "80", "15,000"],
],
[5*cm, 3*cm, 4.5*cm, 4.5*cm]
),
sp(4),
b("<b>Clinical uses:</b> Trauma implants (plates, nails, screws, wires), spinal implants, temporary fixation.", styles),
b("<b>Disadvantages:</b> Risk of nickel/chromium sensitisation; galvanic corrosion when mixed; high modulus vs bone; inferior corrosion resistance compared to titanium.", styles),
sp(8),
]
# 2B - CoCr
story += [
h2("B. Cobalt-Based Alloys - Co-Cr-Mo", styles),
p("<b>Composition:</b> ~65% cobalt, 35% chromium, 5% molybdenum. Nickel may be added to improve ease of forging.", styles),
b("<b>Cobalt:</b> Provides high mechanical strength base matrix.", styles),
b("<b>Chromium:</b> Corrosion resistance via passive oxide formation.", styles),
b("<b>Molybdenum:</b> Refines grain structure, improves strength.", styles),
sp(4),
make_table(
["Form", "UTS (MPa)", "Yield (MPa)", "E (MPa)"],
[
["Cast", ">450", ">50", "20,000"],
["Wrought, annealed", ">300", ">300", "230,000"],
["Wrought, cold-worked",">600",">500", "230,000"],
],
[5.5*cm, 3*cm, 3*cm, 3.5*cm]
),
sp(4),
p("Co-Cr has the <b>greatest ultimate strength</b> of the three alloy families and is <b>stiffer than titanium</b>. Its superior wear resistance makes it the dominant material for femoral heads and bearing surfaces.", styles),
b("<b>Ion release:</b> Co-Cr ions cause macrophage proliferation and synovial degeneration; excreted via kidneys.", styles),
b("<b>Clinical uses:</b> Femoral heads, TKA femoral components, cemented femoral stems, spinal rods.", styles),
sp(8),
]
# 2C - Ti
story += [
h2("C. Titanium-Based Alloys - Ti-6Al-4V", styles),
p("<b>Composition:</b> Titanium base + 6% aluminium + 4% vanadium. Also available as commercially pure (CP) titanium.", styles),
h3("Key Properties:", styles),
b("<b>Elastic modulus ~100,000 MPa</b> - roughly half that of stainless steel/Co-Cr, much closer to cortical bone (15,000 MPa). This is titanium's most important clinical advantage.", styles),
b("<b>Extremely biocompatible</b> - most biocompatible of all orthopaedic metals.", styles),
b("<b>Self-passivation:</b> Rapidly forms an adherent TiO₂ layer - excellent corrosion resistance, occurs almost instantaneously when scratched.", styles),
b("<b>Superior fatigue resistance</b> compared to stainless steel.", styles),
b("<b>UTS 900 MPa, Yield 800 MPa</b> (Ti-6Al-4V alloy).", styles),
sp(4),
h3("Disadvantages of Titanium:", styles),
b("<b>Poor wear resistance</b> (notch sensitivity) - NOT used for femoral heads or bearing surfaces.", styles),
b("Titanium wear particles incite a histiocytic (macrophage) response.", styles),
b("Screw head recess susceptible to deformation (stripping) during insertion.", styles),
b("Relationship with neoplasia - uncertain in literature.", styles),
sp(4),
b("<b>Surface treatment:</b> Polishing, passivation, and ion implantation improve fatigue properties.", styles),
b("<b>Clinical uses:</b> Cementless femoral stems, acetabular shells, spinal cages, IM nails, fracture plates, external fixator pins.", styles),
sp(8),
]
# 2D - Tantalum
story += [
h2("D. Tantalum (Trabecular Metal)", styles),
b("Highly porous structure (75-80% porosity) mimicking cancellous bone architecture.", styles),
b("Modulus of elasticity closer to bone than stainless steel or Co-Cr.", styles),
b("Remarkable corrosion resistance - surface oxide layer as barrier.", styles),
b("Highly conducive to bone ingrowth.", styles),
b("<b>Clinical uses:</b> Acetabular reconstruction, revision arthroplasty with bone loss, spinal interbody cages.", styles),
sp(8),
PageBreak(),
]
# ── SECTION 3 - Young's modulus ───────────────────────────────────────────
story += [
h1("3. YOUNG'S MODULUS - COMPARATIVE CHART AND CLINICAL SIGNIFICANCE", styles), sp(4),
p("Young's modulus (stiffness) is the single most important property governing stress shielding. The figure below (Miller's Review, Fig. 1.58) shows relative stiffness of orthopaedic materials:", styles),
sp(6),
make_table(
["Material", "E (MPa)", "Clinical Significance"],
[
["Al₂O₃ Ceramic", "380,000", "Highest stiffness; bearing surfaces only"],
["Co-Cr-Mo alloy", "230,000", "Cemented stems; bearing surfaces"],
["Stainless steel 316L","200,000", "Trauma implants"],
["Titanium Ti-6Al-4V", "100,000", "Cementless stems; best for stress shielding"],
["Cortical bone", "15,000", "Reference standard"],
["Tantalum (porous)", "~3,000", "Closest to cancellous bone"],
["PMMA bone cement", "2,000", "Grout; load distribution"],
["Polyethylene", "1,000", "Bearing surface; liner"],
["Cancellous bone", "1,000", "Trabecular structure"],
],
[5.5*cm, 3*cm, 7*cm]
),
sp(8),
h2("Clinical Rule - Modulus Selection:", styles),
b("Lower E (titanium): preferred for <b>cementless stems</b> - more load shared with bone, less stress shielding.", styles),
b("Higher E (Co-Cr): preferred for <b>cemented stems</b> - compressive load transmitted through cement mantle to bone.", styles),
sp(8),
]
# ── SECTION 4 - Corrosion ─────────────────────────────────────────────────
story += [
h1("4. CORROSION IN ORTHOPAEDIC METALS", styles), sp(4),
p("All metals corrode in the body's high-saline physiological environment. <b>Passivation</b> - the formation of a thin protective metal oxide layer - is the primary defence mechanism. Titanium forms TiO₂ almost instantaneously (self-passivation); stainless steel and Co-Cr form chromium oxide layers.", styles),
sp(6),
h2("Types of Corrosion (Miller's Review, Fig. 1.57):", styles),
sp(4),
make_table(
["Type", "Mechanism", "Clinical Example", "Prevention"],
[
["Uniform", "Even surface oxidation", "General implant degradation", "Passivation"],
["Galvanic", "Two dissimilar metals in electrolyte; anodic metal corrodes faster", "Titanium screw + SS plate", "Never mix metals"],
["Pitting", "Localised attack at passivation defects", "SS plate surfaces", "Molybdenum addition; handle carefully"],
["Crevice", "Low O₂/low pH in crevices accelerate oxidation", "Screw-plate interface; modular junctions", "Tight assembly; Ti preferred"],
["Fretting", "Cyclic micromotion (<100 μm) disrupts oxide layer repeatedly", "Head-neck taper; nail-screw interlock; loose plate screws", "Rigid fixation; avoid micromotion"],
],
[2.8*cm, 4.5*cm, 4*cm, 3.7*cm]
),
sp(8),
]
# ── SECTION 5 - Trunnionosis ──────────────────────────────────────────────
story += [
h1("5. TRUNNION CORROSION (TRUNNIONOSIS)", styles), sp(4),
p("Trunnionosis is corrosion at the modular taper junction (trunnion) between the femoral head and femoral stem in THA. It is a combination of fretting and crevice corrosion - mechanically assisted crevice corrosion.", styles),
sp(4),
h2("Mechanism:", styles),
b("Cyclic loading generates micromotion at the head-stem taper.", styles),
b("Micromotion disrupts the protective oxide layer repeatedly.", styles),
b("Metal ions (cobalt and chromium) are released into surrounding tissues.", styles),
sp(4),
h2("Risk Factors for Increased Trunnion Stress:", styles),
b("Large-diameter femoral heads (increased lever arm / toggle effect).", styles),
b("Large femoral component offsets.", styles),
b("Varus stem position.", styles),
b("<b>Cobalt-chrome femoral head on titanium stem</b> - material mismatch increases corrosion.", styles),
sp(4),
h2("Clinical Consequences:", styles),
b("Metal ion release - adverse local tissue reaction (ALTR).", styles),
b("Pseudotumour formation (soft tissue mass, similar to MOM THA failures).", styles),
b("Metallosis - metal staining of periprosthetic tissues.", styles),
sp(4),
h2("Diagnosis:", styles),
b("Serum metal ions: concern when cobalt >1 ppb (in metal-on-PE articulation).", styles),
b("<b>Cobalt:chromium ratio >5:1</b> highly suggests trunnion problem (vs bearing surface).", styles),
b("MARS MRI of hip to assess soft tissue damage.", styles),
sp(4),
h2("Treatment:", styles),
b("Revise femoral head to <b>ceramic head with titanium sleeve adapter</b>.", styles),
b("Stem revision NOT required unless catastrophic trunnion damage.", styles),
sp(4),
pearl("Trunnionosis is responsible for the widespread adoption of ceramic femoral heads in primary THA. Co-Cr heads should be avoided if a titanium stem is used. (Miller's Review, Testable Concepts)", styles),
sp(8),
PageBreak(),
]
# ── SECTION 6 - Stress Shielding ─────────────────────────────────────────
story += [
h1("6. STRESS SHIELDING", styles), sp(4),
p("<b>Wolff's Law:</b> Bone remodels in response to mechanical stresses. Bone not subjected to adequate stress undergoes resorption (disuse osteoporosis).", styles),
p("<b>Stress shielding</b> occurs when a stiff metallic implant absorbs and carries load that should be borne by the bone, reducing the mechanical stimulus to periprosthetic bone. This leads to adaptive bone resorption, implant loosening, periprosthetic fracture, and difficult revision.", styles),
sp(4),
h2("Factors Affecting Stem Stiffness (Campbell's Operative Orthopaedics):", styles),
b("<b>Modulus of elasticity:</b> Lower E (titanium) → more load to bone → less stress shielding.", styles),
b("<b>Stem diameter:</b> Bending stiffness is proportional to the <b>4th power of the radius</b> - small diameter increases produce huge stiffness jumps.", styles),
b("<b>Stem geometry:</b> Solid/round stems are stiffer; hollow, slotted, fluted, tapered designs are less stiff.", styles),
b("<b>Extent of porous coating:</b> Extensive (diaphyseal) coating transfers load distally - proximal femur is stress-shielded.", styles),
b2("<b>Proximal porous coating</b> - loads transferred into metaphysis and proximal diaphysis, maintaining proximal bone density.", styles),
b2("<b>Extensive (full-length) coating</b> - bone ingrowth diaphyseal; proximal femur resorbs.", styles),
sp(6),
h2("Typical Scenario Producing Severe Stress Shielding (Miller's Review):", styles),
make_table(
["Factor", "Detail"],
[
["Stem diameter", "≥16 mm"],
["Alloy", "Cobalt-chrome (Co-Cr) - highest E of metallic stems"],
["Geometry", "Round, solid, cylindrical shaft"],
["Porous coating", "Extensive (full-length diaphyseal)"],
["Loading", "Distal bone loading; spot weld formation distally"],
],
[5*cm, 10*cm]
),
sp(4),
pearl("Co-Cr stems cause nearly double the proximal bone loss compared to titanium alloy femoral stems. (Meta-analysis by Knutsen et al., cited in Campbell's Operative Orthopaedics)", styles),
sp(8),
]
# ── SECTION 7 - Fixation and Surface ─────────────────────────────────────
story += [
h1("7. IMPLANT SURFACE FINISH AND FIXATION METHODS", styles), sp(4),
h2("A. Cemented Implants:", styles),
b("Highly polished (smooth) surface: controlled subsidence within cement - composite beam theory (Exeter stem).", styles),
b("Matt/roughened surface: bonds rigidly to cement.", styles),
b("<b>Preferred alloy:</b> Co-Cr (higher stiffness transmits load through cement mantle to bone).", styles),
b("PMMA acts as a <b>grout</b>, not an adhesive - mechanically interlocks with bone trabeculae.", styles),
b("PMMA reaches ultimate strength within 24 hours; strongest in compression, weak in tension and shear.", styles),
b("Reducing voids (vacuum mixing, centrifugation) increases cement strength.", styles),
sp(6),
h2("B. Cementless Implants:", styles),
b("Porous-coated surfaces (sintered beads, plasma-sprayed Ti, fibre metal) allow bone ingrowth.", styles),
b("<b>Hydroxyapatite (HA) coating:</b> Plasma-sprayed calcium phosphate applied to titanium - accelerates bone apposition and osseointegration.", styles),
b("<b>Preferred alloy:</b> Titanium (lower E = less stress shielding; superior biocompatibility; self-passivation aids osseointegration).", styles),
b("Osseointegration requires micromotion <50-150 μm at the time of insertion.", styles),
sp(8),
]
# ── SECTION 8 - Fracture Fixation ────────────────────────────────────────
story += [
h1("8. METALLURGY IN FRACTURE FIXATION IMPLANTS", styles), sp(4),
h2("Intramedullary Nails:", styles),
b("Materials: Titanium alloy (Ti-6Al-4V) or stainless steel 316L.", styles),
b("Titanium IM nails: lower E (load-sharing device), less stress shielding, superior fatigue - allows physiological load-sharing with bone.", styles),
b("Advantages over plates: acts as load-sharing (not load-bearing) device; avoids stress shielding; less refracture after removal.", styles),
sp(4),
h2("Plates and Screws:", styles),
b("Materials: 316L stainless steel or titanium alloy.", styles),
b("Fretting corrosion at screw-plate interface is the key failure mechanism when screws are insufficiently tightened.", styles),
b("Galvanic rule: <b>never combine stainless steel screws with titanium plates</b> (or vice versa).", styles),
b("Locking plates: angular-stable, fixed-angle construct - less fretting at screw-plate interface.", styles),
sp(4),
h2("Corrosion Prevention in Fracture Fixation (Campbell's):", styles),
b("Do not scratch implants during insertion - disrupts passive oxide layer.", styles),
b("Avoid using dissimilar metals together.", styles),
b("Ensure secure fixation to minimise fretting at interfaces.", styles),
b("Use pre-passivated implants as supplied.", styles),
sp(8),
PageBreak(),
]
# ── SECTION 9 - Non-metallic ──────────────────────────────────────────────
story += [
h1("9. NON-METALLIC MATERIALS IN ORTHOPAEDICS", styles), sp(4),
h2("Ceramics (Alumina Al₂O₃, Zirconia ZrO₂):", styles),
b("Metallic and nonmetallic elements bonded ionically in a highly oxidised state.", styles),
b("Good insulators (poor electrical conductors).", styles),
b("<b>Highest E and compressive strength</b> of all implant materials.", styles),
b("<b>Brittle</b> - no plastic deformation before catastrophic fracture. Low tensile strength.", styles),
b("<b>Best wear characteristics</b> against polyethylene - lowest oxidation rate.", styles),
b("High surface wettability, small grain size - ultrasmooth surface, less friction.", styles),
b("Calcium phosphates (hydroxyapatite): plasma-sprayed coatings to increase attachment and promote bone healing.", styles),
b("<b>Clinical use:</b> Femoral heads in THA (ceramic-on-PE, ceramic-on-ceramic bearings).", styles),
sp(6),
h2("Oxidised Zirconium (Oxinium):", styles),
b("Zirconium metal alloy with a zirconium oxide ceramic surface coating.", styles),
b("Combines metal toughness with ceramic scratch resistance.", styles),
b("More scratch-resistant than Co-Cr - reduces polyethylene wear debris.", styles),
sp(6),
h2("Bioabsorbable Implants:", styles),
b("PGA, PLLA, PDS, PDLLA - alpha polyesters.", styles),
b("PGA degraded by hydrolysis → pyruvic acid → CO₂ + water.", styles),
b("Cannot be contoured intraoperatively (high glass transition temperature).", styles),
b("Uses: small fragment fixation, ligament anchors, interference screws.", styles),
sp(8),
]
# ── SECTION 10 - Metal Sensitivity ───────────────────────────────────────
story += [
h1("10. METAL SENSITIVITY AND ION TOXICITY", styles), sp(4),
b("<b>Metal ion release</b> occurs from all orthopaedic implants via corrosion and wear.", styles),
b("<b>Co-Cr ions:</b> macrophage proliferation, synovial degeneration; excreted via kidneys.", styles),
b("<b>Nickel</b> is the most common metallic sensitiser - Type IV delayed hypersensitivity.", styles),
b("Incidence of clinically significant metal sensitivity causing implant failure is low.", styles),
b("In sensitised patients: titanium implants preferred (most biocompatible).", styles),
b("<b>Titanium particulate:</b> histiocytic response; macrophage activation → osteolysis.", styles),
b("<b>Systemic cobalt toxicity (cobaltism):</b> cardiomyopathy, thyroid dysfunction, neurological effects - in extreme metal-on-metal failures.", styles),
sp(8),
]
# ── SECTION 11 - High Yield Table ─────────────────────────────────────────
story += [
h1("11. HIGH-YIELD EXAM PEARLS (RGUHS)", styles), sp(4),
make_table(
["Concept", "Key Fact"],
[
["Stiffest orthopaedic metal", "Co-Cr-Mo (~230 GPa)"],
["Most biocompatible metal", "Titanium"],
["Self-passivating metal", "Titanium (forms TiO₂ immediately)"],
["Metal for cementless stem", "Titanium (lower E = less stress shielding)"],
["Metal for cemented stem", "Co-Cr (higher stiffness)"],
["Metal for femoral head", "Co-Cr or Ceramic (NOT titanium - poor wear)"],
["Galvanic corrosion rule", "Never mix dissimilar metals"],
["Fretting corrosion sites", "Screw-plate interface; head-neck taper (trunnion)"],
["Trunnionosis treatment", "Ceramic head + Ti sleeve; no stem revision if intact"],
["Co-Cr ion excretion route", "Kidneys"],
["PMMA role", "Grout - mechanical interlock (NOT adhesive)"],
["Strongest in compression", "PMMA, ceramics"],
["Bending stiffness proportional to", "Radius⁴ of stem"],
["316L 'L' stands for", "Low carbon → better corrosion resistance"],
["Molybdenum function", "Prevents pitting and crevice corrosion"],
["Nickel function in SS", "Corrosion resistance + austenitic stability"],
["Stress shielding worst scenario", "Large Co-Cr solid round extensively coated stem"],
["Tantalum porosity", "75-80% - closest to cancellous bone architecture"],
["Cobalt:Chromium ratio in trunnionosis", ">5:1 suggests trunnion (not MOM) problem"],
["Ceramic advantage", "Best wear characteristics + lowest friction"],
],
[7.5*cm, 8*cm]
),
sp(10),
]
# ── REFERENCES ─────────────────────────────────────────────────────────────
story += [
hr(),
h2("References", styles),
Paragraph("1. Miller's Review of Orthopaedics, 9th Edition - Chapter 1: Basic Science (pp. 117-118); Chapter 5: Adult Reconstruction.", styles["footer_ref"]),
Paragraph("2. Campbell's Operative Orthopaedics, 15th Edition (2026) - Chapter 4: Hip Reconstruction (Stress Transfer to Bone); Chapter 30: Biomaterials of Fracture Fixation.", styles["footer_ref"]),
Paragraph("3. Rockwood and Green's Fractures in Adults, 10th Edition (2025) - Chapter 12: Biomechanics of Fracture Fixation (Table 12.1).", styles["footer_ref"]),
]
return story
def b2(text, styles):
return Paragraph(f" ◦ {text}", styles["bullet2"])
# ── Main ──────────────────────────────────────────────────────────────────────
if __name__ == "__main__":
styles = make_styles()
doc = make_doc(OUTPUT)
# patch b2 into build_story
story = build_story(styles)
doc.build(
story,
onFirstPage=on_first_page,
onLaterPages=on_page,
)
print(f"PDF written to: {OUTPUT}")
cd /home/daytona/workspace/metallurgy-ortho && python generate_pdf.py 2>&1
ls -lh /home/daytona/workspace/metallurgy-ortho/Metallurgy_in_Orthopaedics.pdf
Metallurgy in Orthopaedics
PDF Document · PDF