123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef HORIZONTAL_PROBLEM_HPP
- #define HORIZONTAL_PROBLEM_HPP
- #include "geometry.hpp"
- #include "physics.hpp"
- namespace Kernel{
- /*! Class for Horzontal problem.
- *! Here we code only homogeneus Neumann conditions.
- */
- class HorizontalProblem{
- private:
- const Geometry* geometry;
- double* sup_M;
- double* diag_M;
- double* sub_M;
- double* F;
- void solve_system();
- void compute_error();
- public:
- //Input
- double* previous_hydr;
- double* l;
- double* Pl;
- double n1_init_hydr;
- //Output
- double* hydr;
- double total_error;
- double* error_x;
- HorizontalProblem();
- void init(const Geometry* geometry);
- void run();
- double get_error(size_t ix);
- };
- inline HorizontalProblem::HorizontalProblem(){
- }
- }
- #endif
|