Class TSolutionObj
Unit
Declaration
type TSolutionObj = class(TObject)
Description
Hierarchy
- TObject
- TSolutionObj
Overview
Fields
Methods
![]() |
constructor Create(dssContext: TDSSContext; const solutionname: String); |
![]() |
destructor Destroy; OVERRIDE; |
![]() |
function Converged: Boolean; |
![]() |
procedure SetGeneratordQdV; |
![]() |
function SolveZeroLoadSnapShot: Integer; |
![]() |
procedure DoPFLOWsolution; |
![]() |
procedure Solve; |
![]() |
procedure SnapShotInit; |
![]() |
function SolveSnap: Integer; |
![]() |
function SolveDirect: Integer; |
![]() |
function SolveYDirect: Integer; |
![]() |
function SolveCircuit: Integer; |
![]() |
procedure CheckControls; |
![]() |
procedure SampleControlDevices; |
![]() |
procedure DoControlActions; |
![]() |
procedure Sample_DoControlActions; |
![]() |
procedure Check_Fault_Status; |
![]() |
procedure SetGeneratorDispRef; |
![]() |
procedure SetVoltageBases; |
![]() |
procedure SaveVoltages; |
![]() |
procedure UpdateVBus; |
![]() |
procedure RestoreNodeVfromVbus; |
![]() |
function VDiff(i, j: Integer): Complex; |
![]() |
procedure DumpProperties(F: TFileStream; Complete: Boolean; Leaf: Boolean = False); |
![]() |
procedure WriteConvergenceReport(const Fname: String); |
![]() |
procedure Update_dblHour; |
![]() |
procedure Increment_time; |
![]() |
procedure UpdateLoopTime; |
![]() |
procedure AddInAuxCurrents(SolveType: Integer); |
![]() |
function SolveSystem(V: pNodeVArray): Integer; |
![]() |
procedure GetPCInjCurr; |
![]() |
procedure GetSourceInjCurrents; |
![]() |
procedure ZeroInjCurr; |
![]() |
procedure Upload2IncMatrix; |
![]() |
procedure Calc_Inc_Matrix; |
![]() |
procedure Calc_Inc_Matrix_Org; |
![]() |
function get_IncMatrix_Row(Col: Integer): Integer; |
![]() |
function get_IncMatrix_Col(Row: Integer): Integer; |
![]() |
function CheckLocationIdx(Idx: Integer): Integer; |
![]() |
function get_PDE_Bus1_Location(myPDE: String): Integer; |
![]() |
procedure AddLines2IncMatrix; |
![]() |
procedure AddXfmr2IncMatrix; |
![]() |
procedure AddSeriesCap2IncMatrix; |
![]() |
procedure AddSeriesReac2IncMatrix; |
Properties
![]() |
property Mode: TSolveMode READ dynavars.SolutionMode WRITE Set_Mode; |
![]() |
property Frequency: Double READ FFrequency WRITE Set_Frequency; |
![]() |
property Year: Integer READ FYear WRITE Set_Year; |
![]() |
property Time_Solve: Double READ Solve_Time_Elapsed; |
![]() |
property Time_TotalSolve: Double READ Total_Solve_Time_Elapsed; |
![]() |
property Time_Step: Double READ Step_Time_Elapsed; |
![]() |
property Total_Time: Double READ Total_Time_Elapsed WRITE Set_Total_Time; |
Description
Fields
![]() |
DSS: TDSSContext; |
![]() |
Algorithm: Integer; |
![]() |
AuxCurrents: pComplexArray; |
NORMALSOLVE or NEWTONSOLVE |
![]() |
ControlActionsDone: Boolean; |
For injections like AutoAdd |
![]() |
ControlIteration: Integer; |
![]() |
ControlMode: Integer; |
![]() |
ConvergenceTolerance: Double; |
EVENTDRIVEN, TIMEDRIVEN |
![]() |
ConvergedFlag: Boolean; |
![]() |
DefaultControlMode: Integer; |
![]() |
DefaultLoadModel: Integer; |
EVENTDRIVEN, TIMEDRIVEN |
![]() |
DoAllHarmonics: Boolean; |
1=POWERFLOW 2=ADMITTANCE |
![]() |
DynamicsAllowed: Boolean; |
![]() |
DynaVars: TDynamicsRec; |
![]() |
ErrorSaved: pDoubleArray; |
![]() |
FrequencyChanged: Boolean; |
FirstIteration: Boolean; – unused |
![]() |
Fyear: Integer; |
Flag set to true if something has altered the frequency |
![]() |
Harmonic: Double; |
![]() |
HarmonicList: pDoubleArray; |
![]() |
HarmonicListSize: Integer; |
![]() |
hYsystem: NativeUint; |
![]() |
hYseries: NativeUint; |
Handle for main (system) Y matrix |
![]() |
hY: NativeUint; |
Handle for series Y matrix |
![]() |
IntervalHrs: Double; |
either hYsystem or hYseries |
![]() |
IsDynamicModel: Boolean; |
Solution interval since last solution, hrs. |
![]() |
IsHarmonicModel: Boolean; |
![]() |
Iteration: Integer; |
![]() |
LoadModel: Integer; |
![]() |
LastSolutionWasDirect: Boolean; |
1=POWERFLOW 2=ADMITTANCE |
![]() |
LoadsNeedUpdating: Boolean; |
![]() |
MaxControlIterations: Integer; |
![]() |
MaxError: Double; |
![]() |
MaxIterations: Integer; |
![]() |
MinIterations: Integer; |
![]() |
MostIterationsDone: Integer; |
![]() |
NodeVbase: pDoubleArray; |
![]() |
NumberOfTimes: Integer; |
![]() |
PreserveNodeVoltages: Boolean; |
Number of times to solve |
![]() |
RandomType: Integer; |
![]() |
SampleTheMeters: Boolean; |
0 = none; 1 = gaussian; 2 = UNIFORM |
![]() |
SeriesYInvalid: Boolean; |
Flag to allow sampling of EnergyMeters |
![]() |
SolutionCount: Integer; |
![]() |
SolutionInitialized: Boolean; |
Counter incremented for each solution |
![]() |
SystemYChanged: Boolean; |
![]() |
UseAuxCurrents: Boolean; |
![]() |
VmagSaved: pDoubleArray; |
![]() |
VoltageBaseChanged: Boolean; |
![]() |
ProgressCount: Integer; |
![]() |
SolverOptions: Uint64; |
used in SolutionAlgs |
![]() |
NodeV: pNodeVArray; |
KLUSolveX options Voltage and Current Arrays |
![]() |
Currents: pNodeVArray; |
Main System Voltage Array allows NodeVˆ[0]=0 |
![]() |
IncMat: Tsparse_matrix; |
Main System Currents Array ****************************************************************************** |
![]() |
Laplacian: Tsparse_matrix; |
Incidence sparse matrix |
![]() |
SolveStartTime: Int64; |
Laplacian sparse matrix ****************************Timing variables********************************** |
![]() |
SolveEndtime: Int64; |
![]() |
GStartTime: Int64; |
![]() |
Gendtime: Int64; |
![]() |
LoopEndtime: Int64; |
![]() |
Total_Time_Elapsed: Double; |
![]() |
Solve_Time_Elapsed: Double; |
![]() |
Total_Solve_Time_Elapsed: Double; |
![]() |
Step_Time_Elapsed: Double; |
![]() |
ActiveIncCell: array[0..2] of Integer; |
****************************************************************************** ActiveCell of the Incidence Matrix: [0] = row [1] = col [2] = value |
![]() |
Inc_Mat_Cols: array of String; |
![]() |
Inc_Mat_levels: array of Integer; |
![]() |
temp_counter: Integer; |
![]() |
Active_Cols: array of Integer; |
![]() |
Active_Cols_Idx: array of Integer; |
Methods
![]() |
constructor Create(dssContext: TDSSContext; const solutionname: String); |
![]() |
destructor Destroy; OVERRIDE; |
![]() |
function Converged: Boolean; |
![]() |
procedure SetGeneratordQdV; |
![]() |
function SolveZeroLoadSnapShot: Integer; |
![]() |
procedure DoPFLOWsolution; |
![]() |
procedure Solve; |
![]() |
procedure SnapShotInit; |
Main Solution dispatch |
![]() |
function SolveSnap: Integer; |
![]() |
function SolveDirect: Integer; |
solve for now once |
![]() |
function SolveYDirect: Integer; |
solve for now once, direct solution |
![]() |
function SolveCircuit: Integer; |
Similar to SolveDirect; used for initialization |
![]() |
procedure CheckControls; |
SolveSnap sans control iteration |
![]() |
procedure SampleControlDevices; |
Snapshot checks with matrix rebuild |
![]() |
procedure DoControlActions; |
![]() |
procedure Sample_DoControlActions; |
![]() |
procedure Check_Fault_Status; |
Sample and Do |
![]() |
procedure SetGeneratorDispRef; |
![]() |
procedure SetVoltageBases; |
![]() |
procedure SaveVoltages; |
![]() |
procedure UpdateVBus; |
![]() |
procedure RestoreNodeVfromVbus; |
updates voltages for each bus from NodeV |
![]() |
function VDiff(i, j: Integer): Complex; |
opposite of updatebus |
![]() |
procedure DumpProperties(F: TFileStream; Complete: Boolean; Leaf: Boolean = False); |
Difference between two node voltages |
![]() |
procedure WriteConvergenceReport(const Fname: String); |
![]() |
procedure Update_dblHour; |
![]() |
procedure Increment_time; |
![]() |
procedure UpdateLoopTime; |
![]() |
procedure AddInAuxCurrents(SolveType: Integer); |
![]() |
function SolveSystem(V: pNodeVArray): Integer; |
![]() |
procedure GetPCInjCurr; |
![]() |
procedure GetSourceInjCurrents; |
![]() |
procedure ZeroInjCurr; |
![]() |
procedure Upload2IncMatrix; |
![]() |
procedure Calc_Inc_Matrix; |
![]() |
procedure Calc_Inc_Matrix_Org; |
Calculates the incidence matrix for the Circuit |
![]() |
function get_IncMatrix_Row(Col: Integer): Integer; |
Calculates the incidence matrix hierarchically organized for the Circuit |
![]() |
function get_IncMatrix_Col(Row: Integer): Integer; |
Gets the index of the Row connected to the specified Column |
![]() |
function CheckLocationIdx(Idx: Integer): Integer; |
Gets the index of the Column connected to the specified Row |
![]() |
function get_PDE_Bus1_Location(myPDE: String): Integer; |
Evaluates the area covered by the tearing point to see if there is a better one |
![]() |
procedure AddLines2IncMatrix; |
Gets the index of myPDE -> bus1 within the Inc matrix |
![]() |
procedure AddXfmr2IncMatrix; |
Adds the Lines to the Incidence matrix arrays |
![]() |
procedure AddSeriesCap2IncMatrix; |
Adds the Xfmrs to the Incidence matrix arrays |
![]() |
procedure AddSeriesReac2IncMatrix; |
Adds capacitors in series to the Incidence matrix arrays |
Properties
![]() |
property Mode: TSolveMode READ dynavars.SolutionMode WRITE Set_Mode; |
![]() |
property Frequency: Double READ FFrequency WRITE Set_Frequency; |
![]() |
property Year: Integer READ FYear WRITE Set_Year; |
![]() |
property Time_Solve: Double READ Solve_Time_Elapsed; |
![]() |
property Time_TotalSolve: Double READ Total_Solve_Time_Elapsed; |
![]() |
property Time_Step: Double READ Step_Time_Elapsed; |
![]() |
property Total_Time: Double READ Total_Time_Elapsed WRITE Set_Total_Time; |
Solve + sample |
Generated by PasDoc 0.16.0.