{
  "node": {
    "id": "block:memristor",
    "type": "Block",
    "label": "Bounded drift memristor",
    "properties": {
      "id": "memristor",
      "name": "Bounded drift memristor",
      "kind": "studio",
      "summary": "Linear resistance interpolation with a smooth boundary window in the ionic drift law; phenomenological, not a fitted material model",
      "behavior": "Conserving component solved simultaneously with the connected network. Linear resistance interpolation with a smooth boundary window in the ionic drift law; phenomenological, not a fitted material model",
      "ports": [
        {
          "name": "p",
          "direction": "terminal",
          "unit": "V; A",
          "description": "electrical conserving connection; voltage across and current through the connected branch."
        },
        {
          "name": "n",
          "direction": "terminal",
          "unit": "V; A",
          "description": "electrical conserving connection; voltage across and current through the connected branch."
        },
        {
          "name": "current",
          "direction": "output",
          "unit": "A",
          "description": "Recorded current measurement from the conserving simulation."
        },
        {
          "name": "voltage",
          "direction": "output",
          "unit": "V",
          "description": "Recorded voltage measurement from the conserving simulation."
        },
        {
          "name": "state",
          "direction": "output",
          "unit": "fraction",
          "description": "Recorded state measurement from the conserving simulation."
        }
      ],
      "parameters": [
        {
          "key": "onResistanceOhm",
          "label": "On-state resistance",
          "unit": "ohm",
          "default": 100,
          "description": "Resistance of the conducting branch or conducting end of the memristor model.",
          "min": 1e-06,
          "max": 1000000000
        },
        {
          "key": "offResistanceOhm",
          "label": "Off-state resistance",
          "unit": "ohm",
          "default": 16000,
          "description": "Resistance of the open switch or insulating end of the memristor model.",
          "min": 1e-06,
          "max": 1000000000000
        },
        {
          "key": "thicknessM",
          "label": "Active layer thickness",
          "unit": "m",
          "default": 1e-08,
          "description": "Characteristic drift distance used by the memristor model.",
          "min": 1e-12,
          "max": 1
        },
        {
          "key": "mobilityM2Vs",
          "label": "Drift mobility",
          "unit": "m2/(V s)",
          "default": 1e-14,
          "description": "Effective mobility coefficient in the phenomenological internal-state equation.",
          "min": 0,
          "max": 1
        },
        {
          "key": "initialState",
          "label": "Initial internal state",
          "unit": "fraction",
          "default": 0.5,
          "description": "Initial normalized conducting-region fraction in the drift model.",
          "min": 0,
          "max": 1
        }
      ],
      "equations": [
        "R = Ron w + Roff (1 − w)",
        "dw/dt = mobility Ron I / thickness² × 4w(1 − w)"
      ],
      "example": {
        "title": "Bounded drift memristor worked example",
        "text": "Editable first-party network. supply: voltageV=1. Checks below were verified in the native execution engine.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-memristor",
        "label": "Open Studio example",
        "inputs": [
          {
            "port": "onResistanceOhm",
            "label": "On-state resistance",
            "value": 100,
            "unit": "ohm"
          },
          {
            "port": "offResistanceOhm",
            "label": "Off-state resistance",
            "value": 16000,
            "unit": "ohm"
          },
          {
            "port": "thicknessM",
            "label": "Active layer thickness",
            "value": 1e-08,
            "unit": "m"
          },
          {
            "port": "mobilityM2Vs",
            "label": "Drift mobility",
            "value": 1e-14,
            "unit": "m2/(V s)"
          }
        ],
        "checks": [
          {
            "port": "target/current",
            "label": "current",
            "atS": 1,
            "value": 0.01,
            "unit": "A",
            "tolerance": 9.999999997951385e-09
          },
          {
            "port": "target/voltage",
            "label": "voltage",
            "atS": 1,
            "value": 1,
            "unit": "V",
            "tolerance": 1e-06
          },
          {
            "port": "target/state",
            "label": "state",
            "atS": 1,
            "value": 1,
            "unit": "fraction",
            "tolerance": 9.999999999987118e-07
          }
        ]
      },
      "limits": [
        "Linear resistance interpolation with a smooth boundary window in the ionic drift law; phenomenological, not a fitted material model",
        "Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run."
      ],
      "references": [
        "physical-memristor"
      ],
      "availability": {
        "status": "released",
        "label": "Available in Lemonergy Studio",
        "detail": "The bundled example is available in the production release verified on 28 October 2026. The parameters and examples here are synthetic teaching fixtures, not a characterized cell or a validated operating limit."
      },
      "evidence": [
        "docs/glossary/native-block-verification.json"
      ],
      "sourceRepository": "Lemonergy Studio public contract",
      "sourceRevision": "verification-2026-10-27",
      "caseIds": [
        "native-memristor"
      ],
      "type": "memristor",
      "implementationId": "memristor",
      "url": "https://lemonergy.com/learn/glossary/blocks/memristor/",
      "documentationUrl": "https://lemonergy.com/learn/glossary/blocks/memristor/",
      "sourceFile": "block-library.json",
      "reviewed": "2026-10-27",
      "releaseEvidence": {
        "environment": "production",
        "status": "verified",
        "revision": "e76cadfc203e15eb41f3478d8b1044a5b851953d",
        "verifiedOn": "2026-10-28",
        "exampleUrls": [
          "https://design.lemonergy.com/cosim.html?example=physical-memristor"
        ]
      }
    }
  },
  "incoming": [
    {
      "id": "edge:usesBlock/native-memristor/0",
      "type": "usesBlock",
      "source": "workflow:native-memristor",
      "target": "block:memristor",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 0,
        "name": "Bounded drift memristor",
        "type": "memristor",
        "role": "Conserving component solved simultaneously with the connected network. Linear resistance interpolation with a smooth boundary window in the ionic drift law; phenomenological, not a fitted material model",
        "settings": [
          "Use the block reference for settings and connections.",
          "Bundled example verified on the production release of 28 October 2026."
        ]
      }
    }
  ],
  "outgoing": [
    {
      "id": "edge:cites/block:memristor/reference:physical-memristor",
      "type": "cites",
      "source": "block:memristor",
      "target": "reference:physical-memristor",
      "properties": {
        "sourceFile": "block-library.json",
        "scope": "Scientific or mathematical background; implementation scope is stated by the block contract"
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:native-memristor",
      "type": "Workflow",
      "label": "Bounded drift memristor worked example",
      "properties": {
        "id": "native-memristor",
        "title": "Bounded drift memristor worked example",
        "kind": "studio",
        "summary": "Linear resistance interpolation with a smooth boundary window in the ionic drift law; phenomenological, not a fitted material model",
        "steps": [
          "Review the interface, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare outputs with the numerical checks; change one input and run again."
        ],
        "example": "Editable first-party network. supply: voltageV=1. Checks below were verified in the native execution engine.",
        "observe": "Inspect the output channels and checks on the block reference page.",
        "limits": "Linear resistance interpolation with a smooth boundary window in the ionic drift law; phenomenological, not a fitted material model Demonstration parameters are not calibrated hardware data. Singular or incompatible ideal constraints and unsupported state ranges stop the run.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-memristor",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "reference:physical-memristor",
      "type": "Reference",
      "label": "The elusive memristor: properties of basic electrical circuits",
      "properties": {
        "title": "The elusive memristor: properties of basic electrical circuits",
        "authors": [
          "Yogesh N. Joglekar",
          "Stephen J. Wolf"
        ],
        "year": 2009,
        "doi": "10.1088/0143-0807/30/4/001",
        "url": "https://arxiv.org/abs/0807.3994",
        "type": "Research article",
        "scope": "Underlying physical law or reduced-model basis; Lemonergy implementation choices and limits are documented separately.",
        "accessed": "2026-10-27",
        "publisher": "European Journal of Physics"
      }
    }
  ]
}
