To install StudyMoose App tap and then “Add to Home Screen”
Save to my list
Remove from my list
By using both OOP and CBD methodologies, updating or adding new algorithm can be done to any specific component without affecting other components inside the software. The component also can be replaced with any other better component whenever necessary. Hence, the software can be maintained and updated continuously with minimum resources. The performance of the components is described in comparison with the non-component applications in terms of reuse as well as execution time.
Power system analysis software has evolved from purely numerical computation programs to sophisticated software application with many usability features to enhance user productivity.
Most power system analysis applications now have tools to automate tedious data preparations as well as results post-processing. Examples of such productivity tools are friendly graphical user interfaces, intuitive one-line diagramming facilities to visualize power system, and database management system.
The tools are the products of continuous advancements in computer hardware and software technology. In order to develop a high quality power system analysis application, integration of software development from diverse expertise such as power system engineering, mathematics, software engineering, database, computer-aided design and user interface design is required.
The multi-specialization requirement practically means that the application development has to be done with many specific tasks modules. Development of an application in software modules has been practiced ever since early computer programming in the form of source code library.
The main usage was to minimize the number of codes and to manage compilation of large applications in which only the modified parts are recompiled.
The compiled libraries (binary parts) later are developed into a dynamically linked libraries (DLL) in the Microsoft windows and shared objects in UNIX. These are late binding libraries to optimize memory resources by optimizing the address space. With DLL, the possibility of composing reusable software modules to develop software application just like integrated circuits being used to build electronic products look to be just around the corner. In reality before real integration of reusable modules into software applications can be done meaningfully, many hurdles need to be overcome.
One of the hurdles is that libraries are language dependent where a library in one language cannot be used in another. Compilers generally do not conform to common standards and thus the libraries need to be compiled with different compilers. This is impractical as most developers cannot afford to support many library versions for the different compilers. No doubt that many programming languages can call other languages but it is only on a one-to-one basis such as a subroutine in FORTRAN language called from C/C++ language. Furthermore since languages such as FORTRAN or C do not provide standard for binary interoperability, most binary calling standard between languages are vendor specific compiler dependent. Another hurdle in creating reusable software modules is in the form of dependencies. A module is at least dependent on another.
Generally many modules have more than one dependency. These dependencies may be via other modules such when a part X is used a function in part Y which is dependent on part Z and thus making X indirectly dependent on Z. In a tightly integrated package a module dependencies extend deep into implementations of other modules and in many directions. In this case the integration of any module upgrades or any module replacement is a complicated task and prone to error.
An important principle about module dependencies is that a module should be concerned only on the outcome and not how the outcome was derived. Hiding information about an object and exposing only necessary things to a client is called encapsulation. Encapsulation is actually an important concept in object oriented programming (OOP) where the exact implementation of functions in an object and the exact format and layout of the object data is only of concern to the object itself.
The software architecture of a program or computing system is the structure of the system which comprises software elements, the externally visible properties of those elements, and the relationships among them. The power system analysis software is developed by composition of components. The component functions can be divided into two main parts which are the control or analysis components and the interface components. The analysis components result from the decomposition of power system solution algorithms. The decomposed solution algorithms are encapsulated inside independent software components.
These components perform different power system analysis such as balanced power flow, unbalanced power flow, transient stability, fault calculations, and harmonic analysis. The architecture, shown in Fig. 1, can be updated by adding new components for performing additional power system analysis; also any component can be replaced by other component which has efficient or improved algorithm. From the components relationship shown in Fig. 1, particular components are developed based on existing components such as unbalanced power flow components that reuse the balanced power flow components. Therefore, many components are developed with minimum resources since other components contribute in their development.
In addition to the analysis components given graphical user interface (GUI) components are required for developing user friendly power system analysis application. The GUI consists of components to display graphical drawings such as single line diagram and presentation of results such as tables and charts. This will enable the application user to draw single-line diagram of a power system, and to perform power system analysis such as load flow, unbalanced load flow etc.
The analysis and interface components are the software evolving part since they are subject to be updated or replaced to fulfill the user requirements.
It does not do any type of calculations as it only represents the physical elements in a power system. The stable part is not modeled as software components but instead is modeled in a pure object oriented paradigm design. The model involves a set of classes related to each other by inheritance and composition to optimize maximum reusability.
There is various object oriented power system models have been presented; these models are tightly coupled to the evolving parts. In order to produce high degree of extendable model, which can be extended in the future, the class hierarchy should be modeled at the right granularity using the UML notation, all classes are used to model power system devices and their relationships.
A base class, cPowerSystemDevice, is designed to share all common data and method for its derived classes. Basic properties such as the number of devices, the identity number (ID) and the name of the device are defined in this class. These properties are common to any type of devices in an electrical network. The basic device model is extended for modeling new devices such as three-phase power system elements, non-linear devices, and exciter systems and turbine governing systems.
The power system analysis application was developed by integrating various object components. These components are classified into three categories. The first category includes the components that are developed in our research group (In- House Developed Components). They include the components that are required for solving the power system problems. The second category is the components that are developed from legacy systems. The legacy systems are pre-existing systems that was created using other design methods and techniques. These legacy systems can be wrapped and integrated with the other components. The last category includes the Commercial off-The shelf Components. This category of components is not power system engineer’s proficiency area; therefore they are acquired from a third party vendor. In the proposed development, they include components for visualization of the single-line diagram of an electrical network and others for presentation the results of the power system analysis computational engine.
A balanced power system is solved by two components which utilize Newton Raphson method (NR) and Fast Decoupled method (FD) respectively. The components are inherited from a common ancestor base class. The base class contains common data and methods that are required for any balanced power flow algorithm. The base class also contains interface methods for exchanging data between load flow components and other systems. The NR and FD components have the same interface since it is developed based on the OOPSM and inherited from the base class. The NR and FD components encapsulate their own solution algorithm only.
This makes a power flow object versatile. For example, if a load flow object has been declared as an instance of the NR component in an application or a component system, changing the declaration to become an instance of the FD component will not require any change in the code implementation of that application or that component. The behavior of the components is controlled by two flag interfaces. The first flag enables the user to perform one iteration balanced power flow, and then the solution is hold inside the component till the solution is resumed in next iterations. The second flag checks the convergence inside the component. Therefore the two flags enable the user to perform the iteration process inside or outside the component. This is useful and powerful in many applications or computational systems that reuse the power flow as a part of their solution Process.
Unbalanced load flow can be solved using phase coordinates without simplifications. However the advantage of the application of symmetrical components that the size of the problem is reduced in comparison to phase coordinates load flow. The unbalanced load flow in the proposed architecture takes the advantage of the application of component technology and the sequence components since the balanced power flow can be reused for solving the positive sequence power flow without any modification.
The unbalanced power flow using symmetrical components is decomposed into three-sub-problems that include a positive sequence power flow. The symmetrical components have been used to solve unbalanced systems with accurate results that are tested with other algorithms developed in phase coordinates. The complete mathematical models and the solution algorithm for the unbalanced load flow in symmetrical components are given presented. The unbalanced power flow has been extended for solving radial systems that contains unbalanced laterals and will be reported in near future.
The interface of the unbalanced power flow is encapsulated inside one base class. The class is developed using object oriented approach; since it handles the balanced load flow as an object. This object behaves as black box, it communicates with its surroundings with its interface.
The behavior of the power flow object is controlled by its flag interfaces. The first flag interface is adjusted such that the positive load flow object performs one-iteration and then the solution is hold inside the object till the solution is resumed. The second flag interface checks the mismatch tolerance is acceptable or not at every iteration. The solution of the positive sequence network is returned outside the power flow object at every iteration by its own interface.
A base class for fault calculation components was designed to share common properties for balanced and unbalanced faults. The balanced and unbalanced faults have common positive sequence impedance. However balanced fault only uses positive sequence impedance in determining the voltage value under fault condition. In addition to positive sequence impedance, unbalanced faults reuse both the negative and zero sequence impedances.
In the fault calculation design, positive sequence impedance are declared in the base class and granted to balanced and unbalanced components. The unbalanced fault is broken down to three types, encapsulated inside three different components. They are the single line fault, double line fault and line-to-line fault. Therefore, each type of the unbalanced faults is independent on the other types and changing or updating any component will not affect the other components. The fault calculation component system reuses the same power system model exhibited.
In addition to the power flow and fault calculations object components described above, other components have been developed for transient stability analysis and balanced harmonic power flow analysis. Now a component for unbalanced harmonic power flow analysis is being investigated and tested.
This group of components is responsible for preparing the input data for the power system analysis components. The group includes interface components for the following: standard IEEE data format, sequence components data for different devices, machine and exciter data, unbalanced power system data for line, and non linear devices data. The advantage of separating the data preparation components from the analysis is that, in many cases, the system data will be available in different formats. Therefore, the user of the software application will be able to execute analysis in different input data formats, i.e. without drawing the single line diagram.
Software components allow reusing pre-existing codes that was created using other designs and technologies. This is done in the proposed development for the linear solver components. The linear solver components employ the SuperLU library. SuperLU library utilizes many latest computation techniques, such as graph reduction technique in matrix factorization and it can handle very unsymmetrical matrices. SuperLU library was developed using C language and contains four different routines. The routines were designed to solve sparse matrices with single and double precision in real and complex formats.
The four SuperLU routines are encapsulated inside four independent components without modifying their original code. Wrapping the codes into components allows it to be integrated with other components in the software. The wrapper was developed using an object oriented interface. This interface includes methods such as Set Object and GetObject. The object in these methods refers to the standard sparse data storage format such as compressed column storage or compressed row storage. These objects called the SuperLU library functions which are written in C Language.
Many components such as graphics and data base are available commercially. Therefore, acquiring these components from third party vendors accelerates the development time and increase the software capability. These components include DbCAD component for Graphical Database, Cad Engine for single line diagram, and TeeChart Pro for 2D and 3D for charting design. The DbCAD component is a library which has many services for Computer Aided Drawing (CAD) applications. DbCAD manages the graphic entities as single vectors, which are selectable, editable, and displayable in the graphic window with specified properties (color, layer, line type, etc). The TeeChart Pro component is a charting component, which has many features such as creating various chart types including 2D and 3D charts. The TeeChart Pro component is used for plotting the dynamic behavior of synchronous machines in transient stability simulation.
The economic dispatch visualization tool aims to emphasize the following concepts:
For the economic dispatch problem, the visualization tool includes two views similar to the load flow problem. This application uses the same system as in the load flow application described in the previous subsection. Consequently it offers the same menu options as the load flow application. The grid view of the problem is shown in Fig. 5. More parameters are displayed due to the different nature of the problem. For example, the cost of each generating unit in dollars per hour is displayed. Moreover, the application offers more adjustable parameters in addition to the options offered in the load flow problem as shown in the settings window displayed in Fig. 6. For example, the application menus enable the user to adjust the parameters of the generators’ cost functions, which are very important factors to the solution of the economic dispatch problem.
The flowchart view of the economic dispatch visualization tool offers an iterative step-by-step solution of the problem with a detailed description of the algorithm used to solve it. As with the load flow problem, this view of the economic dispatch problems enables the user to obtain a concrete understanding of the numerical analysis iterative nature of the procedure and familiarizes the concepts of initialization, merging, and multiple solutions. The flowchart view of the economic dispatch problem.
The paper has presented the application of CBD and OOP for developing power system analysis application software. The different components have been integrated into power system analysis software. The OOP and component technology produces a high degree of reusability, flexibility, and maintainability of a power system analysis application. A measure of the components reuse for developing the power system analysis application has shown that the component reuse is about 73%. The components also can be replaced at any time with other best component from third party.
Recent Software and Technology for the Efficient Power Flow and Fault Calculation. (2024, Feb 16). Retrieved from https://studymoose.com/document/recent-software-and-technology-for-the-efficient-power-flow-and-fault-calculation
👋 Hi! I’m your smart assistant Amy!
Don’t know where to start? Type your requirements and I’ll connect you to an academic expert within 3 minutes.
get help with your assignment