Memosa-FVM  0.2
TractionValEvaluator< T > Class Template Reference

#include <TractionVal.h>

Collaboration diagram for TractionValEvaluator< T >:

Public Member Functions

 TractionValEvaluator (const FloatVal< T > &fval0, const FloatVal< T > &fval1, const FloatVal< T > &fval2, const FloatVal< T > &fval3, const FloatVal< T > &fval4, const FloatVal< T > &fval5, const FloatVal< T > &fval6, const FloatVal< T > &fval7, const FloatVal< T > &fval8, const GeomFields &geomFields, const StorageSite &site)
 
const Vector< T, 3 > & operator[] (const int i) const
 

Private Attributes

Vector< T, 3 > _constant0
 
Vector< T, 3 > _constant1
 
Vector< T, 3 > _constant2
 
Vector< T, 3 > _constant
 
const Array< Vector< T, 3 > > & _faceArea
 
const Array< T > & _faceAreaMag
 
const bool _isField0
 
const bool _isField1
 
const bool _isField2
 
shared_ptr< Array< T > > _arrayPtr0
 
shared_ptr< Array< T > > _arrayPtr1
 
shared_ptr< Array< T > > _arrayPtr2
 
shared_ptr< Array< T > > _arrayPtr3
 
shared_ptr< Array< T > > _arrayPtr4
 
shared_ptr< Array< T > > _arrayPtr5
 
shared_ptr< Array< T > > _arrayPtr6
 
shared_ptr< Array< T > > _arrayPtr7
 
shared_ptr< Array< T > > _arrayPtr8
 

Detailed Description

template<class T>
class TractionValEvaluator< T >

Definition at line 28 of file TractionVal.h.

Constructor & Destructor Documentation

template<class T >
TractionValEvaluator< T >::TractionValEvaluator ( const FloatVal< T > &  fval0,
const FloatVal< T > &  fval1,
const FloatVal< T > &  fval2,
const FloatVal< T > &  fval3,
const FloatVal< T > &  fval4,
const FloatVal< T > &  fval5,
const FloatVal< T > &  fval6,
const FloatVal< T > &  fval7,
const FloatVal< T > &  fval8,
const GeomFields geomFields,
const StorageSite site 
)
inline

Definition at line 31 of file TractionVal.h.

References TractionValEvaluator< T >::_arrayPtr0, TractionValEvaluator< T >::_arrayPtr1, TractionValEvaluator< T >::_arrayPtr2, TractionValEvaluator< T >::_arrayPtr3, TractionValEvaluator< T >::_arrayPtr4, TractionValEvaluator< T >::_arrayPtr5, TractionValEvaluator< T >::_arrayPtr6, TractionValEvaluator< T >::_arrayPtr7, TractionValEvaluator< T >::_arrayPtr8, TractionValEvaluator< T >::_constant0, TractionValEvaluator< T >::_constant1, TractionValEvaluator< T >::_constant2, TractionValEvaluator< T >::_isField0, TractionValEvaluator< T >::_isField1, TractionValEvaluator< T >::_isField2, FloatVal< T >::constant, FloatVal< T >::field, and Field::getArrayPtr().

41  :
42  _faceArea(dynamic_cast<const Array<Vector<T,3> >&>(geomFields.area[site])),
43  _faceAreaMag(dynamic_cast<const Array<T>&>(geomFields.areaMag[site])),
44  _isField0(fval0.field != 0),
45  _isField1(fval4.field != 0),
46  _isField2(fval8.field != 0),
47  _arrayPtr0(),
48  _arrayPtr1(),
49  _arrayPtr2(),
50  _arrayPtr3(),
51  _arrayPtr4(),
52  _arrayPtr5(),
53  _arrayPtr6(),
54  _arrayPtr7(),
55  _arrayPtr8()
56  {
57  if (_isField0)
58  {
59  _arrayPtr0 = dynamic_pointer_cast<Array<T> >(fval0.field->getArrayPtr(site));
60  _arrayPtr1 = dynamic_pointer_cast<Array<T> >(fval1.field->getArrayPtr(site));
61  _arrayPtr2 = dynamic_pointer_cast<Array<T> >(fval2.field->getArrayPtr(site));
62  }
63  else
64  {
65  _constant0[0] = fval0.constant;
66  _constant0[1] = fval1.constant;
67  _constant0[2] = fval2.constant;
68  }
69  if (_isField1)
70  {
71  _arrayPtr3 = dynamic_pointer_cast<Array<T> >(fval3.field->getArrayPtr(site));
72  _arrayPtr4 = dynamic_pointer_cast<Array<T> >(fval4.field->getArrayPtr(site));
73  _arrayPtr5 = dynamic_pointer_cast<Array<T> >(fval5.field->getArrayPtr(site));
74  }
75  else
76  {
77  _constant1[0] = fval3.constant;
78  _constant1[1] = fval4.constant;
79  _constant1[2] = fval5.constant;
80  }
81  if (_isField2)
82  {
83  _arrayPtr6 = dynamic_pointer_cast<Array<T> >(fval6.field->getArrayPtr(site));
84  _arrayPtr7 = dynamic_pointer_cast<Array<T> >(fval7.field->getArrayPtr(site));
85  _arrayPtr8 = dynamic_pointer_cast<Array<T> >(fval8.field->getArrayPtr(site));
86  }
87  else
88  {
89  _constant2[0] = fval6.constant;
90  _constant2[1] = fval7.constant;
91  _constant2[2] = fval8.constant;
92  }
93  }
Field * field
Definition: FloatVarDict.h:34
const bool _isField0
Definition: TractionVal.h:147
shared_ptr< Array< T > > _arrayPtr8
Definition: TractionVal.h:158
const bool _isField1
Definition: TractionVal.h:148
shared_ptr< Array< T > > _arrayPtr4
Definition: TractionVal.h:154
shared_ptr< Array< T > > _arrayPtr5
Definition: TractionVal.h:155
shared_ptr< Array< T > > _arrayPtr1
Definition: TractionVal.h:151
shared_ptr< Array< T > > _arrayPtr3
Definition: TractionVal.h:153
shared_ptr< Array< T > > _arrayPtr7
Definition: TractionVal.h:157
Vector< T, 3 > _constant2
Definition: TractionVal.h:143
Definition: Array.h:14
shared_ptr< Array< T > > _arrayPtr6
Definition: TractionVal.h:156
const Array< Vector< T, 3 > > & _faceArea
Definition: TractionVal.h:145
shared_ptr< Array< T > > _arrayPtr0
Definition: TractionVal.h:150
Field area
Definition: GeomFields.h:23
const bool _isField2
Definition: TractionVal.h:149
shared_ptr< Array< T > > _arrayPtr2
Definition: TractionVal.h:152
shared_ptr< ArrayBase > getArrayPtr(const StorageSite &)
Definition: Field.cpp:63
Field areaMag
Definition: GeomFields.h:25
const Array< T > & _faceAreaMag
Definition: TractionVal.h:146
Vector< T, 3 > _constant0
Definition: TractionVal.h:141
Vector< T, 3 > _constant1
Definition: TractionVal.h:142

