ASL  0.1.7
Advanced Simulation Library
aslTemplateVE.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 TEMPLATEVE_H_INCLUDED
25 #define TEMPLATEVE_H_INCLUDED
26 
29 #include "aslTemplatesExtras.h"
30 #include "aslDistanceFunction.h"
31 
37 namespace asl
38 {
40 
51  class TemplateVE
52  {
53  public:
55  const VTObjects* vto;
65  const VectorTemplate & vectorT,
66  unsigned int i=0,
67  bool bIni=true);
75  acl::VectorOfElements & position,
76  const VectorTemplate & vectorT,
77  unsigned int i=0);
79  TemplateVE(const acl::VectorOfElements & val,
80  const VectorTemplate & vectorT);
81 
82  TemplateVE();
83  acl::VectorOfElements getValue(unsigned int i);
93  void init(AbstractDataWithGhostNodes & data,
94  const VectorTemplate & vectorT,
95  unsigned int i=0,
96  bool bIni=true);
97 
103  void init(DistanceFunction & data,
104  acl::VectorOfElements & position,
105  const VectorTemplate & vectorT,
106  unsigned int i=0);
107  }; // class TemplateVE
108 
109  TemplateVE operator+ (const TemplateVE &a, const TemplateVE &b);
110  TemplateVE operator- (const TemplateVE &a, const TemplateVE &b);
111  TemplateVE operator* (const TemplateVE &a, const TemplateVE &b);
112  TemplateVE operator/ (const TemplateVE &a, const TemplateVE &b);
113 
116 
124  acl::VectorOfElements dz(const TemplateVE & a);
126  acl::VectorOfElements dxi(const TemplateVE & a, unsigned int i);
127 
129  acl::VectorOfElements divAgradB(const TemplateVE & a, const TemplateVE & b);
130 
132  acl::VectorOfElements div(const vector<TemplateVE> & a);
134 
139  acl::VectorOfElements divProduct(const vector<TemplateVE> & a, const TemplateVE & c);
141  acl::VectorOfElements div(const TemplateVE & ax, const TemplateVE & ay);
143  acl::VectorOfElements div(const TemplateVE & ax, const TemplateVE & ay, const TemplateVE & az);
144 
145 
147  acl::VectorOfElements dIdJ(unsigned int i, unsigned int j, const TemplateVE & a);
148 
151 
152 
153 }// asl
154 
155 #endif // TEMPLATEVE_H_INCLUDED
Advanced Simulation Library.
Definition: aslDataInc.h:30
acl::VectorOfElements dIdJ(unsigned int i, unsigned int j, const TemplateVE &a)
differential operator
acl::VectorOfElements divAgradB(const TemplateVE &a, const TemplateVE &b)
differential operator
const VTObjects * vto
Definition: aslTemplateVE.h:55
acl::VectorOfElements dy(const TemplateVE &a)
differential operator
acl::VectorOfElements interpolate(const TemplateVE &a, acl::VectorOfElements e)
generates expresion for bilinear interpolation the template should be an elementary cell
const VectorTemplate * vectorTemplate
Definition: aslTemplateVE.h:54
acl::VectorOfElements dz(const TemplateVE &a)
differential operator
acl::VectorOfElements laplas(const TemplateVE &a)
differential operator
acl::VectorOfElements getValue(unsigned int i)
acl::VectorOfElements dx(const TemplateVE &a)
differential operator
acl::VectorOfElements initValues
Definition: aslTemplateVE.h:57
acl::VectorOfElements gradient(const TemplateVE &a)
differential operator
Defines andditionl features related to a VectorTemplate.
The class represents several Element.
acl::VectorOfElements values
Definition: aslTemplateVE.h:56
This class contains VectorOfElements which corresponds to values of a field in littice nodes.
Definition: aslTemplateVE.h:51
const AMatr< T > operator/(const AMatr< T > &b, const T &a)
Definition: aslMatrices.h:264
acl::VectorOfElements div(const vector< TemplateVE > &a)
differential operator
SPPositionFunction operator*(SPPositionFunction a, SPPositionFunction b)
const AMatr< T > operator+(const AMatr< T > &a, const AMatr< T > &b)
Definition: aslMatrices.h:252
acl::VectorOfElements dxi(const TemplateVE &a, unsigned int i)
differential operator
acl::VectorOfElements divProduct(const vector< TemplateVE > &a, const TemplateVE &c)
differential operator
void init(AbstractDataWithGhostNodes &data, const VectorTemplate &vectorT, unsigned int i=0, bool bIni=true)
SPDistanceFunction operator-(SPDistanceFunction a)
Defines set of vectros with several properties.
Definition: aslTemplates.h:87