32 flfi_marker.Append(NULL);
39 flfi_marker.Append(&bdr_attr_marker);
53 for (i = 0; i < fes -> GetNE(); i++)
55 fes -> GetElementVDofs (i, vdofs);
56 eltrans = fes -> GetElementTransformation (i);
57 for (
int k=0; k < dlfi.Size(); k++)
59 dlfi[k]->AssembleRHSElementVect(*fes->
GetFE(i), *eltrans, elemvect);
65 for (i = 0; i < fes -> GetNBE(); i++)
67 fes -> GetBdrElementVDofs (i, vdofs);
68 eltrans = fes -> GetBdrElementTransformation (i);
69 for (
int k=0; k < blfi.Size(); k++)
71 blfi[k]->AssembleRHSElementVect(*fes->
GetBE(i), *eltrans, elemvect);
85 for (
int k = 0; k < flfi.Size(); k++)
87 if (flfi_marker[k] == NULL)
93 MFEM_ASSERT(bdr_marker.
Size() == bdr_attr_marker.
Size(),
94 "invalid boundary marker for boundary face integrator #"
95 << k <<
", counting from zero");
96 for (
int i = 0; i < bdr_attr_marker.
Size(); i++)
98 bdr_attr_marker[i] |= bdr_marker[i];
102 for (i = 0; i < mesh->
GetNBE(); i++)
105 if (bdr_attr_marker[bdr_attr-1] == 0) {
continue; }
110 fes -> GetElementVDofs (tr -> Elem1No, vdofs);
111 for (
int k = 0; k < flfi.Size(); k++)
113 if (flfi_marker[k] &&
114 (*flfi_marker[k])[bdr_attr-1] == 0) {
continue; }
116 flfi[k] -> AssembleRHSElementVect (*fes->
GetFE(tr -> Elem1No),
134 for (k=0; k < dlfi.Size(); k++) {
delete dlfi[k]; }
135 for (k=0; k < blfi.Size(); k++) {
delete blfi[k]; }
136 for (k=0; k < flfi.Size(); k++) {
delete flfi[k]; }
int Size() const
Logical size of the array.
int GetBdrAttribute(int i) const
Return the attribute of boundary element i.
void NewDataAndSize(double *d, int s)
Set the Vector data and size, deleting the old data, if owned.
int GetNBE() const
Returns number of boundary elements.
Vector & operator=(const double *v)
Mesh * GetMesh() const
Returns the mesh.
T Max() const
Find the maximal element in the array, using the comparison operator < for class T.
FaceElementTransformations * GetBdrFaceTransformations(int BdrElemNo)
void AddElementVector(const Array< int > &dofs, const Vector &elemvect)
Add (element) subvector to the vector.
Array< int > bdr_attributes
A list of all unique boundary attributes used by the Mesh.
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.