Geometria_1DHomogenea.hpp
Ir a la documentación de este archivo.
1 // Clase para generar una geometría homogénea en una dimensión //
3 // //
4 // Análisis y Diseño y Programación: //
5 // //
6 // Nombre: Antonio Carrillo Ledesma //
7 // E-mail: acl@www.mmc.geofisica.unam.mx //
8 // Página: http://www.mmc.geofisica.unam.mx/acl //
9 // //
10 // //
11 // Este programa es software libre. Puede redistribuirlo y/o modificarlo //
12 // bajo los términos de la Licencia Pública General de GNU según es //
13 // publicada por la Free Software Foundation, bien de la versión 2 de //
14 // dicha Licencia o bien (según su elección) de cualquier versión //
15 // posterior. //
16 // //
17 // Este programa se distribuye con la esperanza de que sea útil, pero SIN //
18 // NINGUNA GARANTÍA, incluso sin la garantía MERCANTIL implícita o sin //
19 // garantizar la CONVENIENCIA PARA UN PROPÓSITO PARTICULAR. Véase la //
20 // Licencia Pública General de GNU para más detalles. //
21 // //
22 // Debería haber recibido una copia de la Licencia Pública General junto //
23 // con este programa. Si no ha sido así, escriba a la Free Software //
24 // Foundation, Inc., en 675 Mass Ave, Cambridge, MA 02139, EEUU. //
25 // //
26 // //
28 
29 
30 #ifndef __Geometria_1DHomogenea__
31 #define __Geometria_1DHomogenea__
32 
33 #include "Geometria_1D.hpp"
34 
36 
42 {
43 
44 public:
45 
47 
50  Geometria_1DHomogenea(ldouble xi, ldouble xf, int part) : Geometria_1D()
51  {
52  Dominio.asigna(0,0,xi);
53  Dominio.asigna(1,0,xf);
54 
55  Particion.asigna(0,part);
56 
57  N_N = part;
58  N_E = part - 1;
60  }
61 
62 
64 
67  {
68  dom->copia(&Dominio);
69 
70  Particion.asigna(0,part);
71 
72  N_N = part;
73  N_E = part - 1;
75  }
76 
79  { }
80 
81 
83 
84  Geometria_1DHomogenea(const char *arch) : Geometria_1D()
85  {
86  leeGeometria(arch);
87  }
88 
89 
91  void generaGeometria(void);
92 
93 };
94 
99 #endif
Clase para generar una geometría en una dimensión
Definition: Geometria_1D.hpp:43
Geometria_1DHomogenea(MatrizDensa *dom, int part)
Constructor de la clase.
Definition: Geometria_1DHomogenea.hpp:66
Geometria_1DHomogenea(void)
Constructor de la clase.
Definition: Geometria_1DHomogenea.hpp:78
MatrizDensa Dominio
Dominio de la geometria.
Definition: Geometria.hpp:65
Geometria_1DHomogenea(ldouble xi, ldouble xf, int part)
Constructor de la clase.
Definition: Geometria_1DHomogenea.hpp:50
virtual void copia(Matriz *a)
Copia el contenido de la matriz a la matriz pasada como parámetro.
Definition: Matriz.cpp:371
Clase para el trabajar con matrices densas de punto flotante.
Definition: MatrizDensa.hpp:44
void asigna(const int col, const int val)
Asigna el valor val a la columna col.
Definition: VectorInt.hpp:202
Clase para generar una geometría homogénea en una dimensión
Definition: Geometria_1DHomogenea.hpp:41
void asigna(const int ren, const int col, const ldouble val)
Asigna el valor indicado en el renglo y columna solicitado.
Definition: MatrizDensa.hpp:147
int N_N
Numero de nodos.
Definition: Geometria.hpp:85
void leeGeometria(const char *arch)
Lee la geometria a un archivo.
Definition: Geometria.hpp:386
Geometria_1DHomogenea(const char *arch)
Constructor de la clase.
Definition: Geometria_1DHomogenea.hpp:84
VectorInt Particion
Particion del dominio.
Definition: Geometria.hpp:68
int N_E
Numero de elementos.
Definition: Geometria.hpp:88
void generaGeometria(void)
Genera la geometria.
Definition: Geometria_1DHomogenea.cpp:33