Class: CapacitorRecord¶
Shunt capacitor data record for DistOPF. Reactive power values are in per-unit (base s_base, taken from the bus record for the connected bus).
classDiagram
class CapacitorRecord
click CapacitorRecord href "../CapacitorRecord/"
CapacitorRecord : id
CapacitorRecord : name
CapacitorRecord : phases
CapacitorRecord : qa
CapacitorRecord : qb
CapacitorRecord : qc
Slots¶
| Name | Cardinality and Range | Description | Inheritance |
|---|---|---|---|
| id | 1 Integer |
Capacitor integer index (one-based row number) | direct |
| name | 0..1 String |
Capacitor name label (matches the name of the bus where the capacitor connect... | direct |
| qa | 0..1 Float |
Phase A reactive power injection in per-unit (base s_base) | direct |
| qb | 0..1 Float |
Phase B reactive power injection in per-unit (base s_base) | direct |
| qc | 0..1 Float |
Phase C reactive power injection in per-unit (base s_base) | direct |
| phases | 0..1 String |
Active phases for this capacitor (abc, a, b, c, ab, ac, bc) | direct |
Usages¶
| used by | used in | type | used |
|---|---|---|---|
| DistopfModel | capacitor_records | range | CapacitorRecord |
Comments¶
- DistOPF CapacitorRecord maps to CIM LinearShuntCompensator. Import creates one LinearShuntCompensator per record, deriving susceptance from the record's reactive power and the connected bus's nominal voltage. Export reads either per-phase LinearShuntCompensatorPhase children (preferred) or the parent-level bPerSection (fallback, all three phases equal) and converts back to per-unit reactive power.
Identifier and Mapping Information¶
Schema Source¶
- from schema: https://gridappsd.org/cimhub/distopf
Mappings¶
| Mapping Type | Mapped Value |
|---|---|
| self | distopf:CapacitorRecord |
| native | distopf:CapacitorRecord |
| exact | cim:LinearShuntCompensator |
LinkML Source¶
Direct¶
name: CapacitorRecord
description: Shunt capacitor data record for DistOPF. Reactive power values are in
per-unit (base s_base, taken from the bus record for the connected bus).
comments:
- DistOPF CapacitorRecord maps to CIM LinearShuntCompensator. Import creates one LinearShuntCompensator
per record, deriving susceptance from the record's reactive power and the connected
bus's nominal voltage. Export reads either per-phase LinearShuntCompensatorPhase
children (preferred) or the parent-level bPerSection (fallback, all three phases
equal) and converts back to per-unit reactive power.
from_schema: https://gridappsd.org/cimhub/distopf
exact_mappings:
- cim:LinearShuntCompensator
attributes:
id:
name: id
annotations:
order:
tag: order
value: 1
value_type:
tag: value_type
value: int
separator:
tag: separator
value: ','
description: Capacitor integer index (one-based row number).
comments:
- 'DistOPF-only: a row index used to key this record, not a CIM identity. On import
the capacitor''s ConnectivityNode is looked up by name (falling back to this
index against the bus table) and the CIM object itself is identified by its
own mRID.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
identifier: true
domain_of:
- BusRecord
- GeneratorRecord
- CapacitorRecord
- BatteryRecord
- RegulatorRecord
range: integer
required: true
name:
name: name
annotations:
order:
tag: order
value: 2
value_type:
tag: value_type
value: string
quote:
tag: quote
value: false
separator:
tag: separator
value: ','
description: Capacitor name label (matches the name of the bus where the capacitor
connects).
comments:
- 'Import: LinearShuntCompensator.name = name, and the same string is used to
look up the connected ConnectivityNode by name. Export: name = LinearShuntCompensator.name
(the CIM object''s own name, not necessarily the bus name at export time).'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
exact_mappings:
- cim:IdentifiedObject.name
ifabsent: string("")
domain_of:
- BusRecord
- BranchRecord
- GeneratorRecord
- CapacitorRecord
- BatteryRecord
range: string
required: false
qa:
name: qa
annotations:
order:
tag: order
value: 3
value_type:
tag: value_type
value: float
precision:
tag: precision
value: 6
separator:
tag: separator
value: ','
description: Phase A reactive power injection in per-unit (base s_base).
comments:
- 'Import: qa, qb, and qc are summed and converted to susceptance via bPerSection
= (qa + qb + qc) × s_base / v_ln², using the connected bus''s line-to-neutral
base voltage; the single resulting LinearShuntCompensator.bPerSection is not
currently split back out per phase. Export: qa = LinearShuntCompensatorPhase(phase=A).bPerSection
× v_ln² / s_base when per-phase children exist; otherwise the parent-level bPerSection
is applied equally to qa, qb, and qc.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
close_mappings:
- cim:LinearShuntCompensatorPhase.bPerSection
ifabsent: float(0.0)
domain_of:
- GeneratorRecord
- CapacitorRecord
range: float
required: false
unit:
ucum_code: pu
qb:
name: qb
annotations:
order:
tag: order
value: 4
value_type:
tag: value_type
value: float
precision:
tag: precision
value: 6
separator:
tag: separator
value: ','
description: Phase B reactive power injection in per-unit (base s_base).
comments:
- 'Same import/export formula as qa (phase B): see the qa comment for the full
bPerSection derivation.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
close_mappings:
- cim:LinearShuntCompensatorPhase.bPerSection
ifabsent: float(0.0)
domain_of:
- GeneratorRecord
- CapacitorRecord
range: float
required: false
unit:
ucum_code: pu
qc:
name: qc
annotations:
order:
tag: order
value: 5
value_type:
tag: value_type
value: float
precision:
tag: precision
value: 6
separator:
tag: separator
value: ','
description: Phase C reactive power injection in per-unit (base s_base).
comments:
- 'Same import/export formula as qa (phase C): see the qa comment for the full
bPerSection derivation.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
close_mappings:
- cim:LinearShuntCompensatorPhase.bPerSection
ifabsent: float(0.0)
domain_of:
- GeneratorRecord
- CapacitorRecord
range: float
required: false
unit:
ucum_code: pu
phases:
name: phases
annotations:
order:
tag: order
value: 6
value_type:
tag: value_type
value: string
quote:
tag: quote
value: false
separator:
tag: separator
value: ''
description: Active phases for this capacitor (abc, a, b, c, ab, ac, bc).
comments:
- 'Not used on import (the importer always creates a single three-phase LinearShuntCompensator).
Export: derived from the set of phases with a LinearShuntCompensatorPhase child
(a, b, and/or c); defaults to "abc" when no per-phase children are present.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
related_mappings:
- cim:LinearShuntCompensatorPhase.phase
ifabsent: string("abc")
domain_of:
- BusRecord
- BranchRecord
- GeneratorRecord
- CapacitorRecord
- BatteryRecord
- RegulatorRecord
range: string
required: false
Induced¶
name: CapacitorRecord
description: Shunt capacitor data record for DistOPF. Reactive power values are in
per-unit (base s_base, taken from the bus record for the connected bus).
comments:
- DistOPF CapacitorRecord maps to CIM LinearShuntCompensator. Import creates one LinearShuntCompensator
per record, deriving susceptance from the record's reactive power and the connected
bus's nominal voltage. Export reads either per-phase LinearShuntCompensatorPhase
children (preferred) or the parent-level bPerSection (fallback, all three phases
equal) and converts back to per-unit reactive power.
from_schema: https://gridappsd.org/cimhub/distopf
exact_mappings:
- cim:LinearShuntCompensator
attributes:
id:
name: id
annotations:
order:
tag: order
value: 1
value_type:
tag: value_type
value: int
separator:
tag: separator
value: ','
description: Capacitor integer index (one-based row number).
comments:
- 'DistOPF-only: a row index used to key this record, not a CIM identity. On import
the capacitor''s ConnectivityNode is looked up by name (falling back to this
index against the bus table) and the CIM object itself is identified by its
own mRID.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
identifier: true
owner: CapacitorRecord
domain_of:
- BusRecord
- GeneratorRecord
- CapacitorRecord
- BatteryRecord
- RegulatorRecord
range: integer
required: true
name:
name: name
annotations:
order:
tag: order
value: 2
value_type:
tag: value_type
value: string
quote:
tag: quote
value: false
separator:
tag: separator
value: ','
description: Capacitor name label (matches the name of the bus where the capacitor
connects).
comments:
- 'Import: LinearShuntCompensator.name = name, and the same string is used to
look up the connected ConnectivityNode by name. Export: name = LinearShuntCompensator.name
(the CIM object''s own name, not necessarily the bus name at export time).'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
exact_mappings:
- cim:IdentifiedObject.name
ifabsent: string("")
owner: CapacitorRecord
domain_of:
- BusRecord
- BranchRecord
- GeneratorRecord
- CapacitorRecord
- BatteryRecord
range: string
required: false
qa:
name: qa
annotations:
order:
tag: order
value: 3
value_type:
tag: value_type
value: float
precision:
tag: precision
value: 6
separator:
tag: separator
value: ','
description: Phase A reactive power injection in per-unit (base s_base).
comments:
- 'Import: qa, qb, and qc are summed and converted to susceptance via bPerSection
= (qa + qb + qc) × s_base / v_ln², using the connected bus''s line-to-neutral
base voltage; the single resulting LinearShuntCompensator.bPerSection is not
currently split back out per phase. Export: qa = LinearShuntCompensatorPhase(phase=A).bPerSection
× v_ln² / s_base when per-phase children exist; otherwise the parent-level bPerSection
is applied equally to qa, qb, and qc.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
close_mappings:
- cim:LinearShuntCompensatorPhase.bPerSection
ifabsent: float(0.0)
owner: CapacitorRecord
domain_of:
- GeneratorRecord
- CapacitorRecord
range: float
required: false
unit:
ucum_code: pu
qb:
name: qb
annotations:
order:
tag: order
value: 4
value_type:
tag: value_type
value: float
precision:
tag: precision
value: 6
separator:
tag: separator
value: ','
description: Phase B reactive power injection in per-unit (base s_base).
comments:
- 'Same import/export formula as qa (phase B): see the qa comment for the full
bPerSection derivation.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
close_mappings:
- cim:LinearShuntCompensatorPhase.bPerSection
ifabsent: float(0.0)
owner: CapacitorRecord
domain_of:
- GeneratorRecord
- CapacitorRecord
range: float
required: false
unit:
ucum_code: pu
qc:
name: qc
annotations:
order:
tag: order
value: 5
value_type:
tag: value_type
value: float
precision:
tag: precision
value: 6
separator:
tag: separator
value: ','
description: Phase C reactive power injection in per-unit (base s_base).
comments:
- 'Same import/export formula as qa (phase C): see the qa comment for the full
bPerSection derivation.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
close_mappings:
- cim:LinearShuntCompensatorPhase.bPerSection
ifabsent: float(0.0)
owner: CapacitorRecord
domain_of:
- GeneratorRecord
- CapacitorRecord
range: float
required: false
unit:
ucum_code: pu
phases:
name: phases
annotations:
order:
tag: order
value: 6
value_type:
tag: value_type
value: string
quote:
tag: quote
value: false
separator:
tag: separator
value: ''
description: Active phases for this capacitor (abc, a, b, c, ab, ac, bc).
comments:
- 'Not used on import (the importer always creates a single three-phase LinearShuntCompensator).
Export: derived from the set of phases with a LinearShuntCompensatorPhase child
(a, b, and/or c); defaults to "abc" when no per-phase children are present.'
from_schema: https://gridappsd.org/cimhub/distopf/classes/capacitor
related_mappings:
- cim:LinearShuntCompensatorPhase.phase
ifabsent: string("abc")
owner: CapacitorRecord
domain_of:
- BusRecord
- BranchRecord
- GeneratorRecord
- CapacitorRecord
- BatteryRecord
- RegulatorRecord
range: string
required: false