Método implicito TPS+Pol de grado 6
Rutina principal y auxiliares (comprimido)
*
Source: ad_imp_tps.cpp
Pura Conveccion en 2-d (una gaussiana desplazandose)
Metodo implicito
Nucleo de placa delgada + Pol de grado 6
Compile:
c++ -o aditps ad_imp_tps.cpp -lm
Example:
./aditps 30 0.01 0.01 0.4
Output;
-----------------------------------------------------
Advection - Implicit - TPS
n = 30 , total(nxn) =900
sigma = 0.010000
stept = 0.010000
tmax = 0.400000
t=0.400000, e_rms = 0.004433
t=0.400000, e_inf = 0.039074
-----------------------------------------------------
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