/*
Source:      ad_exp_tps.cpp
                  Pura Conveccion en 2-d  (una gaussiana desplazandose)
                  Metodo explicito 
                  Nucleo de placa delgada + Pol de grado 6 

Compile:
                 c++ -o adetps  ad_exp_tps.cpp -lm 
Example:
                    ./adetps 30 0.01  0.001 0.4

Output:
-----------------------------------------------------
Advection - Explicit - TPS
n           = 30 , total(nxn) =900
sigma       = 0.010000
stept       = 0.001000
tmax        = 0.400000
t=0.400000, e_rms       = 0.009338
t=0.400000, e_inf       = 0.087256
-----------------------------------------------------

Los siguientes archivos de datos que
se pueden ver con GNUPLOT
          
            splot  'real'
            splot  'numerica'
            splot  'realnumerica'
            splot  'realt'
            splot  'numericat'
            splot  'realnumericat'

real   -> corresponde a la solucion analitica de la EDP en t=0
realt  -> corresponde a la solucion analitica de la EDP en t=tmax
numerica   -> corresponde a la solucion numerica de la EDP en t=0
numericat   -> corresponde a la solucion numerica de la EDP en t=tmax
realnumerica ->     analitica - numerica  en t=0
realnumericat ->     analitica - numerica  en t=tmax

Autor: Jose Antonio Muñoz Gómez
Supervisión: Pedro González Casanova

*/

#include
#include
#include

#define INTERIOR       0
#define FRONTERA_REAL  1

#include "../libs/jag_mem.cpp"
#include "../libs/jag_phi.cpp"
#include "../libs/jag_vector.cpp"
#include "../libs/jag_cond.cpp"
#include "../libs/qSort.cpp"
#include "../libs/jag_file.cpp"

#include "edp_ut.cpp"

#include "../libs/varios1.cpp"

//--------------------------------------------------------------------
void reconstruye(double *x,double *y, double *lambda,double c,int N, double *sol_numerica)
{
int     i,j;
double xc,yc;
double s;

 for(i=0;i