Package gov.pnnl.gridappsd.cimhub
Class GldNode
- java.lang.Object
-
- gov.pnnl.gridappsd.cimhub.GldNode
-
public class GldNode extends java.lang.ObjectHelper class to accumulate nodes and loads.All EnergyConsumer data will be attached to node objects, then written as load objects. This preserves the input ConnectivityNode names
TODO - another option is to leave all nodes un-loaded, and attach all loads to parent nodes, closer to what OpenDSS does
-
-
Field Summary
Fields Modifier and Type Field Description booleanbDeltareactive power on phase s12, constant power portionbooleanbSecondaryif bSecondary true, the member variables for phase A and B loads actually correspond to secondary phases 1 and 2.booleanbSolarInverterssignifies there are solar PV inverters connected to this busbooleanbStorageInverterssignifies are battery inverters connected to this busbooleanbSwingdenotes the SWING bus, aka substation source busbooleanbSwingPQsignifies local DER that can support an islandbooleanbSyncMachinessignifies there are synchronous machines connected to this busbooleanbTertiaryWindingsignifies this bus is connected to a tertiary (or higher) transformer winding, which is not supported in GridLAB-D.java.lang.Stringloadnamename of the load, if any, will have `ld_` prependedjava.lang.Stringnameroot name of the node or meter, will have `nd_` prependeddoublenomvlnthis nominal voltage is always line-to-neutraldoublepa_ireal power on phase A, constant current portiondoublepa_preal power on phase A, constant power portiondoublepa_zreal power on phase A, constant impedance portiondoublepb_ireal power on phase B, constant current portiondoublepb_preal power on phase B, constant power portiondoublepb_zreal power on phase B, constant impedance portiondoublepc_ireal power on phase C, constant current portiondoublepc_preal power on phase C, constant power portiondoublepc_zreal power on phase C, constant impedance portionjava.lang.StringphasesABC alloweddoubleps1_ireactive power on phase s12, constant impedance portiondoubleps1_preactive power on phase s12, constant current portiondoubleps1_zfor loads, will add N or D phasing, if not Sdoubleps12_ireal power on phase s2, constant current portiondoubleps12_preal power on phase s2, constant power portiondoubleps12_zreal power on phase s2, constant impedance portiondoubleps2_ireal power on phase s1, constant current portiondoubleps2_preal power on phase s1, constant power portiondoubleps2_zreal power on phase s1, constant impedance portiondoubleqa_ireactive power on phase A, constant current portiondoubleqa_preactive power on phase A, constant power portiondoubleqa_zreactive power on phase A, constant impedance portiondoubleqb_ireactive power on phase B, constant current portiondoubleqb_preactive power on phase B, constant power portiondoubleqb_zreactive power on phase B, constant impedance portiondoubleqc_ireactive power on phase C, constant current portiondoubleqc_preactive power on phase C, constant power portiondoubleqc_zreactive power on phase C, constant impedance portiondoubleqs1_ireal power on phase s12, constant current portiondoubleqs1_preal power on phase s12, constant power portiondoubleqs1_zreal power on phase s12, constant impedance portiondoubleqs12_ireactive power on phase s2, constant current portiondoubleqs12_preactive power on phase s2, constant power portiondoubleqs12_zreactive power on phase s2, constant impedance portiondoubleqs2_ireactive power on phase s1, constant current portiondoubleqs2_preactive power on phase s1, constant power portiondoubleqs2_zreactive power on phase s1, constant impedance portion
-
Constructor Summary
Constructors Constructor Description GldNode(java.lang.String name)constructor defaults to zero load and zero phases present
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidAccumulateLoads(java.lang.String ldname, java.lang.String phs, java.lang.String conn, double pL, double qL, double Pv, double Qv, double Pz, double Pi, double Pp, double Qz, double Qi, double Qp, boolean randomZIP)Distributes a total load (pL+jqL) among the phases (phs) present on GridLAB-D nodebooleanAddPhases(java.lang.String phs)accumulates phases presentvoidApplyZIP(double Z, double I, double P)reapportion loads according to constant power (Z/sum), constant current (I/sum) and constant power (P/sum)booleanCopyLoad(GldNode src)java.lang.StringDisplayString()java.lang.StringGetGLM(double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bLoadMeters)java.lang.StringGetPhases(boolean bForLoad)booleanHasLoad()voidRescaleLoad(double scale)scales the load by a factor that probably came from the command line's -l optionbooleanResetPhases(java.lang.String phs)doubleTotalLoadReactivePower()doubleTotalLoadRealPower()
-
-
-
Field Detail
-
name
public final java.lang.String name
root name of the node or meter, will have `nd_` prepended
-
loadname
public java.lang.String loadname
name of the load, if any, will have `ld_` prepended
-
phases
public java.lang.String phases
ABC allowed
-
nomvln
public double nomvln
this nominal voltage is always line-to-neutral
-
pa_z
public double pa_z
real power on phase A, constant impedance portion
-
pb_z
public double pb_z
real power on phase B, constant impedance portion
-
pc_z
public double pc_z
real power on phase C, constant impedance portion
-
qa_z
public double qa_z
reactive power on phase A, constant impedance portion
-
qb_z
public double qb_z
reactive power on phase B, constant impedance portion
-
qc_z
public double qc_z
reactive power on phase C, constant impedance portion
-
pa_i
public double pa_i
real power on phase A, constant current portion
-
pb_i
public double pb_i
real power on phase B, constant current portion
-
pc_i
public double pc_i
real power on phase C, constant current portion
-
qa_i
public double qa_i
reactive power on phase A, constant current portion
-
qb_i
public double qb_i
reactive power on phase B, constant current portion
-
qc_i
public double qc_i
reactive power on phase C, constant current portion
-
pa_p
public double pa_p
real power on phase A, constant power portion
-
pb_p
public double pb_p
real power on phase B, constant power portion
-
pc_p
public double pc_p
real power on phase C, constant power portion
-
qa_p
public double qa_p
reactive power on phase A, constant power portion
-
qb_p
public double qb_p
reactive power on phase B, constant power portion
-
qc_p
public double qc_p
reactive power on phase C, constant power portion
-
ps1_z
public double ps1_z
for loads, will add N or D phasing, if not S
-
ps2_z
public double ps2_z
real power on phase s1, constant impedance portion
-
ps12_z
public double ps12_z
real power on phase s2, constant impedance portion
-
qs1_z
public double qs1_z
real power on phase s12, constant impedance portion
-
qs2_z
public double qs2_z
reactive power on phase s1, constant impedance portion
-
qs12_z
public double qs12_z
reactive power on phase s2, constant impedance portion
-
ps1_i
public double ps1_i
reactive power on phase s12, constant impedance portion
-
ps2_i
public double ps2_i
real power on phase s1, constant current portion
-
ps12_i
public double ps12_i
real power on phase s2, constant current portion
-
qs1_i
public double qs1_i
real power on phase s12, constant current portion
-
qs2_i
public double qs2_i
reactive power on phase s1, constant current portion
-
qs12_i
public double qs12_i
reactive power on phase s2, constant current portion
-
ps1_p
public double ps1_p
reactive power on phase s12, constant current portion
-
ps2_p
public double ps2_p
real power on phase s1, constant power portion
-
ps12_p
public double ps12_p
real power on phase s2, constant power portion
-
qs1_p
public double qs1_p
real power on phase s12, constant power portion
-
qs2_p
public double qs2_p
reactive power on phase s1, constant power portion
-
qs12_p
public double qs12_p
reactive power on phase s2, constant power portion
-
bDelta
public boolean bDelta
reactive power on phase s12, constant power portion
-
bSwing
public boolean bSwing
denotes the SWING bus, aka substation source bus
-
bSolarInverters
public boolean bSolarInverters
signifies there are solar PV inverters connected to this bus
-
bStorageInverters
public boolean bStorageInverters
signifies are battery inverters connected to this bus
-
bSyncMachines
public boolean bSyncMachines
signifies there are synchronous machines connected to this bus
-
bSwingPQ
public boolean bSwingPQ
signifies local DER that can support an island
-
bTertiaryWinding
public boolean bTertiaryWinding
signifies this bus is connected to a tertiary (or higher) transformer winding, which is not supported in GridLAB-D.
-
bSecondary
public boolean bSecondary
if bSecondary true, the member variables for phase A and B loads actually correspond to secondary phases 1 and 2. For GridLAB-D, these are written to phase AS, BS or CS, depending on the primary phase, which we find from the service transformer or triplex.
-
-
Method Detail
-
TotalLoadRealPower
public double TotalLoadRealPower()
-
TotalLoadReactivePower
public double TotalLoadReactivePower()
-
DisplayString
public java.lang.String DisplayString()
-
AddPhases
public boolean AddPhases(java.lang.String phs)
accumulates phases present- Parameters:
phs- phases to add, may contain ABCDNSs in any order- Returns:
- always true
-
ResetPhases
public boolean ResetPhases(java.lang.String phs)
-
GetPhases
public java.lang.String GetPhases(boolean bForLoad)
- Parameters:
bForLoad- true if this node may have load connected, i.e., D phasing applies- Returns:
- phasing string for GridLAB-D with appropriate D, S or N suffix
-
AccumulateLoads
public void AccumulateLoads(java.lang.String ldname, java.lang.String phs, java.lang.String conn, double pL, double qL, double Pv, double Qv, double Pz, double Pi, double Pp, double Qz, double Qi, double Qp, boolean randomZIP)Distributes a total load (pL+jqL) among the phases (phs) present on GridLAB-D node- Parameters:
phs- phases actually present at the nodepL- total real powerqL- total reactive powerPv- real power voltage exponent from a CIM LoadResponseCharacteristicQv- reactive power voltage exponent from a CIM LoadResponseCharacteristicPz- real power constant-impedance percentage from a CIM LoadResponseCharacteristicQz- reactive power constant-impedance percentage from a CIM LoadResponseCharacteristicPi- real power constant-current percentage from a CIM LoadResponseCharacteristicQi- reactive power constant-current percentage from a CIM LoadResponseCharacteristicPp- real power constant-power percentage from a CIM LoadResponseCharacteristicQp- reactive power constant-power percentage from a CIM LoadResponseCharacteristicldname- name of the load to prepend with ld_conn- D for delta, otherwise wyerandomZIP- true to randomize the ZIP coefficients
-
ApplyZIP
public void ApplyZIP(double Z, double I, double P)reapportion loads according to constant power (Z/sum), constant current (I/sum) and constant power (P/sum)- Parameters:
Z- portion of constant-impedance loadI- portion of constant-current loadP- portion of constant-power load
-
RescaleLoad
public void RescaleLoad(double scale)
scales the load by a factor that probably came from the command line's -l option- Parameters:
scale- multiplying factor on all of the load components
-
HasLoad
public boolean HasLoad()
- Returns:
- true if a non-zero real or reactive load on any phase
-
CopyLoad
public boolean CopyLoad(GldNode src)
-
GetGLM
public java.lang.String GetGLM(double load_scale, boolean bWantSched, java.lang.String fSched, boolean bWantZIP, boolean useHouses, double Zcoeff, double Icoeff, double Pcoeff, boolean bLoadMeters)
-
-