24 for (
int c=0; c<V.
Width(); c++)
44 for (
int r=0; r<V.
Height(); r++)
54 for (
int c=0; c<V.
Width(); c++)
69 if (ran_dof_trans && dom_dof_trans)
74 else if (ran_dof_trans)
78 else if (dom_dof_trans)
97 if (ran_dof_trans && dom_dof_trans)
102 else if (ran_dof_trans)
106 else if (dom_dof_trans)
118 int size = doftrans_->
Size();
122 for (
int i=0; i<vdim_; i++)
130 for (
int i=0; i<vdim_; i++)
132 for (
int j=0; j<size; j++)
134 vec(j) = v[j*vdim_+i];
137 for (
int j=0; j<size; j++)
139 v[j*vdim_+i] = vec(j);
147 int size = doftrans_->
Height();
151 for (
int i=0; i<vdim_; i++)
159 for (
int i=0; i<vdim_; i++)
161 for (
int j=0; j<size; j++)
163 vec(j) = v[j*vdim_+i];
166 for (
int j=0; j<size; j++)
168 v[j*vdim_+i] = vec(j);
176 int size = doftrans_->
Size();
180 for (
int i=0; i<vdim_; i++)
188 for (
int i=0; i<vdim_; i++)
190 for (
int j=0; j<size; j++)
192 vec(j) = v[j*vdim_+i];
195 for (
int j=0; j<size; j++)
197 v[j*vdim_+i] = vec(j);
205 int size = doftrans_->
Size();
209 for (
int i=0; i<vdim_; i++)
217 for (
int i=0; i<vdim_; i++)
219 for (
int j=0; j<size; j++)
221 vec(j) = v[j*vdim_+i];
224 for (
int j=0; j<size; j++)
226 v[j*vdim_+i] = vec(j);
235 -1.0, -1.0, 0.0, 1.0,
236 0.0, 1.0, -1.0, -1.0,
237 1.0, 0.0, -1.0, -1.0,
238 -1.0, -1.0, 1.0, 0.0,
248 -1.0, -1.0, 0.0, 1.0,
249 -1.0, -1.0, 1.0, 0.0,
250 1.0, 0.0, -1.0, -1.0,
251 0.0, 1.0, -1.0, -1.0,
256 ::TInv(const_cast<double*>(TInv_data), 2, 2, 6);
274 if (
nfdofs < 2) {
return; }
276 MFEM_VERIFY(
Fo.
Size() >= 1,
277 "Face orientations are unset in ND_TriDofTransformation");
283 for (
int f=0;
f<1;
f++)
285 for (
int i=0; i<
nfdofs/2; i++)
297 if (
nfdofs < 2) {
return; }
299 MFEM_VERIFY(
Fo.
Size() >= 1,
300 "Face orientations are unset in ND_TriDofTransformation");
306 for (
int f=0;
f<1;
f++)
308 for (
int i=0; i<
nfdofs/2; i++)
320 if (
nfdofs < 2) {
return; }
322 MFEM_VERIFY(
Fo.
Size() >= 1,
323 "Face orientations are unset in ND_TriDofTransformation");
329 for (
int f=0;
f<1;
f++)
331 for (
int i=0; i<
nfdofs/2; i++)
343 if (
nfdofs < 2) {
return; }
345 MFEM_VERIFY(
Fo.
Size() >= 1,
346 "Face orientations are unset in ND_TriDofTransformation");
352 for (
int f=0;
f<1;
f++)
354 for (
int i=0; i<
nfdofs/2; i++)
370 if (
nfdofs < 2) {
return; }
372 MFEM_VERIFY(
Fo.
Size() >= 4,
373 "Face orientations are unset in ND_TetDofTransformation");
379 for (
int f=0;
f<4;
f++)
381 for (
int i=0; i<
nfdofs/2; i++)
393 if (
nfdofs < 2) {
return; }
395 MFEM_VERIFY(
Fo.
Size() >= 4,
396 "Face orientations are unset in ND_TetDofTransformation");
402 for (
int f=0;
f<4;
f++)
404 for (
int i=0; i<
nfdofs/2; i++)
416 if (
nfdofs < 2) {
return; }
418 MFEM_VERIFY(
Fo.
Size() >= 4,
419 "Face orientations are unset in ND_TetDofTransformation");
425 for (
int f=0;
f<4;
f++)
427 for (
int i=0; i<
nfdofs/2; i++)
439 if (
nfdofs < 2) {
return; }
441 MFEM_VERIFY(
Fo.
Size() >= 4,
442 "Face orientations are unset in ND_TetDofTransformation");
448 for (
int f=0;
f<4;
f++)
450 for (
int i=0; i<
nfdofs/2; i++)
466 if (
nfdofs < 2) {
return; }
468 MFEM_VERIFY(
Fo.
Size() >= 2,
469 "Face orientations are unset in ND_WedgeDofTransformation");
475 for (
int f=0;
f<2;
f++)
477 for (
int i=0; i<
nfdofs/2; i++)
489 if (
nfdofs < 2) {
return; }
491 MFEM_VERIFY(
Fo.
Size() >= 2,
492 "Face orientations are unset in ND_WedgeDofTransformation");
498 for (
int f=0;
f<2;
f++)
500 for (
int i=0; i<
nfdofs/2; i++)
512 if (
nfdofs < 2) {
return; }
514 MFEM_VERIFY(
Fo.
Size() >= 2,
515 "Face orientations are unset in ND_WedgeDofTransformation");
521 for (
int f=0;
f<2;
f++)
523 for (
int i=0; i<
nfdofs/2; i++)
535 if (
nfdofs < 2) {
return; }
537 MFEM_VERIFY(
Fo.
Size() >= 2,
538 "Face orientations are unset in ND_WedgeDofTransformation");
544 for (
int f=0;
f<2;
f++)
546 for (
int i=0; i<
nfdofs/2; i++)
int Size() const
Return the logical size of the array.
void SetRow(int r, const double *row)
int Width() const
Get the width (size of input) of the Operator. Synonym with NumCols().
Data type dense matrix using column-major storage.
double * GetData() const
Return a pointer to the beginning of the Vector data.
double f(const Vector &xvec)
int Height() const
Get the height (size of output) of the Operator. Synonym with NumRows().
void TransformPrimal(const DofTransformation *ran_dof_trans, const DofTransformation *dom_dof_trans, DenseMatrix &elmat)
void GetRow(int r, Vector &row) const
void GetColumn(int c, Vector &col) const
double p(const Vector &x, double t)
void TransformDual(const DofTransformation *ran_dof_trans, const DofTransformation *dom_dof_trans, DenseMatrix &elmat)