25 int nel = fes->
GetNE();
30 for (
int i=0; i<nel; ++i)
48 for (
int i=0; i<nel_nbr; ++i)
63 for (
int i=0; i<nel; ++i)
75 int inbr = i - fes->
GetNE();
128 int ndofs = ndof1 + ndof2;
170 for (
int i = 0; i < ndof1; i++)
172 const double wsi = w*
shape1(i);
173 for (
int j = 0; j < ndof1; j++)
181 for (
int i = 0; i < ndof2; i++)
183 const double wsi = w*
shape2(i);
184 for (
int j = 0; j < ndof1; j++)
189 for (
int j = 0; j < ndof2; j++)
199 for (
int i = 0; i < ndof1; i++)
201 for (
int j = 0; j < ndof1; j++)
203 Re(i, j) =
R11(i, j);
217 for (
int i = 0; i < ndof2; i++)
219 for (
int j = 0; j < ndof1; j++)
221 Re(ndof1 + i, j) =
R21(i, j);
224 Re(j, ndof1 + i) =
R12(j, i);
227 for (
int j = 0; j < ndof2; j++)
229 Re(ndof1 + i, ndof1 + j) =
R22(i, j);
int GetNPoints() const
Returns the number of the points in the integration rule.
Abstract class for all finite elements.
Class for an integration rule - an Array of IntegrationPoint.
const IntegrationRule & Get(int GeomType, int Order)
Returns an integration rule for given GeomType and Order.
ParMesh * GetParMesh() const
void SetSize(int s)
Resize the vector to size s.
virtual void AssembleFaceMatrix(const FiniteElement &el1, const FiniteElement &el2, FaceElementTransformations &Trans, DenseMatrix &elmat)
int GetOrder() const
Returns the order of the finite element. In the case of anisotropic orders, returns the maximum order...
Data type dense matrix using column-major storage.
Abstract parallel finite element space.
Array< int > ipiv_offsets
int GetNE() const
Returns number of elements in the mesh.
IntegrationPoint & IntPoint(int i)
Returns a reference to the i-th integration point.
virtual void AssembleElementMatrix(const FiniteElement &el, ElementTransformation &Trans, DenseMatrix &elmat)
const FiniteElement * GetFaceNbrFE(int i) const
void ExchangeFaceNbrData()
DGDiffusionBR2Integrator(class FiniteElementSpace *fes, double e=1.0)
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const =0
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
Array< int > Minv_offsets
void Solve(int m, int n, double *X) const
int GetNFaceNeighborElements() const
ElementTransformation * GetElementTransformation(int i) const
Returns ElementTransformation for the i-th element.
double * Data() const
Returns the matrix data array.
double p(const Vector &x, double t)
Class FiniteElementSpace - responsible for providing FEM view of the mesh, mainly managing the set of...
int GetDof() const
Returns the number of degrees of freedom in the finite element.
void SetSize(int nsize)
Change the logical size of the array, keep existing entries.
int NumBdr(int GeomType)
Return the number of boundary "faces" of a given Geometry::Type.
void GetFaceNbrElementTransformation(int i, IsoparametricTransformation *ElTr)
Class for integration point with weight.
bool Factor(int m, double TOL=0.0)
Compute the LU factorization of the current matrix.
virtual const FiniteElement * GetFE(int i) const
Returns pointer to the FiniteElement in the FiniteElementCollection associated with i'th element in t...
void MultAtB(const DenseMatrix &A, const DenseMatrix &B, DenseMatrix &AtB)
Multiply the transpose of a matrix A with a matrix B: At*B.
void SetSize(int s)
Change the size of the DenseMatrix to s x s.
Class for parallel meshes.
IntegrationRules IntRules(0, Quadrature1D::GaussLegendre)
A global object with all integration rules (defined in intrules.cpp)