|
Funciones | |
| Mat | basicos::creaT () |
| Se encarga de dimensionar la matriz T del sistema a resolver. NOTA: La matriz T es una matriz sparse generada con las funciones de la librería PETCs. | |
| void | basicos::creaGC () |
| Se encarga de dimensionar las matrices del sistema transitorio G y C. NOTA: La matrices G y C son matrices sparse generadas con las funciones de la librería PETCs. | |
| Vec | basicos::creaW () |
| Se encarga de dimensionar el vector W para el sistema estacionario NOTA: El vector W es un vector generado con las funciones de la librería PETCs. | |
| Vec | basicos::creaWn () |
| Se encarga de dimensionar el vector Wn para el sistema transitorio NOTA: El vector Wn es un vector generado con las funciones de la librería PETCs. | |
| Vec | basicos::creaWn1 () |
| Se encarga de dimensionar el vector Wn1 para el sistema transitorio NOTA: El vector Wn1 es un vector generado con las funciones de la librería PETCs. | |
| Vec | basicos::creax_perm () |
| Se encarga de dimensionar el vector x para el sistema estacionario. En el se almacenan las soluciones del mismo. NOTA: El vector x_perm es un vector generado con las funciones de la librería PETCs. | |
| Vec | basicos::creax_trans () |
| Se encarga de dimensionar el vector x para el sistema transitorio. En el se almacenan las soluciones del mismo. NOTA: El vector x_trans es un vector generado con las funciones de la librería PETCs. | |
| void | dimensiona (int *num_line_total, basicos *DATOS) |
| Se encarga de dimensionar la matriz T y el vector W para el posterior cálculo del sistema que nos proporcionará la solución del circuito. Tras calcular la dimensión de la misma se encarga de la creación de la T y W. | |
| int | num_nodos (int *num_line_total, basicos *p_DATOS) |
| Calcula el número de nodos del circuito. Para ello realiza un barrido por la qtable MN buscando el mayor valor introducido. | |
| int | num_elemA2 (int *, basicos *) |
| Calcula el número de elementos pertenecientes al grupo A2. Para ello realiza un barrido por la qtable MDG buscando los elementos del grupo A2. | |
| int | num_EA (int *num_line_total, basicos *p_DATOS) |
| Calcula el número de elementos que se han considerado ecuación adicional. Para ello realiza un barrido por la qtable MDG sumando el número de ecuaciones adicionales existentes. | |
| void basicos::creaGC | ( | ) | [inline, inherited] |
Se encarga de dimensionar las matrices del sistema transitorio G y C. NOTA: La matrices G y C son matrices sparse generadas con las funciones de la librería PETCs.
Definición en la línea 110 del archivo estructuras.h.
00111 { 00112 MatCreateSeqAIJ(PETSC_COMM_SELF,filas(),columnas(),10,PETSC_NULL,&G); 00113 MatAssemblyBegin(G,MAT_FINAL_ASSEMBLY); MatAssemblyEnd(G,MAT_FINAL_ASSEMBLY); 00114 MatCreateSeqAIJ(PETSC_COMM_SELF,filas(),columnas(),10,PETSC_NULL,&C); 00115 MatAssemblyBegin(C,MAT_FINAL_ASSEMBLY); MatAssemblyEnd(C,MAT_FINAL_ASSEMBLY); 00116 }
| Mat basicos::creaT | ( | ) | [inline, inherited] |
Se encarga de dimensionar la matriz T del sistema a resolver. NOTA: La matriz T es una matriz sparse generada con las funciones de la librería PETCs.
Definición en la línea 100 del archivo estructuras.h.
00101 { 00102 MatCreateSeqAIJ(PETSC_COMM_SELF,filas(),columnas(),10,PETSC_NULL,&T); 00103 MatAssemblyBegin(T,MAT_FINAL_ASSEMBLY); MatAssemblyEnd(T,MAT_FINAL_ASSEMBLY); 00104 return T; 00105 }
| Vec basicos::creaW | ( | ) | [inline, inherited] |
Se encarga de dimensionar el vector W para el sistema estacionario NOTA: El vector W es un vector generado con las funciones de la librería PETCs.
Definición en la línea 123 del archivo estructuras.h.
00124 { 00125 VecCreate(PETSC_COMM_SELF,&W); 00126 VecSetSizes(W,PETSC_DECIDE,filas()); 00127 VecSetFromOptions(W); 00128 VecAssemblyBegin(W); VecAssemblyEnd(W); 00129 return W; 00130 }
| Vec basicos::creaWn | ( | ) | [inline, inherited] |
Se encarga de dimensionar el vector Wn para el sistema transitorio NOTA: El vector Wn es un vector generado con las funciones de la librería PETCs.
Definición en la línea 137 del archivo estructuras.h.
00138 { 00139 VecCreate(PETSC_COMM_SELF,&Wn); 00140 VecSetSizes(Wn,PETSC_DECIDE,filas()); 00141 VecSetFromOptions(Wn); 00142 VecAssemblyBegin(Wn); VecAssemblyEnd(Wn); 00143 return Wn; 00144 }
| Vec basicos::creaWn1 | ( | ) | [inline, inherited] |
Se encarga de dimensionar el vector Wn1 para el sistema transitorio NOTA: El vector Wn1 es un vector generado con las funciones de la librería PETCs.
Definición en la línea 151 del archivo estructuras.h.
00152 { 00153 VecCreate(PETSC_COMM_SELF,&Wn1); 00154 VecSetSizes(Wn1,PETSC_DECIDE,filas()); 00155 VecSetFromOptions(Wn1); 00156 VecAssemblyBegin(Wn1); VecAssemblyEnd(Wn1); 00157 return Wn1; 00158 }
| Vec basicos::creax_perm | ( | ) | [inline, inherited] |
Se encarga de dimensionar el vector x para el sistema estacionario. En el se almacenan las soluciones del mismo. NOTA: El vector x_perm es un vector generado con las funciones de la librería PETCs.
Definición en la línea 165 del archivo estructuras.h.
00166 { 00167 VecCreate(PETSC_COMM_SELF,&x_perm); 00168 VecSetSizes(x_perm,PETSC_DECIDE,filas()); 00169 VecSetFromOptions(x_perm); 00170 VecAssemblyBegin(x_perm); VecAssemblyEnd(x_perm); 00171 return x_perm; 00172 }
| Vec basicos::creax_trans | ( | ) | [inline, inherited] |
Se encarga de dimensionar el vector x para el sistema transitorio. En el se almacenan las soluciones del mismo. NOTA: El vector x_trans es un vector generado con las funciones de la librería PETCs.
Definición en la línea 179 del archivo estructuras.h.
00180 { 00181 VecCreate(PETSC_COMM_SELF,&x_trans); 00182 VecSetSizes(x_trans,PETSC_DECIDE,filas()); 00183 VecSetFromOptions(x_trans); 00184 VecAssemblyBegin(x_trans); VecAssemblyEnd(x_trans); 00185 return x_trans; 00186 }
| void dimensiona | ( | int * | num_line_total, | |
| basicos * | DATOS | |||
| ) |
Se encarga de dimensionar la matriz T y el vector W para el posterior cálculo del sistema que nos proporcionará la solución del circuito. Tras calcular la dimensión de la misma se encarga de la creación de la T y W.
| num_line_total | Esta variable contiene el número de líneas del fichero *.spc cargado que coincide con el número de elementos del circuito | |
| DATOS | Puntero a estructura basicos |
Definición en la línea 11 del archivo estructuras.cpp.
00014 { 00015 int maxnodo,numA2, numEA; 00016 Mat T; Vec W, Wn,Wn1; // PetscScalar v[1]; 00017 maxnodo = num_nodos (num_line_total, p_DATOS); 00018 p_DATOS->nodos=maxnodo; 00019 numA2 = num_elemA2 (num_line_total, p_DATOS); 00020 p_DATOS->A2=numA2; 00021 numEA = num_EA (num_line_total, p_DATOS); 00022 p_DATOS->EA=numEA; 00023 /*esta instruccion me da el valor donde ir colocando 00024 las EA que me encuentra al ir montando el sistema, 00025 según aparezcan iré incrementando este valor en 1*/ 00026 p_DATOS->apuntaEA=p_DATOS->situaEA(); 00027 /*Esta instrucción me da el valor donde debe ir 00028 el primer elemento que me encuentre perteneciente al grupo A2*/ 00029 p_DATOS->apuntaA2=p_DATOS->situaA2(); 00030 W=p_DATOS->creaW(); p_DATOS->W=W; 00031 T=p_DATOS->creaT(); p_DATOS->T=T; 00032 //Creación de Wn para transitorio 00033 Wn=p_DATOS->creaWn(); p_DATOS->Wn=Wn; 00034 Wn1=p_DATOS->creaWn1(); p_DATOS->Wn1=Wn1; 00035 }
| int num_EA | ( | int * | num_line_total, | |
| basicos * | p_DATOS | |||
| ) |
Calcula el número de elementos que se han considerado ecuación adicional. Para ello realiza un barrido por la qtable MDG sumando el número de ecuaciones adicionales existentes.
| num_line_total | Esta variable contiene el número de líneas del fichero *.spc cargado que coincide con el número de elementos del circuito | |
| DATOS | Puntero a estructura basicos |
Definición en la línea 82 del archivo estructuras.cpp.
00083 { 00084 bool result; 00085 QString var_string, var_string2; 00086 int var=0, var2=0, numEA=0, num_extra=0,total=0; 00087 for(int i=0;i<=*num_line_total;i++) 00088 { 00089 //toma el valor EA para contar el nº de EA que tenemos 00090 var_string=p_DATOS->tableMDG->text(i,2); 00091 var= var_string.toInt(&result, 10); 00092 //Cuenta el número de Fuentes de V dep de I las cuales introducen 2 EA 00093 //Revisar si hay más elementos que introduzcan 2 EA 00094 var_string2=p_DATOS->tableMDG->text(i,0); 00095 var2= var_string2.toInt(&result, 10); 00096 if(var>0){numEA=numEA+1;} 00097 //if(var2==11||var2==7){num_extra=num_extra+1;} 00098 } 00099 total=numEA+num_extra; 00100 return total; 00101 }
| int num_elemA2 | ( | int * | , | |
| basicos * | ||||
| ) |
Calcula el número de elementos pertenecientes al grupo A2. Para ello realiza un barrido por la qtable MDG buscando los elementos del grupo A2.
| num_line_total | Esta variable contiene el número de líneas del fichero *.spc cargado que coincide con el número de elementos del circuito | |
| DATOS | Puntero a estructura basicos |
Definición en la línea 64 del archivo estructuras.cpp.
00065 { 00066 bool result; 00067 QString var_string, var2_string; 00068 int var=0, var2=0, numA2=0; 00069 for(int i=0;i<*num_line_total;i++) 00070 { 00071 var_string=p_DATOS->tableMDG->text(i,3); 00072 var2_string=p_DATOS->tableMDG->text(i,0); 00073 var= var_string.toInt(&result, 10); 00074 var2=var2_string.toInt(&result, 10); 00075 if(var==2){numA2=numA2+1;} 00076 if(var2==7 ||var2==11 || var2==12 || var2==15){numA2=numA2+1;} 00077 } 00078 00079 return numA2; 00080 }
| int num_nodos | ( | int * | num_line_total, | |
| basicos * | p_DATOS | |||
| ) |
Calcula el número de nodos del circuito. Para ello realiza un barrido por la qtable MN buscando el mayor valor introducido.
| num_line_total | Esta variable contiene el número de líneas del fichero *.spc cargado que coincide con el número de elementos del circuito | |
| DATOS | Puntero a estructura basicos |
Definición en la línea 47 del archivo estructuras.cpp.
00048 { 00049 bool result; 00050 QString var_string; 00051 int var=0, maxnodo=0; 00052 for(int i=0;i<*num_line_total;i++) 00053 { 00054 for(int j=0;j<4;j++) 00055 { 00056 var_string=p_DATOS->tableMN->text(i,j); 00057 var=var_string.toInt(&result,10); 00058 if(var>maxnodo) {maxnodo=var;} 00059 } 00060 } 00061 return maxnodo; 00062 }
1.5.6