Referencia de la Clase Sistema_ecuaciones

Clase principal Sistema_ecuaciones. Más...

#include <P_sistemaEc.h>

Lista de todos los miembros.

Métodos públicos

 Sistema_ecuaciones (const char *)
 Constructor de Sistema_ecuaciones .
 ~Sistema_ecuaciones ()
 Destructor de Sistema_ecuaciones .
int getStiffness (int=0)
void print_global ()
int rightSide ()
int dirichletLin ()
int aBinario ()
int mkdir (const char *)
const char * enrrutar (const char *)

Métodos privados

int local_matrix (double, double, double, double, double, double, int)
int regiones ()
int regNodos (int **, int, int)

Atributos privados

int N_N
int N_E
int N_ED
float frec
double VACIO
double ** pNode
string ruta
map< unsigned, double > permeabilidad
map< unsigned, double > conductividad
list< int > listaRegNodos0
list< int > listaRegNodos1

Descripción detallada

Clase principal Sistema_ecuaciones.

La clase Sistema_ecuaciones contiene todas las funciones y variables que se utilizan para el programa pre.bin.


Documentación del constructor y destructor

Sistema_ecuaciones::Sistema_ecuaciones ( const char *  entrada  ) 

Constructor de Sistema_ecuaciones .

El CONSTRUCTOR crea las cadenas de caracteres (ptrMesh, ptrConducti, etc) con las direcciones de los diferentes archivos de trabajo. Ademas se llama a la funcion getOrder() de de la clase G2f para crear archivos ordenados con los datos del archivo GMSH. Por ultimo se llama a la funcion regiones, que crear variables de tipo map globales con valores de permeabilidad y conductividad.

Sistema_ecuaciones::~Sistema_ecuaciones (  ) 

Destructor de Sistema_ecuaciones .

El destructor de Sistema_ecuaciones se encarga de eliminar de la memoria la matriz principal de rigidez y el vector de terminos independientes. Ademas lanza la orden de finalizar PetscFinalize().


Documentación de las funciones miembro

int Sistema_ecuaciones::aBinario (  ) 

aBINARIO() crea un archivo binario especifico PETSC con el contenido de una matriz, respetando la estructura y el tipo. Asi mismo tambien se crea un binario con el contenido del vactor de terminos independientes. Estos archivos se crean para ser leidos posteriormente por solve.bin .

int Sistema_ecuaciones::dirichletLin (  ) 

DIRICHLET-LIN() aplica dirichlet en Pm_global a patir de valores en lineas. Esta funcion debe realizar un barrido sobre el archivo dirichlet.lin para encontrar encontrar las regiones donde existe de antemano un valor dado del potencial vector magnetico. Para ello busca los nodos de las regiones en el archivo g2f.edge, donde se encuentran los elementos de tipo linea. Una vez encontrados los nodos asociados fuerza al sistema de ecuaciones (Pm_global y Pv_righside) para asignar el valor adecuado al nodo correspondiente.

const char * Sistema_ecuaciones::enrrutar ( const char *  archivo  ) 

ENRUTAR() es una funcion auxiliar que coloca en ptrRutaArchivo la suma de las cadenas de caracteres ruta y *archivo.

int Sistema_ecuaciones::getStiffness ( int  verb = 0  ) 

La funcion GET-STIFFNESS() utiliza los archivos GMSH ordenados por getOrder() para calcular la matriz global del sistema, tanto parte real como parte imaginaria. Para ello utiliza un buble que llama a la funcion local_matrix() que genera la matriz local de cada elemento, que luego es ensamblada en la matriz global. La funcion local_matrix() necesitara las coordenadas de los nodos que forman el elemento, asi como la region a la que pertenese el elemento.

int Sistema_ecuaciones::local_matrix ( double  xi,
double  yi,
double  xj,
double  yj,
double  xk,
double  yk,
int  region 
) [private]

La funcion LOCAL_MATRIX() es mayormente el trozo de algoritmo que cambia al cambiar el campo de aplicacion del programa (magnetismo,distribucion termica, mecanica). En esta funcion esta reflejada en gran medida la funcion fisica que representa la base del programa Femsii. Se encarga de calcular la matriz local de cada elemento, aceptando la posicion de cada uno de los tres puntos, y propiedades aplicables a cada elemento/region. En nuestro caso la permeabilidad magnetica.

int Sistema_ecuaciones::mkdir ( const char *  ptrTemporal  ) 

MKDIR() crea la carpeta que viene en la cadena *ptrTemporal y notifica si lo consigue.

void Sistema_ecuaciones::print_global (  ) 

PRINT_GLOBAL() muestra en la salida estandar la matriz de rigidez global.

int Sistema_ecuaciones::regiones (  )  [private]

REGIONES() Se trata de que esta funcion llene las variables de tipo map "permeabilidad" y "conductividad" con los valores de conductividad y permeabilidad en cada region que da el usuario. Necesario para la funcion local_matrix() .

int Sistema_ecuaciones::rightSide (  ) 

RIGHT-SIDE() genera Pv_rightside a partir del archivo de densidades de corriente. En el archivo de densidades de corriente se nos proporcionara una lista de regiones y densidades correspondientes. Mediante el archivo g2f.ele se obtienen los nodos asociados a cada region. Tener en cuenta que el archivo de densidades de corriente incluye siempre parte real y parte imaginaria para cada region.


Documentación de los datos miembro

map<unsigned,double> Sistema_ecuaciones::conductividad [private]

Variable tipo mapa para almacenar pares region-conductividad. Lo utiliza local_matrix()

float Sistema_ecuaciones::frec [private]

variable que se encarga de almacenar la frecuencia de la densidad de corriente.

variable lista para almacenar la primera columna de los pares de nodos homologos. (en desarrollo)

variable lista para almacenar la segunda columna de los pares de nodos homologos. (en desarrollo)

int Sistema_ecuaciones::N_E [private]

variable que se encarga de almacenar el numero de elementos.

int Sistema_ecuaciones::N_ED [private]

variable que se encarga de almacenar el numero de elementos de contorno.

int Sistema_ecuaciones::N_N [private]

variable que se encarga de almacenar el numero de nodos.

map<unsigned,double> Sistema_ecuaciones::permeabilidad [private]

Variable tipo mapa para almacenar pares region-permeabilidad. Lo utiliza local_matrix().

double** Sistema_ecuaciones::pNode [private]

variable que almacena los nodos del mallado, la utilizan getStiffness(), regiones() y archivoGmshPot().

double Sistema_ecuaciones::VACIO [private]

variable que se encarga de almacenar el valor de la permeabilidad magnetica en el vacio.


La documentación para esta clase fue generada a partir de los siguientes ficheros:
Generado el Sat Oct 16 19:57:26 2010 para Femsii por  doxygen 1.6.3