PowerApps software product is a Proprietary Property of Dr.Raghunatha Ramaswamy. No company with whom Dr.Raghunatha Ramaswamy was associated in the past either as consultant or as an employee do not own the proprietary property for this software.
 
Home
PowerApps Software Modules
PowerApps Calculation Engine
Software Services
Power System Studies
Engineering Services
Power System Training
Downloads
Profile
Contact Us
Partners and Associates
Site Map
Send an Enquiry
Sample Study Cases of the Services Rendered
Real Time Security Assessment and Remedial Action Solution
The current time is ?

Power Foundation Classes


PowerApps calculation engine modules - which comprises of power system analysis algorithms such as load flow etc, are developed from the basic build blocks or C++ class libraries called Power Foundation Classes or simply PFC. The concept of PFC is inspired by the Microsoft Foundation Classess or MFC, which the developers of PowerApps have used in developing the graphical user interfaces or GUI's. The entire PowerApps software is built using Microsoft(R) Corporation's VC++ development tool.

The PFC class libraries can be distributed to the customers under license with necessary documenation and technical support.  These can be customized to meet specific requirements of our customers.

The list of classes available under PFC is as follows

  1. CPFCabc012 : This class library provides all the functions of sequence to phase and phase to sequence transformations needed for 3 phase and symmetrical component calculations of balanced or unbalanced power system analysis calculations
  2. CPFCArea : This class is used in specific algorithms, where multiple area tie line dynamic simulation is used.
  3. CPFCArr : This is a template class that provides facilities for building dynamic array during execution time and can virtually build arrays of any data type. This includes standard arrays like int, float, double, or arrays of type of other classes or pointers. PowerApps uses only this class to allocate memory during runtime for all data storage requirements. This storage allocation is made exactly as needed by the input data without wasting any memory. Consequently PowerApps memory requirements are minimum and can virtually handle any practical system sizes for analysis. "pfcarr" is similar to "CTypedPtrList" of MFC and is designed to handle many common functions of PFC class libraries.
  4. CPFCbase : Base class for most power foundation classes. Stores common data and functions.
  5. CPFCBHELDigitalAVR : This class models the data and functions related to BHEL make Digital AVR for use in the transient stability and dynamic stability simulations.
  6. CPFCBHELPSS : This class models the data and functions related to BHEL make power system stabilizer for use in the transient stability and dynamic stability simulations.
  7. PFCBranch : This is a generalized two terminal branch class [an electric circuit connected between two nodes], which forms the base class for the other two terminal classes suchs as those for cables, lines, two winding transformers, series compensation, TCSC, Phase Shifter etc.
  8. CPFCBreaker : This class is used to provide the functionality of circuit breakers, isolators, switches, especially in determing the network topology of the network based on switch status on/off.
  9. PFCBus : This class provides the functionality of an effective electrical node or simply an equivalent bus considering closed switches if any. The class handles all data and functions related to the bus for all analysis calculation modules.
  10. CPFCCapacitor : This class handles the data and functionality of shunt capacitor for all analysis modules of PowerApps.
  11. CPFCColumn : This function , similar to pfcarr class is a flexible storage array but stores only data type of double. Unlike pfcarr class it handle only certain statistical functions related to a column of type double values. Because the it supports the storage of type double data values, it forms the basis of PFCMat class, which supports a matrix class of type double values.
  12. CPFCcomplex : Many of the calculations in power system analysis uses complex arithmetic. These are not well supported in'C' and 'C++' in the same way as Fortran functions. PowerApps basic modules were originally developed in Fortran and it was convenient to use similar functions for the same. Consequently the Fortran type functions and many additional functions were developed with the class PFCcomplex.
  13. CPFCControlvar : This class is used in the optimal power flow algorithm of PowerApps to store necessary information for various types of control variables such as, active power generation, generatorexcitation, transformer taps, shunt reactive power compensation, phase shifter control, series compensation control etc.
  14. CPFCConverter : This class handles the necessary data and functions for HVDC converters for load flow and transient stability algorithms of PowerApps
  15. CPFCCT : This class handles all the data  and functionality of the current transformer in PowerApps protection related algorithm such as relay coordination.
  16. CPFCDgDu : This class stores the information of the sensitivities of the active and reactive power bus power 'g' with respect to the control varialbes 'u'. This class is used in the optimal power flow algorithm of PowerApps.
  17. CPFCDisturbanceScenario : This class stores information of various disturbance events for specified disturbance scenario of transient stability simulation.
  18. CPFCDPslDx : This class stores the information of the sensitivity of the slack generation with respect to the dependent variables 'x'. This class is used in optimal power flow, where the objective function is the minimization of the slack active power generation, which is equivalent to minimization of the transmission losses under specified generation schedule for remaining generators.
  19. CPFCDQgDx : This class stores the information of the sensitivity of the generator reactive power output Qg with respect to the dependent variables 'x'. This class is used in  the optimal power flow algorithm of the PowerApps software.
  20. CPFCDynamicSimulation : This class simulates the generalized linearlized dynamic model of the type [dx/dt] = [A][x] + [B][u]. Where x is the vector of state variables and u is a vector of forcing functions.
  21. CPFCEDDemand : This class handles the data needed for economic dispatch algorithm
  22. CPFCEvent : This class stores the disturbance event to be simulated for transient stability analysis. Is a child member of CPFCDisturbanceScenario, which supports a list of disturbance events.
  23. CPFCExcType1 : This class supports the IEEE Type 1 excitation system data and related calculation functions for Transient stability analysis and Dynamic stability analysis
  24. CPFCExcType2 : This class supports the IEEE Type 2 excitation syste data and calculation related functions for Transient stability analysis and Dynamic stability analysis
  25. CPFCExcType4 : This class supports the IEEE Type 4 excitation syste data and calculation related functions for Transient stability analysis and Dynamic stability analysis
  26. CPFCExcType5 : This class supports the IEEE Type 5 excitation syste data and calculation related functions for Transient stability analysis and Dynamic stability analysis
  27. CPFCFaultSummary : This class primarily stores information of buswise fault summary for reporting purpose.
  28. CPFCGenED : This class stores information of the generator control limits and some founctions for optimal power flow and economic dispatch
  29. CPFCGenerator : This class stores all information and functions needed for an AC generator needed to perform calculations for analysis modules.
  30. CPFCGTGOV: This class stores all information and functions needed for a gas turbine generator to perform calculations for Transient and Dynamic stability calculation modules.
  31. CPFCHinj : This class stores all the information needed for a harmonic current source for use in harmonic analysis module.
  32. CPFCHVDCLine : This class stores information and functions related to HVDC links for calculation modules.
  33. CPFCHydGovTurbine : This class stores information and handles functions for IEEE type Hydro Governor for use in the transient stability and dynamic stability programs
  34. CPFCIEEETypeST1Exc : This class stores information and handles functions for IEEE type ST1 Excitation system for use in the transient and dynamic stability programs
  35. CPFCLine: This is a derived class from CPFCBranch and handles data and calculations related to overhead lines and underground cables.
  36. CPFCLoad: This class stores information about the power system load and its characteristics and load model for all calculation algorithms
  37. CPFCLoadShedding : This class stores information of underfrequency or undervoltage relay based load shedding scheme for use in the transient stability analysis program.
  38. CPFCMat: This class handles the data storage and various matrix calculation functions needed for power system studies and calculations. The data storage requirements are allocated during execution time. Some of the functions are matrix inversion routines, eigenvalue calculations.
  39. CPFCMatcomplex: This class uses complex variables using CPFCcomplex, and is the complex version of CPFCMat
  40. CPFCMCLine: This class handles data storage and functions of mutually coupled lines.
  41. CPFCMeasurement: This is a generalized class to store information of all types of measurements such as line flows [Mw, Mvar, Ampere, Volts, Hz] etc for use in the PowerApps State Estimation algorithm
  42. CPFCMotor: This class handles the data and functions related to Induction motor for use in the PowerApps calculation algorithms
  43. CPFCNeutral : This class handles information of the neutral grounding transformer  or impedance [both resistance, reactance information] and supports CT's and thereby the relays fed by the CT's.
  44. CPFCNode: This class supports data and calculations related to an electrical node, i.e. a junction point of two or more electrical circuits.
  45. CPFCOff: This class supports data and calculations related to the off diagonal elements of the admittance matrix, used in power system algorithm calculations.
  46. CPFCReactor: This class supports data and functions related to the shunt reactor for use by calculation algorithms
  47. CPFCRecord : This class handles the flexible data record structure that can accommodate any type of standard data and is similar to XML, CIM model type records. All of the PowerGUI drawing information is stored in this type of record.
  48. CPFCRegression : This class builds a regression model of the type Y = C0 + C1.X1 + C2.X2....+Cn.Xn, where X's are provided in the form of CPFCColumn class and internally uses CPFCMat class for obtaining the least square fit for the model , with or without fitting the "noise" into the model. The "noise" is the difference between the actual model and sample values and the "noise" model helps better fit of the model.
  49. CPFCRelay : This class handles overcurrent phase and earth fault IDMT relays, with or without instantaneous or definite time units. Handles 50,50N, 51, 51N relay information and calculations for overcurrent relay coordination algorithm of PowerApps.
  50. CPFCShuntHA : This class specifically stores the information and calculations related to shunt capacitors for harmonic analysis algorithm. This class forms the base class for shunt capacitors.
  51. CPFCSparseMat : This class handles information and calculations for the sparse matrix solution and sparse vector solution. the class handles data types of type double and type CPFCcomplex. It also handles composite matrix elements of type 1x1, 1x2,2x1 and 2x2 as needed by Newton's load flow in polar coordinate formulation. Further, it also handles solutions for multiple islanded network model. the class stores all types of  matrix data needed for various calculations, including harmonic analysis.
  52. CPFCSparseMatD : This class is similar to CPFCSparseMat , but handles only float or double type variables.
  53. CPFCStation:  This class supports a collection of nodes [Class CPFCNode], collection of switch/breaker/isolators [class CPFCBreaker] and is designed to handle the network topology at station level, by generating effective connected node or bus within the station level. In addition additional functions, data related to station class is also managed by this class.
  54. CPFCStmGovTurbine : The class handles data and functions for the IEEE type steam governor turbine with several stages for transient and dynamic stability studies.
  55. CPFCSvc : This class handles data and functions related to static var compensator [SVC] for all analysis programs.
  56. CPFCTccDraw : This is a drawing class that uses MFC builtin functions for drawing the time-current-characteristics of the overcurrent phase/earth fault primary and backup relays along with load current characteristics, thermal with stand limits, motor starting currents, transformer inrush currents
  57. CPFCTCSC : This class handles data and functions related to Thyristor controlled series compensation for the calculation algorithms, such as load flow, optimal power flow.
  58. CPFCTieLine :This class handles data and functions for tie lines, interconnecting two or more areas or a single area with a large grid network, where an area or large power pool is modeled by a lumped equivalents. This class is often used along with the class CPFCDynamicSimulation
  59. CPFCTrendExp : This class provides least square curve fit for a time series data, with exponential model of the type y = exp(c0+c1.x). The values of x are provided in the form of class CPFCColumn.
  60. CPFCTrendL : This class provides least square curve fit for a time series data, with linear model of the type y = c0 + c1.x. The values of x are provided in the form of class CPFCColumn.
  61. CPFCTrendPolynomial : This class provides the least square curve fit fo a time series data, where the model is an arbitrary polynomial equation of the format y = c0 + c1.x + .....+cn.x**n. Evidently, the highest polynomial order that we can use is limited by the number of samples available in the vector x. The data samples of x are provided in the form of  the class CPFCColumn.
  62. CPFCTrendQ : This class provides least square cuver fit for the time series data, with quadratic model of the type y=c0 + c1.x + C2.x**2. Evidently the linear and the quadratic models are special types of Polynomial trend described. The data samples of x are provided in the form of the class CPFCColumn.
  63. CPFCTrf2w : This class handles the data and functions related to two winding transformers. This class is derived from the class CPFCBranch. The phase shifter is handles as part of this class.
  64. CPFCTrf3w : This class handles the data and functions related to the three winding transformers
  65. CPFCType1Block : This class handles data and simulation function for the SISO transfer function block of the type [Xo/Xi] = [A/(B+Cs)], where 's' is the complex frequency denoting laplace transform of [d/dt], Xo is the output variable, Xi is the input variable, A,B,C are constants of the transfer function.
  66. CPFCType2Block : This class handles data and simulation function for the SISO transfer function block of the type [Xo/Xi] = [As/(B+Cs)], where 's' is the complex frequency denoting laplace transform of [d/dt], Xo is the output variable, Xi is the input variable, A,B,C are constants of the transfer function.
  67. CPFCType3Block : This class handles data and simulation function for the SISO transfer function block of the type [Xo/Xi] = [(A+Bs)/(C+Ds)], where 's' is the laplace operator [d/dt], Xo is the output variable, Xi is the input variable, A,B,C are constants of the transfer function.
  68. CPFCVoltageRelay : This class handles necessary data needed for simulation of under voltage relay , over voltage relay in PowerApps transient stability analysis.
    CPFCXt : This class handles the user defined data for variation of the generator/ motor subtransient / transient reactances with respect to time for calculations of fault level as per IEC 60909, G74 standards. This user defined data is an additional feature apart from the normal data of time constants and reactances.
  69. CPowerGraphXY : This is a generic XY plotting program which draws plots of several Y variables with respect to a given X - axis variable. The function is developed using the MFC drawing functions.
  70. CRelay_Characteristics_Obj : This class stores overcurrent IDMT relay characteristics as samples at user defined intervals and also as mathematical functions using curve fitting techniques.
  71. CTCCDisplayInfo : This class stores the collection of various characteristics to be displayed in a given time current characteristics.
  72. CPFCCase : This class stores the complete system data needed for all calculation algorithms and handles several common functions related to various algorithms. It also handles study case variations in the data for different calculation algorithms.
  73. CPFCDstability : This class handles the algorithm for Dynamic stability or small signal stability analysis.
  74. CPFCED : This class handles one of the two variation of the economic dispatch algorithm and is used in conjuction with the optimal power flow and reactive power optimization algorithms.
  75. CPFCELD : This class handles another variation of the economic load dispatch algorithm.
  76. CPFCGeneralFA : This class handles conventional and IEC 60909 type short circuit calculations with or without initial load flow conditions. Further, it also computes impedance seen at different line locations for any specified fault location and type. This impedance information is useful in determining the distance relay settings.
  77. CPFCHarmonicAnalysis : This class handles the harmonic analysis algorithm, calculations of harmonic bus voltages , currents for different harmonics, calculations of various indices [Total harmonic distortion factors], frequency - impedance scan plots.
  78. CPFCIec909 : This class handles IEC 60909 type fault calculations as per G74 UK standard.
  79. CPFCLflow : This class handles all  variations of load flow algorithms, Newton's , Gauss Siedel, Fast Decoupled.
  80. CPFCLinearProgram : This class handles linear program solution to PowerApps OPF formulation.
  81. CPFCOCRelay : This class handles the relay coordination algorithm for overcurrent phase and earth fault relays.
  82. CPFCOPF: This class handles PowerApps optimal power flow and reactive power optimization algorithm
  83. CPFCSE : This class handles all of the PowerApps state estimation algorithms
  84. CPFCTstability: This class handles the PowerApps Transient Stability analysis algorithm.

The class library list is under construction and is partially built at this time. More details about the individual classess may be provided in the future.There are other classess which are not specific to calculations and are not listed. Several algortihms that are still in original Fortran format are not yet listed in the class list.


http://www.google.com
http://www.activesearchresults.com
Mail your questions, enquiries to raghunatha@powerapps.org