{
  "node": {
    "id": "block:electrical-reference",
    "type": "Block",
    "label": "Electrical reference",
    "properties": {
      "id": "electrical-reference",
      "name": "Electrical reference",
      "kind": "studio",
      "summary": "Define the zero-voltage potential of an electrical island.",
      "behavior": "Connect its p terminal to the intended reference net. Every disconnected electrical island needs a reference to give the conserving network a determinate voltage datum.",
      "ports": [
        {
          "name": "p",
          "direction": "conserving",
          "unit": "V, A",
          "description": "Electrical terminal: potential and charge-conserving current."
        }
      ],
      "parameters": [],
      "equations": [
        "V_reference = 0"
      ],
      "example": {
        "title": "Build CC–CV charging",
        "text": "An illustrative 100 Ah battery with a 420 V ceiling can use a 32 A cap. At the ceiling, current falls as OCV rises.",
        "url": "https://design.lemonergy.com/cosim.html?example=charging-home",
        "label": "Open the Studio example"
      },
      "limits": [
        "The battery uses linear OCV and fixed resistance. It does not automatically add aging, thermal dynamics or balancing.",
        "Internal model SOC is not an estimate of an unknown physical battery. OCV is linear and resistance fixed.",
        "This excludes AC waveforms, synchronization, communications and certification.",
        "The RC example includes a capacitor: transient current varies and source voltage is not always resistor voltage.",
        "This generic circuit does not identify cell parameters from measurements."
      ],
      "evidence": [
        "js/charging-control.js",
        "js/charging-scenarios.js",
        "docs/CHARGING_BLOCKS_SPEC.md",
        "js/physical-network.js",
        "js/studio-examples.js"
      ],
      "caseIds": [
        "cccv",
        "ocv-charge-balance",
        "v2g",
        "ohm-circuit",
        "rc-response"
      ],
      "type": "electrical-reference",
      "implementationId": "electrical-reference",
      "url": "https://lemonergy.com/learn/glossary/blocks/electrical-reference/",
      "documentationUrl": "https://lemonergy.com/learn/glossary/blocks/electrical-reference/",
      "sourceFile": "block-library.json",
      "sourceRepository": "battery-design",
      "sourceRevision": "ef9802329b75bc15bb96885f8ed5d49425106696",
      "reviewed": "2026-10-27"
    }
  },
  "incoming": [
    {
      "id": "edge:usesBlock/cccv/3",
      "type": "usesBlock",
      "source": "workflow:cccv",
      "target": "block:electrical-reference",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 3,
        "name": "Electrical reference",
        "type": "electrical-reference",
        "role": "Sets zero potential",
        "settings": [
          "Connect p to reference net"
        ]
      }
    },
    {
      "id": "edge:usesBlock/ocv-charge-balance/2",
      "type": "usesBlock",
      "source": "workflow:ocv-charge-balance",
      "target": "block:electrical-reference",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 2,
        "name": "Electrical reference",
        "type": "electrical-reference",
        "role": "Sets zero potential",
        "settings": [
          "Connect p to reference net"
        ]
      }
    },
    {
      "id": "edge:usesBlock/ohm-circuit/2",
      "type": "usesBlock",
      "source": "workflow:ohm-circuit",
      "target": "block:electrical-reference",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 2,
        "name": "Electrical reference",
        "type": "electrical-reference",
        "role": "Sets zero potential",
        "settings": [
          "Connect p to reference net"
        ]
      }
    },
    {
      "id": "edge:usesBlock/rc-response/3",
      "type": "usesBlock",
      "source": "workflow:rc-response",
      "target": "block:electrical-reference",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 3,
        "name": "Electrical reference",
        "type": "electrical-reference",
        "role": "Sets zero potential",
        "settings": [
          "Connect p to reference net"
        ]
      }
    },
    {
      "id": "edge:usesBlock/v2g/3",
      "type": "usesBlock",
      "source": "workflow:v2g",
      "target": "block:electrical-reference",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 3,
        "name": "Electrical reference",
        "type": "electrical-reference",
        "role": "Sets zero potential",
        "settings": [
          "Connect p to reference net"
        ]
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:cccv",
      "type": "Workflow",
      "label": "Build CC–CV charging",
      "properties": {
        "id": "cccv",
        "title": "Build CC–CV charging",
        "kind": "studio",
        "summary": "Native current and voltage regulation act against an explicit battery.",
        "steps": [
          "Open home charging and inspect settings.",
          "Choose immediate charging; inspect mode and completion."
        ],
        "example": "An illustrative 100 Ah battery with a 420 V ceiling can use a 32 A cap. At the ceiling, current falls as OCV rises.",
        "observe": "Completion needs current below cutoff at the CV ceiling for the configured dwell. Site-limited low current is different.",
        "limits": "The battery uses linear OCV and fixed resistance. It does not automatically add aging, thermal dynamics or balancing.",
        "url": "https://design.lemonergy.com/cosim.html?example=charging-home",
        "label": "Open the Studio example",
        "evidence": [
          "js/charging-control.js",
          "js/charging-scenarios.js",
          "docs/CHARGING_BLOCKS_SPEC.md"
        ]
      }
    },
    {
      "id": "workflow:ocv-charge-balance",
      "type": "Workflow",
      "label": "Connect SOC and voltage",
      "properties": {
        "id": "ocv-charge-balance",
        "title": "Connect SOC and voltage",
        "kind": "studio",
        "summary": "The battery integrates charge and combines OCV with resistance.",
        "steps": [
          "Inspect capacity, initial SOC and OCV endpoints.",
          "Compare OCV with terminal voltage."
        ],
        "example": "OCV endpoints of 300 and 420 V give 360 V at 50% SOC. Charging at 10 A through 0.08 Ω adds 0.8 V.",
        "observe": "At unity coulombic efficiency, 10 A for 1 h adds ten percentage points to 100 Ah.",
        "limits": "Internal model SOC is not an estimate of an unknown physical battery. OCV is linear and resistance fixed.",
        "url": "https://design.lemonergy.com/cosim.html?example=charging-home",
        "label": "Open the Studio example",
        "evidence": [
          "js/charging-control.js",
          "js/charging-scenarios.js",
          "docs/CHARGING_BLOCKS_SPEC.md"
        ]
      }
    },
    {
      "id": "workflow:ohm-circuit",
      "type": "Workflow",
      "label": "Relate current and voltage",
      "properties": {
        "id": "ohm-circuit",
        "title": "Relate current and voltage",
        "kind": "studio",
        "summary": "Conserving components solve constitutive relations and node balance.",
        "steps": [
          "Inspect source and resistor in the RC example.",
          "Compare branch current with resistor voltage."
        ],
        "example": "A 1 V drop across 2 Ω implies 0.5 A.",
        "observe": "Topology sets individual element voltages.",
        "limits": "The RC example includes a capacitor: transient current varies and source voltage is not always resistor voltage.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-rc",
        "label": "Open the electrical circuit",
        "evidence": [
          "js/physical-network.js",
          "js/studio-examples.js"
        ]
      }
    },
    {
      "id": "workflow:rc-response",
      "type": "Workflow",
      "label": "Observe an RC time constant",
      "properties": {
        "id": "rc-response",
        "title": "Observe an RC time constant",
        "kind": "studio",
        "summary": "An RC circuit uses source, resistor, capacitor and reference blocks.",
        "steps": [
          "Keep R = 1 Ω and C = 1 F.",
          "Inspect capacitor voltage after one and two time constants."
        ],
        "example": "From zero initial voltage with a 1 V step, ideal capacitor voltage is about 0.632 V at 1 s and 0.865 V at 2 s.",
        "observe": "Doubling resistance or capacitance doubles the time constant.",
        "limits": "This generic circuit does not identify cell parameters from measurements.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-rc",
        "label": "Open the RC example",
        "evidence": [
          "js/physical-network.js",
          "js/studio-examples.js"
        ]
      }
    },
    {
      "id": "workflow:v2g",
      "type": "Workflow",
      "label": "Model signed grid exchange",
      "properties": {
        "id": "v2g",
        "title": "Model signed grid exchange",
        "kind": "studio",
        "summary": "Explicit battery and converter exchange average power.",
        "steps": [
          "Set export window and SOC reserve.",
          "Inspect power and energy."
        ],
        "example": "−5 kW requests export; +5 kW requests import. 5 kW exported at 95% efficiency needs about 5.26 kW battery power.",
        "observe": "Reserve and converter limits can reduce export.",
        "limits": "This excludes AC waveforms, synchronization, communications and certification.",
        "url": "https://design.lemonergy.com/cosim.html?example=charging-v2g",
        "label": "Open the Studio example",
        "evidence": [
          "js/charging-control.js",
          "js/charging-scenarios.js",
          "docs/CHARGING_BLOCKS_SPEC.md"
        ]
      }
    }
  ]
}
