Para definir un problema, hay que editar un archivo dentro de la carpeta Problems para usarse en tiempo de ejecucion como: $ ./DVS-DDM file prob1 -m MF1 -p 3 -Nx 10 -Ny 4 -Mx 10 -My 10 Conteniendo los siguientes campos: Dimension: d <2 | 3> Dominio: Xmin Xmax Ymin Ymax Zmin Zmax Ecuacion: -Laplaciano(u)+Gradiente(u) + u = f(x,y,z) -(ax * Uxx + ay * Uyy + az * Uzz) + (bx * Ux + by * Uy + bz * Uz) + c * U = fc * f(x,y,z) ax ay az bx by bz c f fc Frontera: Dirichlet u(x,y,z) = gc * g(x,y,z) en la frontera de U g gc Nodos Primales: pr Definicion de funciones para especificar el lado derecho y la condicion de frontera, en se debe poner una cadana ExpXY, la cual debe ser definida en LookUpFunction.cpp dentro de Problems como: else if (strcmp(s,"ExpXY") == 0) { ExpXY *f = new (nothrow) ExpXY(1.0); if (f == NULL) ce.memoryError("f"); return f; } Y expecificada en ExpXY.hpp dentro de Problems como: #ifndef __ExpXY__ #define __ExpXY__ #include "FunctionV1.hpp" #include class ExpXY : public FunctionV1 { private: double var; public: ExpXY(double b) { var = b; } inline double eval(int d, double *x) { double p = (var == 0.0 ? 1.0 - x[0]*x[0] - x[1]*x[1] : var); return p*exp(x[0]*x[1]); } inline double getVar(void) { return var; } inline void setVar(double b) { var = b; } }; #endif