CG  Version 25
EquationDomain.h
Go to the documentation of this file.
1 #ifndef EQUATION_DOMAIN_H
2 #define EQUATION_DOMAIN_H
3 
4 #include "Overture.h"
5 #include "Parameters.h"
6 
7 #ifndef OV_USE_OLD_STL_HEADERS
8 #include <vector>
9 #include <list>
10 #else
11 #include <vector.h>
12 #include <list.h>
13 #endif
14 
15 // =========================================================================================
16 // This class defines a domain where a particular type of equation is solved.
17 // Usually only one equation is solved (e.g. incompressible N-S) and there is only one EquationDomain.
18 // We may want to solve the incompressible N-S in one domain and the heat equation in another in which case
19 // we will have 2 EquationDomain's.
20 // =========================================================================================
21 
23 {
24 public:
25 
27 // define a Region by the PDE to solve, also supply a name for the region
28 EquationDomain(Parameters *pde, const aString & name);
29 
31 
32 
33 int setPDE( Parameters *pde );
34 int setName( const aString & name );
35 
36 Parameters *getPDE() const;
37 const aString& getName() const;
38 
39 std::vector<int> gridList; // list of grids that belong to this region
40 
41 // public:
42 // Parameters parameters; // holds parameters for this domain
43 
44 public:
45  ListOfShowFileParameters pdeParameters; // holds pde parameters
46 
47 protected:
48 
49  Parameters *pde; // Here is the pde we solve
50  aString name; // here is the name of the region
51 
52 
53 };
54 
55 
56 
57 // =========================================================================================
58 // This class holds a list (vector) of the different EquationDomain's
59 // =========================================================================================
60 class ListOfEquationDomains : public std::vector<EquationDomain>
61 {
62  public:
63 
66 
67  // return the domain number of a given grid:
68  int gridDomainNumber(int grid ) const;
69 
70  public: // make this public for now:
71 
72  std::vector<int> gridDomainNumberList; // the region number of a given grid
73 
74 };
75 
76 
77 #endif