43 namespace MultiRegions
48 m_bndCondExpansions(),
59 const bool dealiasing):
61 m_bndCondExpansions(),
68 m_bndCondExpansions (In.m_bndCondExpansions),
69 m_bndConditions (In.m_bndConditions)
71 if(DeclareLinesSetCoeffPhys)
75 for(
int n = 0; n <
m_lines.num_elements(); ++n)
90 const bool dealiasing,
92 const std::string &variable):
94 m_bndCondExpansions(),
105 nel =
m_lines[0]->GetExpSize();
107 for(i = 0; i < nel; ++i)
115 for(n = 1; n < nylines*nzlines; ++n)
118 for(i = 0; i < nel; ++i)
120 (*m_exp).push_back((*
m_exp)[i]);
151 int nlines =
m_lines.num_elements();
155 int nbnd = bregions.size();
160 Array<OneD, MultiRegions::ExpListSharedPtr> LinesBndCondExp(nlines);
164 for(i = 0; i < nbnd; ++i)
166 for(n = 0; n < nlines; ++n)
168 LinesBndCondExp[n] =
m_lines[n]->UpdateBndCondExpansion(i);
180 const std::string varName)
186 for (n = 0; n <
m_nz; ++n)
188 for (m = 0; m <
m_ny; ++m)
191 time, varName, 0.5*
m_lhom_y*(1.0+y[m]),
210 const Array<OneD, const NekDouble> &inarray,
211 Array<OneD, NekDouble> &outarray,
215 const Array<OneD, const NekDouble> &dirForcing)
226 Array<OneD, NekDouble> e_out;
227 Array<OneD, NekDouble> fce(inarray.num_elements());
239 for(n = 0; n < nhom_modes_z; ++n)
241 for(m = 0; m < nhom_modes_y; ++m)
245 new_factors = factors;
248 m_lines[n]->HelmSolve(fce + cnt,
249 e_out = outarray + cnt1,
250 flags, new_factors, varcoeff, dirForcing);
252 cnt +=
m_lines[n]->GetTotPoints();
253 cnt1 +=
m_lines[n]->GetNcoeffs();
260 const std::string varName,
292 Array<OneD, int> ElmtID_tmp;
293 Array<OneD, int> EdgeID_tmp;
295 m_lines[0]->GetBoundaryToElmtMap(ElmtID_tmp,EdgeID_tmp);
296 int nel_per_lines =
m_lines[0]->GetExpSize();
297 int nlines =
m_lines.num_elements();
299 int MapSize = ElmtID_tmp.num_elements();
301 ElmtID = Array<OneD, int>(nlines*MapSize);
302 EdgeID = Array<OneD, int>(nlines*MapSize);
303 for(
int i = 0; i < nlines; i++)
305 for(
int j = 0; j < MapSize; j++)
307 ElmtID[j+i*MapSize] = ElmtID_tmp[j] + i*nel_per_lines;
308 EdgeID[j+i*MapSize] = EdgeID_tmp[j];
321 ElmtID = Array<OneD, int>(MapSize);
322 EdgeID = Array<OneD, int>(MapSize);