Class TLoadObj

Unit

Declaration

type TLoadObj = class(TPCElement)

Description

No description available, ancestor TPCElement description follows
No description available, ancestor TDSSCktElement description follows
No description available, ancestor TDSSObject description follows
No description available, ancestor TNamedObject description follows

this is a GUID compliant to RFC 4122, v4

Hierarchy

Overview

Fields

Public FAllocationFactor: Double;
Public FkVAAllocationFactor: Double;
Public FConnectedkVA: Double;
Public FkWh: Double;
Public FkWhDays: Double;
Public FCFactor: Double;
Public FAvgkW: Double;
Public FPhaseCurr: pComplexArray;
Public HarmAng: pDoubleArray;
Public HarmMag: pDoubleArray;
Public LastGrowthFactor: Double;
Public LastYear: Integer;
Public LoadFundamental: Double;
Public LoadSolutionCount: Integer;
Public OpenLoadSolutionCount: Integer;
Public RandomMult: Double;
Public ShapeFactor: Complex;
Public varBase: Double;
Public varNominal: Double;
Public VBase: Double;
Public VBase105: Double;
Public VBase95: Double;
Public VBaseLow: Double;
Public WNominal: Double;
Public Yeq: Complex;
Public Yeq105: Complex;
Public Yeq105I: Complex;
Public Yeq95: Complex;
Public Yneut: Complex;
Public YPrimOpenCond: TCmatrix;
Public YQFixed: Double;
Public FpuXHarm: Double;
Public FXRHarmRatio: Double;
Public FpuMean: Double;
Public FpuStdDev: Double;
Public FCVRwattFactor: Double;
Public FCVRvarFactor: Double;
Public Vmaxpu: Double;
Public VminEmerg: Double;
Public VminNormal: Double;
Public Vminpu: Double;
Public VLowpu: Double;
Public ILow: Complex;
Public I95: Complex;
Public IBase: Complex;
Public M95: Complex;
Public M95I: Complex;
Public status: TLoadStatus;
Public ShapeIsActual: Boolean;
Public PFSpecified: Boolean;
Public PFChanged: Boolean;
Public Connection: TLoadConnection;
Public DailyShapeObj: TLoadShapeObj;
Public DutyShapeObj: TLoadShapeObj;
Public EEN_Factor: Double;
Public GrowthShapeObj: TGrowthShapeObj;
Public HasBeenAllocated: Boolean;
Public kWBase: Double;
Public kVABase: Double;
Public kWref: Double;
Public kVARref: Double;
Public kvarBase: Double;
Public kVLoadBase: Double;
Public LoadClass: Integer;
Public NumCustomers: Integer;
Public LoadSpecType: TLoadSpec;
Public PFNominal: Double;
Public Rneut: Double;
Public UE_Factor: Double;
Public Xneut: Double;
Public YearlyShapeObj: TLoadShapeObj;
Public CVRShapeObj: TLoadShapeObj;
Public ZIPV: Array[1..7] of Double;
Public ZIPVset: Boolean;
Public puSeriesRL: Double;
Public RelWeighting: Double;
Public FLoadModel: TLoadModel;
Public nested const nZIPV = 7;

Methods

Public function AllTerminalsClosed: Boolean;
Public procedure CalcDailyMult(Hr: Double);
Public procedure CalcDutyMult(Hr: Double);
Public procedure CalcInjCurrentArray;
Public procedure CalcLoadModelContribution;
Public procedure CalcVTerminalPhase;
Public procedure CalcYearlyMult(Hr: Double);
Public procedure CalcCVRMult(Hr: Double);
Public procedure CalcYPrimMatrix(Ymatrix: TcMatrix);
Public procedure DoConstantILoad;
Public procedure DoConstantPQLoad;
Public procedure DoConstantZLoad;
Public procedure DoFixedQ;
Public procedure DoFixedQZ;
Public procedure DoHarmonicMode;
Public procedure DoCVRModel;
Public procedure DoZIPVModel;
Public procedure DoMotorTypeLoad;
Public function GrowthFactor(Year: Integer): Double;
Public procedure StickCurrInTerminalArray(TermArray: pComplexArray; const Curr: Complex; i: Integer); inline;
Public function InterpolateY95_YLow(const Vmag: Double): Complex; inline;
Public function InterpolateY95I_YLow(const Vmag: Double): Complex; inline;
Public function Get_Unserved: Boolean;
Public function Get_ExceedsNormal: Boolean;
Public procedure Set_kVAAllocationFactor(const Value: Double);
Public procedure ComputeAllocatedLoad;
Public procedure Set_CFactor(const Value: Double);
Public procedure Set_AllocationFactor(const Value: Double);
Public procedure SetkWkvar(const PkW, Qkvar: Double);
Protected procedure GetTerminalCurrents(Curr: pComplexArray); OVERRIDE;
Public constructor Create(ParClass: TDSSClass; const SourceName: String);
Public destructor Destroy; OVERRIDE;
Public procedure PropertySideEffects(Idx: Integer; previousIntVal: Integer = 0); override;
Public procedure MakeLike(OtherPtr: Pointer); override;
Public procedure RecalcElementData; OVERRIDE;
Public procedure CalcYPrim; OVERRIDE;
Public function InjCurrents: Integer; OVERRIDE;
Public procedure InitHarmonics; OVERRIDE;
Public procedure MakePosSequence(); OVERRIDE;
Public procedure SetNominalLoad;
Public procedure Randomize(Opt: Integer);