Member Function Documentation

template<class T >
const Vector<T,3>& TractionValEvaluator< T >::operator[] ( const int  i) const
inline

Definition at line 95 of file TractionVal.h.

References TractionValEvaluator< T >::_constant, TractionValEvaluator< T >::_constant0, TractionValEvaluator< T >::_constant1, TractionValEvaluator< T >::_constant2, TractionValEvaluator< T >::_faceArea, TractionValEvaluator< T >::_faceAreaMag, TractionValEvaluator< T >::_isField0, TractionValEvaluator< T >::_isField1, TractionValEvaluator< T >::_isField2, and dot().

96  {
97 
99  Vector<T,3> traction0(NumTypeTraits<Vector<T,3> >::getZero());
100  Vector<T,3> traction1(NumTypeTraits<Vector<T,3> >::getZero());
101  Vector<T,3> traction2(NumTypeTraits<Vector<T,3> >::getZero());
102 
103  if (_isField0)
104  {
105  traction0[0] = (*_arrayPtr0)[i];
106  traction0[1] = (*_arrayPtr1)[i];
107  traction0[2] = (*_arrayPtr2)[i];
108  _constant[0] = dot(traction0,en);
109  }
110  else
111  {
112  _constant[0] = dot(_constant0,en);
113  }
114  if (_isField1)
115  {
116  traction1[0] = (*_arrayPtr3)[i];
117  traction1[1] = (*_arrayPtr4)[i];
118  traction1[2] = (*_arrayPtr5)[i];
119  _constant[1] = dot(traction1,en);
120  }
121  else
122  {
123  _constant[1] = dot(_constant1,en);
124  }
125  if (_isField2)
126  {
127  traction2[0] = (*_arrayPtr6)[i];
128  traction2[1] = (*_arrayPtr7)[i];
129  traction2[2] = (*_arrayPtr8)[i];
130  _constant[2] = dot(traction2,en);
131  }
132  else
133  {
134  _constant[2] = dot(_constant2,en);
135  }
136 
137  return _constant;
138  }
const bool _isField0
Definition: TractionVal.h:147
const bool _isField1
Definition: TractionVal.h:148
Vector< T, 3 > _constant2
Definition: TractionVal.h:143
const Array< Vector< T, 3 > > & _faceArea
Definition: TractionVal.h:145
const bool _isField2
Definition: TractionVal.h:149
T dot(const Vector< T, 3 > &a, const Vector< T, 3 > &b)
Definition: Vector.h:253
const Array< T > & _faceAreaMag
Definition: TractionVal.h:146
Vector< T, 3 > _constant
Definition: TractionVal.h:144
Vector< T, 3 > _constant0
Definition: TractionVal.h:141
Vector< T, 3 > _constant1
Definition: TractionVal.h:142

Member Data Documentation

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr0
private

Definition at line 150 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr1
private

Definition at line 151 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr2
private

Definition at line 152 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr3
private

Definition at line 153 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr4
private

Definition at line 154 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr5
private

Definition at line 155 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr6
private

Definition at line 156 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr7
private

Definition at line 157 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
shared_ptr<Array<T> > TractionValEvaluator< T >::_arrayPtr8
private

Definition at line 158 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::TractionValEvaluator().

template<class T >
Vector<T,3> TractionValEvaluator< T >::_constant
mutableprivate

Definition at line 144 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::operator[]().

template<class T >
Vector<T,3> TractionValEvaluator< T >::_constant0
mutableprivate
template<class T >
Vector<T,3> TractionValEvaluator< T >::_constant1
mutableprivate
template<class T >
Vector<T,3> TractionValEvaluator< T >::_constant2
mutableprivate
template<class T >
const Array<Vector<T,3> >& TractionValEvaluator< T >::_faceArea
private

Definition at line 145 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::operator[]().

template<class T >
const Array<T>& TractionValEvaluator< T >::_faceAreaMag
private

Definition at line 146 of file TractionVal.h.

Referenced by TractionValEvaluator< T >::operator[]().

template<class T >
const bool TractionValEvaluator< T >::_isField0
private
template<class T >
const bool TractionValEvaluator< T >::_isField1
private
template<class T >
const bool TractionValEvaluator< T >::_isField2
private

The documentation for this class was generated from the following file: