overland.hpp 840 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef OVERLAND_HPP
  2. #define OVERLAND_HPP
  3. #include "geometry.hpp"
  4. #include "physics.hpp"
  5. namespace Kernel{
  6. class Overland{
  7. private:
  8. const Geometry* geometry;
  9. double* flux_soil;
  10. void compute_flux_soil();
  11. public:
  12. //Input
  13. double dt;
  14. double* init_hov;
  15. double** P;
  16. double* l;
  17. double* Pl;
  18. double* hydr;
  19. double n1_init_hov;
  20. double* previous_hov;
  21. //Output
  22. double* Psoil; //Own by Overland object
  23. double* hov;
  24. double* error_x;
  25. double total_error;
  26. Overland();
  27. void init(const Geometry* geometry);
  28. void run();
  29. };
  30. inline
  31. Overland::Overland(){
  32. }
  33. inline void
  34. Overland::init(const Geometry* geometry_){
  35. geometry=geometry_;
  36. Psoil=new double[geometry->nX];
  37. flux_soil=new double[geometry->nX];
  38. hov=new double[geometry->nX];
  39. }
  40. }
  41. #endif