45 for (i = 0; i < fes -> GetNE(); i++)
47 fes -> GetElementVDofs (i, vdofs);
48 eltrans = fes -> GetElementTransformation (i);
49 for (
int k=0; k < dlfi.Size(); k++)
51 dlfi[k]->AssembleRHSElementVect(*fes->
GetFE(i), *eltrans, elemvect);
57 for (i = 0; i < fes -> GetNBE(); i++)
59 fes -> GetBdrElementVDofs (i, vdofs);
60 eltrans = fes -> GetBdrElementTransformation (i);
61 for (
int k=0; k < blfi.Size(); k++)
63 blfi[k]->AssembleRHSElementVect(*fes->
GetBE(i), *eltrans, elemvect);
71 Mesh *mesh = fes -> GetMesh();
72 for (i = 0; i < mesh -> GetNBE(); i++)
74 tr = mesh -> GetBdrFaceTransformations (i);
77 fes -> GetElementVDofs (tr -> Elem1No, vdofs);
78 for (
int k = 0; k < flfi.Size(); k++)
80 flfi[k] -> AssembleRHSElementVect (*fes->
GetFE(tr -> Elem1No),
108 static_cast<Vector&
>(*this) = b;
121 for (k=0; k < dlfi.Size(); k++) {
delete dlfi[k]; }
122 for (k=0; k < blfi.Size(); k++) {
delete blfi[k]; }
123 for (k=0; k < flfi.Size(); k++) {
delete flfi[k]; }
void NewDataAndSize(double *d, int s)
void SetSize(int s)
Resizes the vector if the new size is different.
int Width() const
Get the width (size of input) of the Operator. Synonym with NumCols.
Vector & operator=(const double *v)
const SparseMatrix * GetConformingProlongation()
void AddElementVector(const Array< int > &dofs, const Vector &elemvect)
Add (element) subvector to the vector.
Abstract finite element space.
bool Nonconforming() const
void MultTranspose(const Vector &x, Vector &y) const
Multiply a vector with the transposed matrix. y = At * x.
const FiniteElement * GetFE(int i) const
Returns pointer to the FiniteElement associated with i'th element.
const FiniteElement * GetBE(int i) const
Returns pointer to the FiniteElement for the i'th boundary element.