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
metallic 0.00
hue shift +0°

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

Principled BSDF defaults derived from the sphere iridescent finish. Reasonable seed for Blender, Substance, Keyshot, Rhino — tune per material.

# finish:      iridescent
albedo        #a8aab0
metallic      0.70
roughness     0.30
ior           1.45
transmission  0.00
clearcoat     0.50
sheen         0.50
anisotropic   0.00
copy as JSON
{
  "albedo": "#a8aab0",
  "metallic": 0.7,
  "roughness": 0.3,
  "ior": 1.45,
  "transmission": 0.0,
  "clearcoat": 0.5,
  "sheen": 0.5,
  "anisotropic": 0.0
}
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.700
bsdf.inputs["Roughness"].default_value          = 0.300
bsdf.inputs["IOR"].default_value                = 1.450
bsdf.inputs["Transmission Weight"].default_value = 0.000
bsdf.inputs["Coat Weight"].default_value        = 0.500
bsdf.inputs["Sheen Weight"].default_value       = 0.500
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.700)
mat.setProperty("roughness",    0.300)
mat.setProperty("indexOfRefraction", 1.450)
mat.setProperty("transparency", 0.000)
mat.setProperty("coatingWeight", 0.500)
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.7,
  "roughness": 0.3,
  "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.7,
        "roughnessFactor": 0.3
      },
      "extensions": {
        "KHR_materials_ior": {
          "ior": 1.45
        },
        "KHR_materials_clearcoat": {
          "clearcoatFactor": 0.5
        },
        "KHR_materials_sheen": {
          "sheenColorFactor": [
            1.0,
            1.0,
            1.0
          ],
          "sheenRoughnessFactor": 0.5
        }
      }
    }
  ]
}
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.700
        float   inputs:roughness    = 0.300
        float   inputs:ior          = 1.450
        float   inputs:opacity      = 1.000
        float   inputs:clearcoat    = 0.500
        token   outputs:surface
    }
}
↓ download glTF material

Citations