/work_files/curs/curs/connection.cpp

http://cm-kp-406.googlecode.com/ · C++ · 65 lines · 26 code · 9 blank · 30 comment · 0 complexity · b54140a2aa94376140cf4be4fac01ccc MD5 · raw file

  1. #include <fstream>
  2. #include <iomanip>
  3. #include <math.h>
  4. #include <iostream>
  5. #include "parabolic_solver.h"
  6. #include "algorithm.h"
  7. const double PI = atan(1.0) * 4.0;
  8. const double a = 1.0;
  9. const double b = 0.0;
  10. const double c = 0.0;
  11. double phi1(double x, double t)
  12. {
  13. return exp(-1*a*t);
  14. //return sin(t);
  15. //return ( -exp(-a * a * t) * (cos(b * t) + sin (b*t)) );
  16. //return ( exp((c - a*a)*t) * (cos (b * t) + sin (b * t)) );
  17. }
  18. double phi2(double x, double t)
  19. {
  20. return -1*exp(-1*a*t);
  21. //return -sin(t);
  22. //return ( exp(-a * a * t) * (cos(b * t) + sin (b*t)) );
  23. //return ( -exp((c - a*a)*t) * (cos (b * t) + sin (b * t)) );
  24. }
  25. double psi(double x, double t)
  26. {
  27. return sin(x);
  28. //return 0.0;
  29. //return cos (x);
  30. //return sin (x);
  31. }
  32. double f(double x, double t)
  33. {
  34. //return cos (x) * (cos (t) + sin(t));
  35. return 0.0;
  36. }
  37. /*
  38. void main()
  39. {
  40. CParabolicSolver direct_solve;
  41. ReverseSolve reverse_solve;
  42. / *
  43. direct_solve.setGrid(10, 10, 0.0, PI, 0.3);
  44. direct_solve.setTask(a, b, c, f, 1.0, 0.0, 1.0, 0.0, phi1, phi2, psi);
  45. direct_solve.solve_implicit();
  46. direct_solve.CheckSolve();* /
  47. int num = direct_solve.GetK();
  48. reverse_solve.SetTask(a, b, c, 1.0, 0.0, 1.0, 0.0, PI, 0.003, 0.0, 2, 10);
  49. //reverse_solve.SetLayer(direct_solve.GetLayer(num));
  50. reverse_solve.GetSolve();
  51. reverse_solve.CheckSolve("rev_sol.txt");
  52. //reverse_solve.CheckResult(direct_solve.GetTable(),"test.txt");
  53. }*/