57{
58 int i;
59 int nVariables = physarray.size();
60
61 const Array<OneD, const int> &traceBndMap =
m_fields[0]->GetTraceBndMap();
62
63
64
65 int e, id1, id2, nBCEdgePts, eMax;
66
68
69 for (e = 0; e < eMax; ++e)
70 {
73 ->GetExp(e)
74 ->GetTotPoints();
75 id1 =
77 id2 =
79
80
82 {
83 Vmath::Zero(nBCEdgePts, &Fwd[nVariables - 1][id2], 1);
84 }
85
86
87
88
89 Array<OneD, NekDouble> tmp(nBCEdgePts, 0.0);
90
91
92
93
94
95 if (
m_fields[0]->GetGraph()->GetMovement()->GetMoveFlag())
96 {
98 {
99
100 for (int j = 0; j < nBCEdgePts; ++j)
101 {
102 Fwd[i + 1][id2 + j] +=
104 }
105 }
106 }
107
108
110 {
113 }
114
115
116 Vmath::Smul(nBCEdgePts, -2.0, &tmp[0], 1, &tmp[0], 1);
117
118
120 {
122 &Fwd[1 + i][id2], 1, &Fwd[1 + i][id2], 1);
123 }
124
125
126 for (i = 0; i < nVariables; ++i)
127 {
131 ->UpdatePhys())[id1],
132 1);
133 }
134 }
135}
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)