20 "DofTransformation has no local transformation, call "
21 "SetDofTransformation first!");
26 for (
int i=0; i<
vdim_; i++)
34 for (
int i=0; i<
vdim_; i++)
36 for (
int j=0; j<size; j++)
38 vec(j) = v[j*
vdim_+i];
41 for (
int j=0; j<size; j++)
43 v[j*
vdim_+i] = vec(j);
52 "DofTransformation has no local transformation, call "
53 "SetDofTransformation first!");
58 for (
int i=0; i<
vdim_; i++)
66 for (
int i=0; i<
vdim_; i++)
68 for (
int j=0; j<size; j++)
70 vec(j) = v[j*
vdim_+i];
73 for (
int j=0; j<size; j++)
75 v[j*
vdim_+i] = vec(j);
84 "DofTransformation has no local transformation, call "
85 "SetDofTransformation first!");
90 for (
int i=0; i<
vdim_; i++)
98 for (
int i=0; i<
vdim_; i++)
100 for (
int j=0; j<size; j++)
102 vec(j) = v[j*
vdim_+i];
105 for (
int j=0; j<size; j++)
107 v[j*
vdim_+i] = vec(j);
116 "DofTransformation has no local transformation, call "
117 "SetDofTransformation first!");
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);
176const real_t ND_DofTransformation::T_data[24] =
179 -1.0, -1.0, 0.0, 1.0,
180 0.0, 1.0, -1.0, -1.0,
181 1.0, 0.0, -1.0, -1.0,
182 -1.0, -1.0, 1.0, 0.0,
186const DenseTensor ND_DofTransformation
187::T(
const_cast<real_t *
>(ND_DofTransformation::T_data), 2, 2, 6);
190const real_t ND_DofTransformation::TInv_data[24] =
193 -1.0, -1.0, 0.0, 1.0,
194 -1.0, -1.0, 1.0, 0.0,
195 1.0, 0.0, -1.0, -1.0,
196 0.0, 1.0, -1.0, -1.0,
200const DenseTensor ND_DofTransformation
201::TInv(
const_cast<real_t *
>(TInv_data), 2, 2, 6);
210 , nfaces(num_tri_faces)
221 "Face orientation array is shorter than the number of faces in "
222 "ND_DofTransformation");
231 for (
int i=0; i<
nfdofs/2; i++)
247 "Face orientation array is shorter than the number of faces in "
248 "ND_DofTransformation");
257 for (
int i=0; i<
nfdofs/2; i++)
272 "Face orientation array is shorter than the number of faces in "
273 "ND_DofTransformation");
282 for (
int i=0; i<
nfdofs/2; i++)
298 "Face orientation array is shorter than the number of faces in "
299 "ND_DofTransformation");
308 for (
int i=0; i<
nfdofs/2; i++)
int Size() const
Return the logical size of the array.
Data type dense matrix using column-major storage.
void Mult(const real_t *x, real_t *y) const
Matrix vector multiplication.
void MultTranspose(const real_t *x, real_t *y) const
Multiply a vector with the transpose matrix.
void UseExternalData(real_t *d, int h, int w)
Change the data array and the size of the DenseMatrix.
void TransformDual(const DofTransformation *ran_dof_trans, const DofTransformation *dom_dof_trans, DenseMatrix &elmat)
void TransformPrimal(const DofTransformation *ran_dof_trans, const DofTransformation *dom_dof_trans, DenseMatrix &elmat)
std::function< real_t(const Vector &)> f(real_t mass_coeff)
real_t p(const Vector &x, real_t t)