Resolución de Transitorio
[Métodos de resolución]

Diagrama de colaboración para Resolución de Transitorio:

Funciones

Vec creavectorauxiliar (basicos *p_DATOS)
 Función que se encarga crear un vector auxiliar de cálculo del sistema a resolver.
void num_iteraciones (basicos *p_DATOS)
 Función que se encarga calcular el número de iteraciones necesarias en el método iterativo directo utilizado.
int resolucion_transitorio (basicos *p_DATOS)
 Función que se encarga de la resolución del sistema permanente del circuito a analizar.

Descripción detallada

Grupo encargado de la resolución del sistema transitorio del circuito que se esté analizando

Documentación de las funciones

Vec creavectorauxiliar ( basicos p_DATOS  ) 

Función que se encarga crear un vector auxiliar de cálculo del sistema a resolver.

Parámetros:
Puntero a estructura basicos return Vector tipo PETSc

Definición en la línea 37 del archivo estructuras.cpp.

00038 {
00039 Vec z;
00040 VecCreate(PETSC_COMM_SELF,&z);
00041 VecSetSizes(z,PETSC_DECIDE,p_DATOS->filas());
00042 VecSetFromOptions(z);
00043 VecAssemblyBegin(z); VecAssemblyEnd(z); 
00044 return z;
00045 }

void num_iteraciones ( basicos p_DATOS  ) 

Función que se encarga calcular el número de iteraciones necesarias en el método iterativo directo utilizado.

Parámetros:
Puntero a estructura basicos

Definición en la línea 170 del archivo estructuras.cpp.

00171 {
00172 p_DATOS->numv=(p_DATOS->tf-p_DATOS->t0)/p_DATOS->h;
00173 
00174 }

int resolucion_transitorio ( basicos p_DATOS  ) 

Función que se encarga de la resolución del sistema permanente del circuito a analizar.

Parámetros:
Puntero a estructura basicos

Definición en la línea 177 del archivo estructuras.cpp.

00178 {
00179 Vec BBCC=p_DATOS->BBCC;
00180 KSP ksp;
00181 PetscOptionsInsertFile("opciones.txt");
00182 KSPCreate(PETSC_COMM_WORLD,&ksp);
00183 KSPSetOperators(ksp,p_DATOS->G,p_DATOS->G,DIFFERENT_NONZERO_PATTERN);
00184 KSPSetFromOptions(ksp);         
00185 //llamada a funcion que excriba los valores del sistema
00186 PetscViewer escribeDATOStran;
00187 PetscViewerASCIIOpen(PETSC_COMM_WORLD, "Datos_x_trans.data", &escribeDATOStran);
00188 MatView(p_DATOS->G, escribeDATOStran);
00189 VecView(BBCC, escribeDATOStran);                
00190 KSPSolve(ksp,BBCC,p_DATOS->x_trans);//KSPSolve(KSP ksp,Vec b,Vec x)
00191 PetscViewer viewer;
00192 PetscViewerSetFormat(viewer,PETSC_VIEWER_ASCII_COMMON );                
00193 PetscViewerASCIIOpen(PETSC_COMM_WORLD, "x_trans.data", &viewer);
00194 VecView(p_DATOS->x_trans, viewer);
00195 p_DATOS->Wn=p_DATOS->creaWn();
00196 p_DATOS->Wn1=p_DATOS->creaWn1();
00197 return 0;
00198 }


Generado el Wed Sep 2 16:04:53 2009 para Software de Análisis de Circuitos Lineales mediante Métodos Avanzados de Resolución para Uso Docente. Manual de Código Fuente por  doxygen 1.5.6