ASL  0.1.7
Advanced Simulation Library
aslGlobalSpace.h
Go to the documentation of this file.
1 /*
2  * Advanced Simulation Library <http://asl.org.il>
3  *
4  * Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5  *
6  *
7  * This file is part of Advanced Simulation Library (ASL).
8  *
9  * ASL is free software: you can redistribute it and/or modify it
10  * under the terms of the GNU Affero General Public License as
11  * published by the Free Software Foundation, version 3 of the License.
12  *
13  * ASL is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU Affero General Public License for more details.
17  *
18  * You should have received a copy of the GNU Affero General Public License
19  * along with ASL. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 
24 #ifndef ASLGLOBALSPACE_H
25 #define ASLGLOBALSPACE_H
26 
27 
28 namespace asl{
29 
30  //The class describes global discrete space
35  class GlobalSpace {
36  public:
37  typedef long int Type;
39  private:
40  const double dt;
41  const double dx;
42  public:
43  inline GlobalSpace():dx(1.),dt(1.){};
44  inline double discreteToGlobal(Type t){return dt*t;}
45  inline Type globalToDiscrete(double t){return floor(t/dt);}
46  inline Avec<double> discreteToGlobal(VType r){return dt*r;}
47  inline VType globalToDiscrete(AVec<double> t){return floor(t/dt);}
48  };
49 
50 } //namespace acl
51 
52 #endif // ASLGLOBALSPACE_H
Advanced Simulation Library.
Definition: aslDataInc.h:30
Avec< double > discreteToGlobal(VType r)
double discreteToGlobal(Type t)
Type globalToDiscrete(double t)
const AVec< int > floor(const AVec<> &a)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
AVec< long int > VType
VType globalToDiscrete(AVec< double > t)