ForMatter/Materials/smart/Nitinol (Shape-Memory Alloy)
mat_nitinol

Nitinol (Shape-Memory Alloy)

shape-memory and superelastic metallic alloy · NiTi, nickel-titanium, shape-memory alloy, SMA

An alloy of nickel and titanium that remembers a shape it was trained at high temperature, returns to that shape when heated past a transition temperature, and survives bending strains that would permanently deform any other metal. The wire in eyeglass frames that springs back when you sit on them.

Near-equiatomic NiTi (typically 50.8 at% Ni for transition temperature near body temperature). Two operating regimes: shape-memory effect (martensite-to-austenite transformation on heating returns trained shape) and superelasticity (austenite-phase isothermal pseudo-yielding accommodates 8% strain elastically). Transition temperature tunable through composition and cold work.

mechanical

  • tensile_strength_mpa1200
  • elastic_modulus_gpa_austenite75
  • elastic_modulus_gpa_martensite28
  • max_recoverable_strain_pct8
  • density_kg_m36500
source: MakeItFrom; SAES Getters Memry datasheet

thermal

  • transition_temperature_c_typical35
source: SAES Getters Memry product range

Sustainability

  • embodied carbon kg co2e per kg50.0
  • sourceEditorial estimate from ICE / Granta CES EduPack class databases — industry mean, with cradle-to-gate boundary unless otherwise noted. Embodied carbon for any specific product depends on supplier mix, recycled content, and energy grid; verify against a primary source before using these numbers in a sustainability claim.
  • recyclabilitymoderate — recoverable as nickel + titanium scrap; high specialty value
  • biodegradableFalse
  • certificationsASTM F2063 (medical implant grade)
visual
silver-gray, dull surface in as-drawn wire
tactile
cool, smooth, bizarrely springy under finger pressure
weight perception
moderate
acoustic
metallic ring, slightly muted compared to steel

PBR starter values

finish · iridescent — open for table, JSON, host snippets, downloads

Principled BSDF defaults derived from the sphere iridescent finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material. Or grab the whole library at once: ForMaterials library →

# finish:                   iridescent
albedo                      #a8aab0
metallic                    0.30
roughness                   0.20
ior                         1.45
transmission                0.00
clearcoat                   0.60
sheen                       0.00
anisotropic                 0.00
iridescence                 1.00
iridescence_ior             1.30
iridescence_thickness_min   100
iridescence_thickness_max   800
thickness                   0.60
attenuation_distance        0.40
emissive_intensity          0.07
copy as JSON
{
  "albedo": "#a8aab0",
  "metallic": 0.3,
  "roughness": 0.2,
  "ior": 1.45,
  "transmission": 0.0,
  "clearcoat": 0.6,
  "sheen": 0.0,
  "anisotropic": 0.0,
  "iridescence": 1.0,
  "iridescence_ior": 1.3,
  "iridescence_thickness_min": 100,
  "iridescence_thickness_max": 800,
  "thickness": 0.6,
  "attenuation_distance": 0.4,
  "emissive_intensity": 0.07
}
Blender 4.x Python
# Blender 4.x — Principled BSDF
# Nitinol (Shape-Memory Alloy) · finish: iridescent
import bpy
mat = bpy.data.materials.new(name="mat_nitinol")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
bsdf.inputs["Base Color"].default_value         = (0.3916, 0.402, 0.4342, 1.0)
bsdf.inputs["Metallic"].default_value           = 0.300
bsdf.inputs["Roughness"].default_value          = 0.200
bsdf.inputs["IOR"].default_value                = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value        = 0.600
bsdf.inputs["Sheen Weight"].default_value       = 0.000
bsdf.inputs["Anisotropic"].default_value        = 0.000
KeyShot Python (lux)
# KeyShot 11+ — lux Python API, Generic material
# Nitinol (Shape-Memory Alloy) · finish: iridescent
# Run from Window → Scripting Console
import lux
mat = lux.createMaterial(name="mat_nitinol", materialType="Generic")
mat.setProperty("diffuse",      (168, 170, 176))   # 8-bit sRGB
mat.setProperty("metallic",     0.300)
mat.setProperty("roughness",    0.200)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.600)
Substance pbrMetalRough
{
  "_format": "Substance Designer / Painter \u2014 pbrMetalRough constants",
  "_about": "Nitinol (Shape-Memory Alloy) \u00b7 finish: iridescent",
  "baseColor": {
    "r": 0.3916,
    "g": 0.402,
    "b": 0.4342
  },
  "metallic": 0.3,
  "roughness": 0.2,
  "ior": 1.45,
  "opacity": 1.0,
  "anisotropyLevel": 0.0,
  "_notes": "Channels listed are the standard Substance pbrMetalRough output. Drop into a Uniform Color node per channel, or as the constant input on a layered stack."
}
glTF 2.0 Metallic-Roughness
{
  "asset": {
    "version": "2.0",
    "generator": "ForMatter"
  },
  "materials": [
    {
      "name": "mat_nitinol",
      "pbrMetallicRoughness": {
        "baseColorFactor": [
          0.3916,
          0.402,
          0.4342,
          1.0
        ],
        "metallicFactor": 0.3,
        "roughnessFactor": 0.2
      },
      "extensions": {
        "KHR_materials_ior": {
          "ior": 1.45
        },
        "KHR_materials_clearcoat": {
          "clearcoatFactor": 0.6
        },
        "KHR_materials_iridescence": {
          "iridescenceFactor": 1.0,
          "iridescenceIor": 1.3,
          "iridescenceThicknessMinimum": 100,
          "iridescenceThicknessMaximum": 800
        }
      }
    }
  ]
}
USD Preview Surface
# USD Preview Surface — UsdShade.MaterialLook prim attributes
# Nitinol (Shape-Memory Alloy) · finish: iridescent
def Material "mat_nitinol" {
    token outputs:surface.connect = </mat_nitinol/PreviewSurface.outputs:surface>

    def Shader "PreviewSurface" {
        uniform token info:id = "UsdPreviewSurface"
        color3f inputs:diffuseColor = (0.3916, 0.402, 0.4342)
        float   inputs:metallic     = 0.300
        float   inputs:roughness    = 0.200
        float   inputs:ior          = 1.450
        float   inputs:opacity      = 1.000
        float   inputs:clearcoat    = 0.600
        token   outputs:surface
    }
}
↓ download glTF material

Second life

repairabilitylow — Nitinol welds in inert atmosphere only; specialty service.
recyclabilitymoderate — high-value scrap for medical-implant recycling.
disposal pathspecialty PGM-and-shape-memory-alloy recycler.
typical longevity30 years (typical)
failure modes
  • fatigue cracking at high cycle counts
  • oxidation at sustained 400+ °C
  • transformation-temperature drift over years

Saes Getters / SAES Group Nitinol technical literature; ASTM F2063 medical-grade Nitinol.

Citations