{
  "node": {
    "id": "block:edge-cooling-plate",
    "type": "Block",
    "label": "Edge-cooled plate",
    "properties": {
      "id": "edge-cooling-plate",
      "name": "Edge-cooled plate",
      "kind": "studio",
      "summary": "Fixed 2 × 2 metal mesh with four contact ports, finite metal/coolant heat capacities, reversible coolant enthalpy transport and linear hydraulic resistance. Constant properties; single-phase coolant; ports require explicit reservoir boundaries..",
      "behavior": "Four metal temperature nodes form a fixed 2 × 2 conduction mesh with four thermal contact ports. Coolant follows one two-segment edge path. Metal and coolant have finite heat storage. Pressure difference drives reversible mass and enthalpy transport; hydraulic dissipation enters the coolant energy balance. Each liquid boundary requires an explicit pressure/temperature reservoir.",
      "ports": [
        {
          "name": "a",
          "direction": "terminal",
          "unit": "Pa / kg/s / K / W",
          "description": "Thermal-liquid conserving connection. Across variables are shared at a node; through flows balance."
        },
        {
          "name": "b",
          "direction": "terminal",
          "unit": "Pa / kg/s / K / W",
          "description": "Thermal-liquid conserving connection. Across variables are shared at a node; through flows balance."
        },
        {
          "name": "h1",
          "direction": "terminal",
          "unit": "K / W",
          "description": "Thermal conserving connection. Across variables are shared at a node; through flows balance."
        },
        {
          "name": "h2",
          "direction": "terminal",
          "unit": "K / W",
          "description": "Thermal conserving connection. Across variables are shared at a node; through flows balance."
        },
        {
          "name": "h3",
          "direction": "terminal",
          "unit": "K / W",
          "description": "Thermal conserving connection. Across variables are shared at a node; through flows balance."
        },
        {
          "name": "h4",
          "direction": "terminal",
          "unit": "K / W",
          "description": "Thermal conserving connection. Across variables are shared at a node; through flows balance."
        },
        {
          "name": "massFlow",
          "direction": "output",
          "unit": "kg/s",
          "description": "Observed massFlow."
        },
        {
          "name": "pressureDrop",
          "direction": "output",
          "unit": "Pa",
          "description": "Observed pressureDrop."
        },
        {
          "name": "hydraulicPower",
          "direction": "output",
          "unit": "W",
          "description": "Observed hydraulicPower."
        },
        {
          "name": "contactHeat",
          "direction": "output",
          "unit": "W",
          "description": "Observed contactHeat."
        },
        {
          "name": "outletTemperature",
          "direction": "output",
          "unit": "K",
          "description": "Observed outletTemperature."
        },
        {
          "name": "storedEnergy",
          "direction": "output",
          "unit": "J",
          "description": "Observed storedEnergy."
        }
      ],
      "parameters": [
        {
          "key": "plateCapacityJK",
          "label": "Total plate heat capacity",
          "unit": "J/K",
          "default": 900,
          "min": 1e-06,
          "max": 1000000000,
          "description": "Total plate heat capacity. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "coolantCapacityJK",
          "label": "Total coolant heat capacity",
          "unit": "J/K",
          "default": 420,
          "min": 1e-06,
          "max": 1000000000,
          "description": "Total coolant heat capacity. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "plateConductanceWK",
          "label": "Conductance between metal nodes",
          "unit": "W/K",
          "default": 10,
          "min": 0,
          "max": 1000000,
          "description": "Conductance between metal nodes. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "contactConductanceWK",
          "label": "Thermal contact conductance",
          "unit": "W/K",
          "default": 100,
          "min": 1e-06,
          "max": 1000000000,
          "description": "Thermal contact conductance. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "coolantConductanceWK",
          "label": "Metal-to-coolant conductance per segment",
          "unit": "W/K per segment",
          "default": 20,
          "min": 0,
          "max": 1000000000,
          "description": "Metal-to-coolant conductance per segment. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "hydraulicResistance",
          "label": "Hydraulic resistance per channel",
          "unit": "Pa s/kg per channel",
          "default": 1000000,
          "min": 0.001,
          "max": 1000000000000000,
          "description": "Hydraulic resistance per channel. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "specificHeatJkgK",
          "label": "Coolant specific heat",
          "unit": "J/(kg K)",
          "default": 4200,
          "min": 1,
          "max": 1000000,
          "description": "Coolant specific heat. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "densityKgM3",
          "label": "Coolant density",
          "unit": "kg/m3",
          "default": 1000,
          "min": 1,
          "max": 100000,
          "description": "Coolant density. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "initialPlateTemperatureK",
          "label": "Initial plate temperature",
          "unit": "K",
          "default": 310,
          "min": 0,
          "max": 5000,
          "description": "Initial plate temperature. Numerical bounds are model-validation limits, not physical operating ratings."
        },
        {
          "key": "initialCoolantTemperatureK",
          "label": "Initial coolant temperature",
          "unit": "K",
          "default": 300,
          "min": 0,
          "max": 5000,
          "description": "Initial coolant temperature. Numerical bounds are model-validation limits, not physical operating ratings."
        }
      ],
      "equations": [
        "mass flow per channel = (pressureA-pressureB)/hydraulicResistance",
        "contact heat[j] = contactConductance*(contactTemperature[j]-plateTemperature[j])",
        "metal heat capacity per node = plateCapacity/4",
        "hydraulicPower = totalMassFlow*(pressureA-pressureB)/density",
        "coolant heat capacity*dT/dt = metal-to-coolant heat + advective enthalpy + hydraulic heat"
      ],
      "example": {
        "title": "Edge-cooled plate worked example",
        "text": "The bundled model connects four 320 K thermal loads to a 310 K plate, with 300 K coolant reservoirs at 200 kPa and 100 kPa. With channel resistance 10^6 Pa s/kg, the total flow is 0.1 kg/s and hydraulic dissipation is 10 W. After 0.2 s all four loads cool below their initial temperature.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-cooling-edge",
        "label": "Open Studio example",
        "checks": [
          {
            "port": "massFlow",
            "label": "Total coolant mass flow",
            "atS": 0.2,
            "value": 0.1,
            "unit": "kg/s",
            "tolerance": 1e-06
          },
          {
            "port": "hydraulicPower",
            "label": "Hydraulic dissipation",
            "atS": 0.2,
            "value": 10,
            "unit": "W",
            "tolerance": 1e-06
          }
        ],
        "inputs": [
          {
            "port": "a",
            "label": "Inlet boundary pressure",
            "value": 200000,
            "unit": "Pa"
          },
          {
            "port": "b",
            "label": "Outlet boundary pressure",
            "value": 100000,
            "unit": "Pa"
          }
        ]
      },
      "limits": [
        "Fixed 2 × 2 metal mesh and the stated coolant path. Constant properties and single-phase incompressible coolant. No arbitrary liquid junction solver, configurable grid, resolved channel geometry or phase change."
      ],
      "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."
      },
      "references": [
        "openstax-heat"
      ],
      "evidence": [
        "docs/glossary/native-block-verification.json"
      ],
      "sourceRepository": "Lemonergy Studio public contract",
      "sourceRevision": "verification-2026-10-27",
      "caseIds": [
        "native-edge-cooling-plate"
      ],
      "type": "edge-cooling-plate",
      "implementationId": "edge-cooling-plate",
      "url": "https://lemonergy.com/learn/glossary/blocks/edge-cooling-plate/",
      "documentationUrl": "https://lemonergy.com/learn/glossary/blocks/edge-cooling-plate/",
      "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-cooling-edge"
        ]
      }
    }
  },
  "incoming": [
    {
      "id": "edge:usesBlock/native-edge-cooling-plate/0",
      "type": "usesBlock",
      "source": "workflow:native-edge-cooling-plate",
      "target": "block:edge-cooling-plate",
      "properties": {
        "sourceFile": "wiki-blocks.json",
        "position": 0,
        "name": "Edge-cooled plate",
        "type": "edge-cooling-plate",
        "role": "Four metal temperature nodes form a fixed 2 × 2 conduction mesh with four thermal contact ports. Coolant follows one two-segment edge path. Metal and coolant have finite heat storage. Pressure difference drives reversible mass and enthalpy transport; hydraulic dissipation enters the coolant energy balance. Each liquid boundary requires an explicit pressure/temperature reservoir.",
        "settings": [
          "Use the parameter values in the block reference.",
          "Bundled example verified on the production release of 28 October 2026."
        ]
      }
    }
  ],
  "outgoing": [
    {
      "id": "edge:cites/block:edge-cooling-plate/reference:openstax-heat",
      "type": "cites",
      "source": "block:edge-cooling-plate",
      "target": "reference:openstax-heat",
      "properties": {
        "sourceFile": "block-library.json",
        "scope": "Scientific or mathematical background; implementation scope is stated by the block contract"
      }
    }
  ],
  "neighbors": [
    {
      "id": "workflow:native-edge-cooling-plate",
      "type": "Workflow",
      "label": "Edge-cooled plate worked example",
      "properties": {
        "id": "native-edge-cooling-plate",
        "title": "Edge-cooled plate worked example",
        "kind": "studio",
        "summary": "Fixed 2 × 2 metal mesh with four contact ports, finite metal/coolant heat capacities, reversible coolant enthalpy transport and linear hydraulic resistance. Constant properties; single-phase coolant; ports require explicit reservoir boundaries..",
        "steps": [
          "Review the block inputs, units and model limits.",
          "Open the Studio example and run its bundled model.",
          "Compare the output channels with the numerical checks; change one input and run again."
        ],
        "example": "The bundled model connects four 320 K thermal loads to a 310 K plate, with 300 K coolant reservoirs at 200 kPa and 100 kPa. With channel resistance 10^6 Pa s/kg, the total flow is 0.1 kg/s and hydraulic dissipation is 10 W. After 0.2 s all four loads cool below their initial temperature.",
        "observe": "Inspect the outputs and numerical checks on the block reference page.",
        "limits": "Fixed 2 × 2 metal mesh and the stated coolant path. Constant properties and single-phase incompressible coolant. No arbitrary liquid junction solver, configurable grid, resolved channel geometry or phase change.",
        "url": "https://design.lemonergy.com/cosim.html?example=physical-cooling-edge",
        "label": "Open Studio example",
        "evidence": [
          "docs/glossary/native-block-verification.json"
        ]
      }
    },
    {
      "id": "reference:openstax-heat",
      "type": "Reference",
      "label": "University Physics Volume 2, §1.6: Mechanisms of Heat Transfer",
      "properties": {
        "title": "University Physics Volume 2, §1.6: Mechanisms of Heat Transfer",
        "publisher": "OpenStax, Rice University",
        "url": "https://openstax.org/books/university-physics-volume-2/pages/1-6-mechanisms-of-heat-transfer",
        "type": "Textbook section",
        "scope": "Conduction, convection, radiation and thermal resistance.",
        "accessed": "2026-10-27"
      }
    }
  ]
}