Properties

Public property Unserved: Boolean READ Get_Unserved;
Public property ExceedsNormal: Boolean READ Get_ExceedsNormal;
Public property AllocationFactor: Double READ FAllocationFactor WRITE Set_AllocationFactor;
Public property kVAAllocationFactor: Double READ FkVAAllocationFactor WRITE Set_kVAAllocationFactor;
Public property ConnectedkVA: Double READ FConnectedkVA;
Public property kWh: Double READ FkWh;
Public property kWhDays: Double READ FkWhDays;
Public property CFactor: Double READ FCFactor WRITE Set_CFactor;
Public property puMean: Double READ FpuMean;
Public property puStdDev: Double READ FpuStdDev;
Public property CVRwatts: Double READ FCVRwattFactor;
Public property CVRvars: Double READ FCVRvarFactor;
Public property MaxPU: Double READ Vmaxpu;
Public property MinEmerg: Double READ VminEmerg;
Public property MinNormal: Double READ VminNormal;
Public property MinPU: Double READ Vminpu;
Public property IsPFSpecified: Boolean read PFSpecified;

Description

Fields

Public FAllocationFactor: Double;
 
Public FkVAAllocationFactor: Double;

For all types of allocation

Public FConnectedkVA: Double;

for connected kVA specification

Public FkWh: Double;
 
Public FkWhDays: Double;
 
Public FCFactor: Double;
 
Public FAvgkW: Double;

For kWh billed spec

Public FPhaseCurr: pComplexArray;
 
Public HarmAng: pDoubleArray;

this is the intermediate current computed in each power flow mode.

Public HarmMag: pDoubleArray;

References for Harmonics mode

Public LastGrowthFactor: Double;
 
Public LastYear: Integer;
 
Public LoadFundamental: Double;

added FOR speedup so we don't have to search FOR growth factor a lot

Public LoadSolutionCount: Integer;
 
Public OpenLoadSolutionCount: Integer;
 
Public RandomMult: Double;
 
Public ShapeFactor: Complex;
 
Public varBase: Double;
 
Public varNominal: Double;

Base vars per phase

Public VBase: Double;
 
Public VBase105: Double;

Base volts suitable for computing currents

Public VBase95: Double;
 
Public VBaseLow: Double;
 
Public WNominal: Double;
 
Public Yeq: Complex;

Nominal Watts per phase

Public Yeq105: Complex;

at nominal

Public Yeq105I: Complex;
 
Public Yeq95: Complex;

***Added by Celso & Paulo

Public Yneut: Complex;
 
Public YPrimOpenCond: TCmatrix;
 
Public YQFixed: Double;

To handle cases where one conductor of load is open

Public FpuXHarm: Double;

Fixed value of y FOR type 7 load

Public FXRHarmRatio: Double;

puX for harmonics solution.

Public FpuMean: Double;

X/R at fundamental formerly private, now read-only properties for COM access

Public FpuStdDev: Double;
 
Public FCVRwattFactor: Double;
 
Public FCVRvarFactor: Double;
 
Public Vmaxpu: Double;
 
Public VminEmerg: Double;
 
Public VminNormal: Double;

overrides system settings IF <> 0.0

Public Vminpu: Double;
 
Public VLowpu: Double;
 
Public ILow: Complex;

below this voltage, resorts to linear @ Yeq For interpolating currents between VbaseLow and Vbase95

Public I95: Complex;
 
Public IBase: Complex;
 
Public M95: Complex;

at nominal ***Added by Celso & Paulo

Public M95I: Complex;

complex slope of line between Low and 95

Public status: TLoadStatus;

complex slope of line between Low and 95 for Constant I **Added by Celso & Paulo

Public ShapeIsActual: Boolean;
 
Public PFSpecified: Boolean;
 
Public PFChanged: Boolean;

Added 3-16-16 to fix problem with UseActual

Public Connection: TLoadConnection;
 
Public DailyShapeObj: TLoadShapeObj;
 
Public DutyShapeObj: TLoadShapeObj;

Daily load Shape FOR this load

Public EEN_Factor: Double;

Shape for this load

Public GrowthShapeObj: TGrowthShapeObj;

is overloaded Factor is the amount of overload

Public HasBeenAllocated: Boolean;

Shape for this Growth Curve

Public kWBase: Double;
 
Public kVABase: Double;
 
Public kWref: Double;
 
Public kVARref: Double;
 
Public kvarBase: Double;
 
Public kVLoadBase: Double;
 
