ParMooN
 All Classes Functions Variables Friends Pages
Example2D.h
1 
18 #ifndef __EXAMPLE2D__
19 #define __EXAMPLE2D__
20 
21 #include <MooNMD_Io.h>
22 #include <Constants.h>
23 #include <vector>
24 
25 
26 class Example2D
27 {
28  protected:
34  Example2D();
35 
36  public:
41  Example2D(std::vector <DoubleFunct2D*> exact,
42  std::vector <BoundCondFunct2D*> bc,
43  std::vector <BoundValueFunct2D*> bd, CoeffFct2D *coeffs);
44 
45  ~Example2D();
46 
47  /* functions representing the exact solution */
48  std::vector <DoubleFunct2D*> exact_solution;
49  /* functions representing the boundary conditions */
50  std::vector <BoundCondFunct2D*> boundary_conditions;
51  /* functions representing the boundary data */
52  std::vector <BoundValueFunct2D*> boundary_data;
53  /* functions representing the coefficients of the pde */
54  CoeffFct2D *problem_coefficients;
55 
56  //void *example_info();
57 
59  const std::vector <DoubleFunct2D*> & get_exact() const
60  { return exact_solution; }
61 
62  DoubleFunct2D* get_exact(unsigned int i) const
63  { return exact_solution.at(i); }
64 
65  BoundCondFunct2D** get_bc()
66  { return &boundary_conditions[0]; }
67 
68  BoundCondFunct2D* get_bc(unsigned int i) const
69  { return boundary_conditions.at(i); }
70 
71  BoundValueFunct2D** get_bd()
72  { return &boundary_data[0]; }
73 
74  BoundValueFunct2D* get_bd(unsigned int i) const
75  { return boundary_data.at(i); }
76 
77  CoeffFct2D* get_coeffs() const
78  { return problem_coefficients; }
79 };
80 
81 #endif // __EXAMPLE2D__
82 
Example2D()
default constructor
Definition: Example2D.C:3
const std::vector< DoubleFunct2D * > & get_exact() const
Definition: Example2D.h:59
store all functions needed to describe an example
Definition: Example2D.h:26