/* * enstest.c * Test module for "ens" * (c) Lluis Ros * * Creation: April 1995 * Revision: December 2005 * */ #include "ens.h" void menu(); int main(void); /*-----------------------------------------------------------------------------------------------*/ void menu() { char option; graph N=NULL; printf("\nENS 0.1 - Electric Network Simulator\n"); printf("\n(c) Lluis Ros 1996 - 2007\n"); printf("\n\n\n"); do{ /******************************** * Main menu ********************************/ printf("\n\nOptions \n"); printf("-------------------------------------\n"); printf("1.- Load test-case 1\n"); printf("2.- Load test-case 2\n"); printf("3.- Power Flow on loaded network\n"); printf("4.- Coordenatize network\n"); printf("5.- Load simple.ens and perform power_flow on it\n"); printf("0.- Quit\n"); printf("\nSelect option? "); option=getchar(); switch(option) { case '1': /****************************************************** * Load Test Case 1 ******************************************************/ { area_id_type areas[4]; FILE* fd; areas[0]=103620; areas[1]=103613; areas[2]=7; areas[3]=8; fd = fopen("/home/ros/ens/data/network_3.ens","r"); if(fd==NULL) ens_error("Error:: file not found in menu()"); init_network(&N); load_network(fd, &N, FALSE, areas, 4); break; } case '2': /****************************************************** * Load Test Case 2 ******************************************************/ { area_id_type areas[4]; FILE* fd; areas[0]=50; areas[1]=51; areas[2]=32; areas[3]=43; fd = fopen("/home/ros/ens/data/network_3.ens","r"); if(fd==NULL) ens_error("Error:: file not found in menu()"); init_network(&N); load_network(fd, &N, FALSE, areas, 4); break; } case '3': /****************************************************** * Power flow on loaded network ******************************************************/ { power_flow_network(N); break; } case '4': /****************************************************** * Coordenatize network ******************************************************/ { coordenatize_network(N); print_graph(stdout,N,NULL,NULL); break; } case '5': /****************************************************** * Load simple.ens and do power flow on it ******************************************************/ { FILE* fd; fd = fopen("/home/ros/ens/data/simple.ens","r"); if(fd==NULL) ens_error("Error:: file not found in menu()"); init_network(&N); load_network(fd, &N, TRUE, NULL, 0); power_flow_network(N); break; } case '0': /****************************************************** * Exit ******************************************************/ { printf("Exiting ...\n"); exit(0); break; } default: { printf("Bad option\n"); } } /* get rid of the carriage return still present in the buffer */ getchar(); } while(option!='0'); } /*-----------------------------------------------------------------------------------------------*/ int main(void) { menu(); return(0); } /*-----------------------------------------------------------------------------------------------*/