Public LoadClass: Integer;
 
Public NumCustomers: Integer;
 
Public LoadSpecType: TLoadSpec;
 
Public PFNominal: Double;

0=kW, PF; 1= kw, kvar; 2=kva, PF

Public Rneut: Double;
 
Public UE_Factor: Double;
 
Public Xneut: Double;

These are set to > 0 IF a line in the critical path

Public YearlyShapeObj: TLoadShapeObj;

Neutral impedance

Public CVRShapeObj: TLoadShapeObj;

Shape for this load

Public ZIPV: Array[1..7] of Double;
 
Public ZIPVset: Boolean;

Made public 5-20-2013

Public puSeriesRL: Double;
 
Public RelWeighting: Double;
 
Public FLoadModel: TLoadModel;
 
Public nested const nZIPV = 7;
 

Methods

Public function AllTerminalsClosed: Boolean;
 
Public procedure CalcDailyMult(Hr: Double);
 
Public procedure CalcDutyMult(Hr: Double);
 
Public procedure CalcInjCurrentArray;
 
Public procedure CalcLoadModelContribution;
 
Public procedure CalcVTerminalPhase;
 
Public procedure CalcYearlyMult(Hr: Double);
 
Public procedure CalcCVRMult(Hr: Double);
 
Public procedure CalcYPrimMatrix(Ymatrix: TcMatrix);
 
Public procedure DoConstantILoad;
 
Public procedure DoConstantPQLoad;
 
Public procedure DoConstantZLoad;
 
Public procedure DoFixedQ;
 
Public procedure DoFixedQZ;
 
Public procedure DoHarmonicMode;
 
Public procedure DoCVRModel;
 
Public procedure DoZIPVModel;
 
Public procedure DoMotorTypeLoad;
 
Public function GrowthFactor(Year: Integer): Double;
 
Public procedure StickCurrInTerminalArray(TermArray: pComplexArray; const Curr: Complex; i: Integer); inline;
 
Public function InterpolateY95_YLow(const Vmag: Double): Complex; inline;
 
Public function InterpolateY95I_YLow(const Vmag: Double): Complex; inline;
 
Public function Get_Unserved: Boolean;

***Added by Celso & Paulo

Public function Get_ExceedsNormal: Boolean;
 
Public procedure Set_kVAAllocationFactor(const Value: Double);
 
Public procedure ComputeAllocatedLoad;
 
Public procedure Set_CFactor(const Value: Double);

Set kWh properties ...

Public procedure Set_AllocationFactor(const Value: Double);
 
Public procedure SetkWkvar(const PkW, Qkvar: Double);
 
Protected procedure GetTerminalCurrents(Curr: pComplexArray); OVERRIDE;
 
Public constructor Create(ParClass: TDSSClass; const SourceName: String);

Variation with voltage

Public destructor Destroy; OVERRIDE;
 
Public procedure PropertySideEffects(Idx: Integer; previousIntVal: Integer = 0); override;
 
Public procedure MakeLike(OtherPtr: Pointer); override;
 
Public procedure RecalcElementData; OVERRIDE;
 
Public procedure CalcYPrim; OVERRIDE;
 
Public function InjCurrents: Integer; OVERRIDE;
 
Public procedure InitHarmonics; OVERRIDE;
 
Public procedure MakePosSequence(); OVERRIDE;
 
Public procedure SetNominalLoad;

Make a positive Sequence Model

Public procedure Randomize(Opt: Integer);
 

Properties

Public property Unserved: Boolean READ Get_Unserved;

0 = reset to 1.0 1 = Gaussian around mean and std Dev 2 = uniform

Public property ExceedsNormal: Boolean READ Get_ExceedsNormal;
 
Public property AllocationFactor: Double READ FAllocationFactor WRITE Set_AllocationFactor;

AllocationFactor adjusts either connected kVA allocation factor or kWh CFactor

Public property kVAAllocationFactor: Double READ FkVAAllocationFactor WRITE Set_kVAAllocationFactor;

Allocate load from connected kva or kWh billing TODO: remove these properties, use plain DSS properties instead to ease the code transition?

Public property ConnectedkVA: Double READ FConnectedkVA;
 
Public property kWh: Double READ FkWh;
 
Public property kWhDays: Double READ FkWhDays;

WRITE Set_kWh;

Public property CFactor: Double READ FCFactor WRITE Set_CFactor;
 
Public property puMean: Double READ FpuMean;
 
Public property puStdDev: Double READ FpuStdDev;
 
Public property CVRwatts: Double READ FCVRwattFactor;
 
Public property CVRvars: Double READ FCVRvarFactor;
 
Public property MaxPU: Double READ Vmaxpu;
 
Public property MinEmerg: Double READ VminEmerg;
 
Public property MinNormal: Double READ VminNormal;
 
Public property MinPU: Double READ Vminpu;
 
Public property IsPFSpecified: Boolean read PFSpecified;
 

Generated by PasDoc 0.16.0.