59{
60 int i;
61 int nVariables = physarray.size();
62
63 const Array<OneD, const int> &traceBndMap =
m_fields[0]->GetTraceBndMap();
64
65
66
67 int e, id1, id2, nBCEdgePts, eMax;
68
70
71 for (e = 0; e < eMax; ++e)
72 {
75 ->GetExp(e)
76 ->GetTotPoints();
77 id1 =
79 id2 =
81
82
84 {
85 Vmath::Zero(nBCEdgePts, &Fwd[nVariables - 1][id2], 1);
86 }
87
88
89
90
91 Array<OneD, NekDouble> tmp(nBCEdgePts, 0.0);
92
93
94
95
96
97 if (
m_fields[0]->GetGraph()->GetMovement()->GetMoveFlag())
98 {
100 {
101
102 for (int j = 0; j < nBCEdgePts; ++j)
103 {
104 Fwd[i + 1][id2 + j] +=
106 }
107 }
108 }
109
110
112 {
115 }
116
117
118 Vmath::Smul(nBCEdgePts, -2.0, &tmp[0], 1, &tmp[0], 1);
119
120
122 {
124 &Fwd[1 + i][id2], 1, &Fwd[1 + i][id2], 1);
125 }
126
127
128 for (i = 0; i < nVariables; ++i)
129 {
133 ->UpdatePhys())[id1],
134 1);
135 }
136 }
137}
int m_spacedim
Space dimension.
Array< OneD, Array< OneD, NekDouble > > m_gridVelocityTrace
Grid Velocity.
Array< OneD, Array< OneD, NekDouble > > m_traceNormals
Trace normals.
int m_bcRegion
Id of the boundary region.
Array< OneD, MultiRegions::ExpListSharedPtr > m_fields
Array of fields.
void Vvtvp(int n, const T *w, const int incw, const T *x, const int incx, const T *y, const int incy, T *z, const int incz)
vvtvp (vector times vector plus vector): z = w*x + y
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*x.
void Zero(int n, T *x, const int incx)
Zero vector.
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)